ICallFrame::ReleaseMarshalData メソッド (callobj.h)
マーシャリングされたデータのパケットに存在するインターフェイス ポインターによって保持されているリソースを解放します。 このメソッドは、パケット内のすべてのインターフェイス ポインターを検索し、それぞれに 対して CoReleaseMarshalData 関数を呼び出します。
構文
HRESULT ReleaseMarshalData(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] ULONG ibFirstRelease,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext
);
パラメーター
[in] pBuffer
マーシャリングされた [out] 値を含むバッファーへのポインター。
[in] cbBuffer
バッファーのサイズ (バイト単位)。
[in] ibFirstRelease
解放されるバッファー内の最初のバイト。 値 0 は、バッファー全体のインターフェイス ポインターが解放されることを意味します。 マーシャリングされたインターフェイス ポインターは、他のメカニズムによって解放されたものと見なされます。
[in] dataRep
データがマーシャリングされたデータ表現。
[in] pcontext
マーシャリング解除の実行方法に関するコンテキスト情報を含む CALLFRAME_MARSHALCONTEXT 構造体へのポインター。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
予期しないエラーが発生しました。 |
注釈
マーシャリングされたバッファーに保持されているリソースをクリーンするには、ReleaseMarshalData メソッドを 1 回だけ呼び出す必要があります。 ただし、 MSHLFLAGS 列挙が MSHLFLAGS_NORMAL に設定されている場合、これはマーシャリング解除中に自動的に行われるので、明示的に実行する必要はありません。
このメソッドは、マーシャリングされた [in] パラメーターと [out] パラメーターの両方で正しく機能します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | callobj.h |