Marshal.GetIDispatchForObject(Object) Метод

Определение

Возвращает интерфейс IDispatch из управляемого объекта.

public:
 static IntPtr GetIDispatchForObject(System::Object ^ o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetIDispatchForObject(object o);
public static IntPtr GetIDispatchForObject(object o);
[System.Security.SecurityCritical]
public static IntPtr GetIDispatchForObject(object o);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetIDispatchForObject : obj -> nativeint
static member GetIDispatchForObject : obj -> nativeint
[<System.Security.SecurityCritical>]
static member GetIDispatchForObject : obj -> nativeint
Public Shared Function GetIDispatchForObject (o As Object) As IntPtr

Параметры

o
Object

Объект, интерфейс которого IDispatch запрашивается.

Возвращаемое значение

IntPtr

nativeint

Указатель IDispatch для o параметра.

Атрибуты

Исключения

o не поддерживает запрошенный интерфейс.

Комментарии

В управляемом коде вы редко работаете непосредственно с интерфейсом IDispatch . GetIDispatchForObject Однако при вызове метода, предоставляющего параметр COM-объекта в качестве IntPtr типа, или с пользовательским маршалингом. Вызов объекта с этим методом приводит к добавочному числу ссылок на указатель интерфейса перед возвратом указателя. Всегда используется Marshal.Release для уменьшения количества ссылок после завершения работы с указателем.

Этот метод также можно использовать в управляемом объекте для получения указателя интерфейса на вызываемую оболочку COM для объекта. Дополнительные сведения см. в статье com Callable Wrapper.

Применяется к

См. также раздел