Marshal.QueryInterface(IntPtr, Guid, IntPtr) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 COM 对象请求指向指定接口的指针。
public:
static int QueryInterface(IntPtr pUnk, Guid % iid, [Runtime::InteropServices::Out] IntPtr % ppv);
[System.Security.SecurityCritical]
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface (IntPtr pUnk, in Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member QueryInterface : nativeint * Guid * nativeint -> int
static member QueryInterface : nativeint * Guid * nativeint -> int
Public Shared Function QueryInterface (pUnk As IntPtr, ByRef iid As Guid, ByRef ppv As IntPtr) As Integer
参数
- pUnk
-
IntPtr
nativeint
要查询的接口。
- iid
- Guid
所请求的接口的接口标识符 (IID)。
- ppv
-
IntPtr
nativeint
此方法返回时,包含对返回接口的引用。
返回
一个 HRESULT,指示调用成功还是失败。
- 属性
注解
方法 QueryInterface 公开 COM 对象的 IUnknown::QueryInterface 方法,该方法尝试获取特定的接口指针。 对 COM 对象使用 QueryInterface
与在托管代码中执行强制转换操作相同。 使用此方法调用 对象会导致在返回指针之前,接口指针上的引用计数递增。 使用完指针后,始终使用 Marshal.Release 递减引用计数。 若要获取表示 IntPtrIUnknown 接口指针的值,可以调用 Marshal.GetComInterfaceForObject、 Marshal.GetIUnknownForObject或 Marshal.GetIDispatchForObject。