IClientSecurity::CopyProxy メソッド (objidl.h)
指定したインターフェイスのプロキシのプライベート コピーを作成します。
構文
HRESULT CopyProxy(
[in] IUnknown *pProxy,
[out] IUnknown **ppCopy
);
パラメーター
[in] pProxy
プロキシをコピーするインターフェイスへのポインター。 このパラメーターを NULL にすることはできません。
[out] ppCopy
プロキシのコピーを受け取る IUnknown インターフェイス ポインターへのポインター。 このパラメーターを NULL にすることはできません。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
1 つ以上の引数が無効です。 |
注釈
CopyProxy は、指定されたインターフェイスのプロキシのプライベート コピーを作成するために、クライアントによって呼び出されます。 プロキシ コピーには、認証情報の既定値があります。 その認証情報は、元のプロキシの他のクライアントに影響を与えることなく 、IClientSecurity::SetBlanket の呼び出しによって変更できます。 コピーには 1 つの参照があり、 CopyProxy の呼び出し元はプロキシ コピーが解放されていることを確認する必要があります。
IUnknown や IClientSecurity などのローカル インターフェイスはコピーできません。 CopyProxy を使用してプロキシ マネージャーを複製することはできません。
同じプロキシのコピーには、 QueryInterface に関して特別な関係があります。 リモート オブジェクトの IA インターフェイスのプロキシ a を指定すると、b と呼ばれる のコピーが作成されるとします。 この場合、IID_IAの b プロキシから QueryInterface を 呼び出すと、b の IA インターフェイスは取得されず、元のプロキシ上のインターフェイスは取得されません。
だれでも SetBlanket を使用してプロキシのクエリを実行し、セキュリティを変更できることに注意してください。 ただし、プロキシのコピーを作成した場合、そのコピーを渡さない限り、誰もそのコピーを取得できません。 コピーを持っているユーザーのみがセキュリティを設定できます。
ヘルパー関数 CoCopyProxy は、IClientSecurity へのポインターの QueryInterface 呼び出し、IClientSecurity ポインターを使用した CopyProxy の呼び出し、および IClientSecurity ポインターのリリースをカプセル化します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h (ObjIdl.h を含む) |