CoGetInterfaceAndReleaseStream 関数 (combaseapi.h)
インターフェイス ポインターを含むバッファーのマーシャリングを解除し、インターフェイス ポインターが別のスレッドから呼び出し元のスレッドにマーシャリングされたときにストリームを解放します。
構文
HRESULT CoGetInterfaceAndReleaseStream(
[in] LPSTREAM pStm,
[in] REFIID iid,
[out] LPVOID *ppv
);
パラメーター
[in] pStm
マーシャリング解除するストリーム上の IStream インターフェイスへのポインター。
[in] iid
マーシャリングされていない オブジェクトから要求されたインターフェイスの識別子への参照。
[out] ppv
riid で要求されたインターフェイス ポインターを受け取るポインター変数のアドレス。 正常に戻ると、*ppv には、マーシャリングされていないインターフェイスへの要求されたインターフェイス ポインターが含まれます。
戻り値
この関数は、S_OKおよびE_INVALIDARG標準の戻り値と、 CoUnmarshalInterface によって返される値を返すことができます。
解説
重要
セキュリティに関する注意: 信頼されていないデータを使用してこのメソッドを呼び出すと、セキュリティ上のリスクがあります。 このメソッドは信頼されたデータでのみ呼び出してください。
- CoUnmarshalInterface を呼び出して、以前に CoMarshalInterThreadInterfaceInStream の呼び出しで渡されたインターフェイス ポインターのマーシャリングを解除します。
- ストリーム ポインターを解放します。 マーシャリングが失敗した場合でも、この種の障害から回復する効果的な方法がないため、ストリームはまだ解放されます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |