public static IMalloc GetMalloc() { IntPtr ptrRet; ShellApi.SHGetMalloc(out ptrRet); Object obj = Marshal.GetTypedObjectForIUnknown(ptrRet, GetMallocType()); IMalloc imalloc = (IMalloc)obj; return(imalloc); }
private static ShellApi.IMalloc GetSHMalloc() { ShellApi.IMalloc[] ppMalloc = new ShellApi.IMalloc[1]; ShellApi.SHGetMalloc(ppMalloc); return(ppMalloc[0]); }