Beispiel #1
0
        public ItemId[] GetItems()
        {
            ArrayList items = new ArrayList();
            IntPtr    itemP = p;

            while (!ItemIdList.IsTerminator(itemP))
            {
                ItemId item = ItemId.Create(itemP);
                items.Add(item);
                itemP = (IntPtr)((int)itemP + ItemId.HeaderSize + item.DataLength);
            }

            return((ItemId[])items.ToArray(typeof(ItemId)));
        }
 object ICustomMarshaler.MarshalNativeToManaged(IntPtr pNativeData)
 {
     return(ItemIdList.Create(pNativeData));
 }
Beispiel #3
0
 internal static extern int SHGetIDListFromObject(IntPtr iUnknown, [Out, MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ItemIdListMarshaler))] out ItemIdList pidl);