Поделиться через


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.

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

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