ICallFrame::Unmarshal メソッド (callobj.h)
この既存のアクティブ化レコードへの呼び出しの以前にマーシャリングされた [out] パラメーターを含むデータのパケットをアンマーシャリングします。
構文
HRESULT Unmarshal(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext,
[out] ULONG *pcbUnmarshalled
);
パラメーター
[in] pBuffer
マーシャリングされた [out] 値を含むバッファーへのポインター。
[in] cbBuffer
バッファーのサイズ (バイト単位)。
[in] dataRep
データがマーシャリングされた NDR データ表現。 詳細については、「 IRpcChannelBuffer::GetBuffer」を参照してください。
[in] pcontext
アンマースホールの実行方法に関するコンテキスト情報を含む CALLFRAME_MARSHALCONTEXT 構造体へのポインター。
[out] pcbUnmarshalled
正常にアンマーシャリングされたバイト数を受け取ります。 このパラメーターは、エラーが発生した場合でも返されます。 このパラメーターは省略できます。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
予期しないエラーが発生しました。 |
注釈
アンマーシャルすると、[in] バージョンの [in, out] パラメーターが解放され、インターフェイス ポインターが解放され、[out] バージョンに置き換えられます。 すべての [in,out] および [out] パラメーターは、常に適切な [in]、[in、out] 値、[out] 値が、返されたデータから正常にアンマーシャリングされるか、 または NULL に明示的に初期化された値に設定されます。 エラーが返された場合、呼び出し元は通常、NULL ではない値をクリーンするために ICallFrame::Free を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | callobj.h |