代码之家  ›  专栏  ›  技术社区  ›  markhor

.NET Compact COM互操作性

  •  0
  • markhor  · 技术社区  · 16 年前

    在完整的.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 Compact框架?

    注意,它没有marshal.getDelegateForFunctionPointer。

    1 回复  |  直到 16 年前
        1
  •  1
  •   ctacke    16 年前

    无论出于什么原因(绝对愚蠢),cf都不包括marshal.getDelegateForFunctionPointer。多年来我一直在向球队要球。根本无法获取函数指针并在cf中调用它。