.NET Compact COM совместимость - PullRequest
0 голосов
/ 15 марта 2010

У меня есть следующий код в полном решении .NET Framework:


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 Framework?

Обратите внимание, что у него нет Marshal.GetDelegateForFunctionPointer.

1 Ответ

1 голос
/ 15 марта 2010

По любой (абсолютно глупой) причине CF не включает Marshal.GetDelegateForFunctionPointer. Я просил команду об этом в течение многих лет. Просто нет способа взять указатель на функцию и вызвать его в CF.

...