Marshal::QueryInterface Method (IntPtr, Guid%, IntPtr%)
Requests a pointer to a specified interface from a COM object.
Assembly: mscorlib (in mscorlib.dll)
public: [SecurityCriticalAttribute] static int QueryInterface( IntPtr pUnk, Guid% iid, [OutAttribute] IntPtr% ppv )
The interface to be queried.
The interface identifier (IID) of the requested interface.
When this method returns, contains a reference to the returned interface.
Return ValueType: System::Int32
An HRESULT that indicates the success or failure of the call.
The IUnknown::QueryInterface method of a COM object, which attempts to obtain a specific interface pointer. Using QueryInterface on a COM object is the same as performing a cast operation in managed code. Calling an object with this method causes the reference count to increment on the interface pointer before the pointer is returned. Always use Marshal::Release to decrement the reference count once you have finished with the pointer. To obtain an IntPtr value that represents a IUnknown interface pointer, you can call Marshal::GetComInterfaceForObject, Marshal::GetIUnknownForObject, or Marshal::GetIDispatchForObject.method exposes the
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Available since 8
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Available since 8.1