次の方法で共有


ICallFrame::GetMarshalSizeMax メソッド (callobj.h)

呼び出しフレームのマーシャリングに必要なバイト数の上限を取得します。

通常、インターフェイス プロキシはこのメソッドを呼び出して、バッファーが必要な大きなサイズを学習し、バッファーを割り当て、 Marshal メソッドを呼び出してマーシャリングを実行します。

構文

HRESULT GetMarshalSizeMax(
  [in]  CALLFRAME_MARSHALCONTEXT *pmshlContext,
  [in]  MSHLFLAGS                mshlflags,
  [out] ULONG                    *pcbBufferNeeded
);

パラメーター

[in] pmshlContext

マーシャリングの実行方法に関するコンテキスト情報を含む CALLFRAME_MARSHALCONTEXT 構造体へのポインター。

[in] mshlflags

マーシャリングするデータをクライアント プロセス (通常のケース) に転送するか、グローバル テーブルに書き込むかを示します。このテーブルは、複数のクライアントから取得できます。 値の一覧については、 MSHLFLAGS 列挙を参照してください。

[out] pcbBufferNeeded

呼び出しフレームをマーシャリングするために必要なバッファーのサイズ (バイト単位) へのポインター。

戻り値

このメソッドは、次の値を返すことができます。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
E_UNEXPECTED
予期しないエラーが発生しました。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー callobj.h

こちらもご覧ください

ICallFrame