Example #1
0
            /// <summary>
            ///     Default constructor for creating InteropRecipientCollection.
            /// </summary>
            /// <param name="outer"></param>
            public InteropRecipientCollection(RecipientCollection outer)
            {
                _count = outer.Count;

                if (_count == 0)
                {
                    _handle = IntPtr.Zero;
                    return;
                }

                // allocate enough memory to hold all recipients
                int size = Marshal.SizeOf(typeof(MAPIHelperInterop.MapiRecipDesc));

                _handle = Marshal.AllocHGlobal(_count * size);

                // place all interop recipients into the memory just allocated
                var ptr = (int)_handle;

                foreach (Recipient native in outer)
                {
                    MAPIHelperInterop.MapiRecipDesc interop = native.GetInteropRepresentation();

                    // stick it in the memory block
                    Marshal.StructureToPtr(interop, (IntPtr)ptr, false);
                    ptr += size;
                }
            }
Example #2
0
 public MapiMailMessage()
 {
     Files             = new ArrayList();
     Recipients        = new RecipientCollection();
     _manualResetEvent = new ManualResetEvent(false);
 }