Здравствуйте Lexey, Вы писали:
L>Как сделать out я так и не понял.
Например, так:
[
ComImport,
Guid("0002E011-0000-0000-C000-000000000046"),
InterfaceType(ComInterfaceType::InterfaceIsIUnknown)
]
public __gc __interface IEnumCATEGORYINFO
{
[PreserveSig]
int Next([In] UInt32 celt,
[Out, MarshalAs(UnmanagedType::LPArray, SizeParamIndex=0)]
CATEGORYINFO rgelt __gc[],
[Out] UInt32* pceltFetched);
[PreserveSig]
int Skip([In] UInt32 celt);
[PreserveSig]
int Reset();
[PreserveSig]
int Clone([Out, MarshalAs(UnmanagedType::Interface)] IEnumCATEGORYINFO** ppenum);
};