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