.NET Compact COM互操作性

时间:2010-03-15 09:04:11

标签: c# .net com compact-framework

我在完整的.NET框架解决方案中有以下代码:


public delegate int CreateObjectDelegate(
            [In] ref Guid classID,
            [In] ref Guid interfaceID,
            [MarshalAs(UnmanagedType.Interface)] out object outObject);

...

var createObject = (NativeMethods.CreateObjectDelegate)
    Marshal.GetDelegateForFunctionPointer(
        NativeMethods.GetProcAddress(_modulePtr, "CreateObject"),
            typeof (NativeMethods.CreateObjectDelegate));
object result;
Guid interfaceId = _guid;
Guid classID = _classId;
createObject(ref classID, ref interfaceId, out result);

目的是在运行时创建所需的COM对象。是否可以使用任何.NET压缩框架?

请注意,它没有Marshal.GetDelegateForFunctionPointer。

1 个答案:

答案 0 :(得分:1)

对于任何(绝对愚蠢的)原因,CF不包括Marshal.GetDelegateForFunctionPointer。多年来我一直在问团队。根本无法获取函数指针并在CF中调用它。