How do I write DllGetClassObject as a C# delegate?

允我心安 提交于 2019-12-24 09:58:16

问题


There is a dll method exported written in delphi: DllGetClassObject: function(const CLSID, IID: TGUID; var Obj): HResult; stdcall;

I need to write equivalent method in c# as a delegate. How should it looks like?


回答1:


Like this:

[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate uint DllGetClassObjectDelegate(
    [MarshalAs(UnmanagedType.LPStruct)]
    Guid rclsid,
    [MarshalAs(UnmanagedType.LPStruct)]
    Guid riid,
    [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
    out object ppv
);

Source: http://blog.kutulu.org/2012/01/com-interop-part-9-custom-activations.html?m=1



来源:https://stackoverflow.com/questions/13223629/how-do-i-write-dllgetclassobject-as-a-c-sharp-delegate

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!