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
.
Возвращаемое значение
nativeint
Указатель IDispatch
для параметра o
.
- Атрибуты
Исключения
Параметр o
не поддерживает запрошенный интерфейс.
Комментарии
В управляемом коде вы редко работаете напрямую с интерфейсом IDispatch
. Однако это полезно при вызове метода, GetIDispatchForObject который предоставляет параметр COM-объекта в качестве IntPtr типа или с пользовательским маршалингом. Вызов объекта с помощью этого метода приводит к тому, что количество ссылок увеличивается в указателе интерфейса перед возвратом указателя. Всегда используйте для Marshal.Release уменьшения количества ссылок после завершения работы с указателем.
Этот метод также можно использовать в управляемом объекте, чтобы получить указатель интерфейса на вызываемую оболочку COM для объекта . Дополнительные сведения см. в разделе Вызываемая оболочка COM.