Esempio n. 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
                var size = Marshal.SizeOf(typeof(MapiMailMessage.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)
                {
                    var interop = native.GetInteropRepresentation();

                    // stick it in the memory block
                    Marshal.StructureToPtr(interop, (IntPtr)ptr, false);
                    ptr += size;
                }
            }
Esempio n. 2
0
 /// <summary>
 ///     Creates a blank mail message.
 /// </summary>
 public MapiMailMessage()
 {
     Files             = new ArrayList();
     Recipients        = new RecipientCollection();
     _manualResetEvent = new ManualResetEvent(false);
 }