CoGetStdMarshalEx 関数 (combaseapi.h)
軽量のクライアント側ハンドラーで使用する集約された標準マーシャラーを作成します。
構文
HRESULT CoGetStdMarshalEx(
[in] LPUNKNOWN pUnkOuter,
[in] DWORD smexflags,
[out] LPUNKNOWN *ppUnkInner
);
パラメーター
[in] pUnkOuter
制御する IUnknown へのポインター。
[in] smexflags
集約された標準マーシャラーがクライアント側かサーバー側かを示す 2 つの値のいずれか。 これらのフラグは STDMSHLFLAGS 列挙で定義されます。
値 | 意味 |
---|---|
|
サーバー側の集約された標準マーシャラーを示します。 |
|
クライアント側 (ハンドラー) 集計された標準マーシャラーを示します。 |
[out] ppUnkInner
正常に戻ったら、新しく作成された集約された標準マーシャラーの IUnknown インターフェイスへのポインターのアドレス。 エラーが発生した場合、この値は NULL です。
戻り値
この関数は、S_OKを返します。
解説
サーバーは、フラグ SMEXF_SERVERを渡して CoGetStdMarshalEx を呼び出します。 これにより、サーバー側の標準マーシャラー (スタブ マネージャーと呼ばれます) が作成されます。 ハンドラーは、フラグ SMEXF_HANDLERを渡して CoGetStdMarshalEx を呼び出します。 これにより、クライアント側の標準マーシャラー (プロキシ マネージャーと呼ばれます) が作成されます。 この関数を呼び出すとき、ハンドラーは、ハンドラーの作成時にハンドラーに渡された元の制御不明を渡す必要があることに注意してください。 これは、不明な制御を実装したシステムになります。 正しい IUnknown を渡さなかった場合、エラーが返されます。 成功した場合、返される ppUnkInner は内部オブジェクトの制御不明です。 サーバーとハンドラーは、このポインターを保持する必要があり、それを使用して IMarshal インターフェイスの IUnknown::QueryInterface を呼び出す場合があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |