次の方法で共有


IUrlAccessor3::GetImpersonationSidBlobs メソッド (searchapi.h)

指定した URL のユーザー セキュリティ識別子 (SID) の配列を取得します。 このメソッドを使用すると、プロトコル ハンドラーは、ファイルにアクセスできるユーザーと、ファイルのインデックスを作成するためにユーザーを偽装する検索プロトコル ホストを指定できます。

構文

HRESULT GetImpersonationSidBlobs(
  [in]  LPCWSTR pcwszURL,
  [out] DWORD   *pcSidCount,
  [out] BLOB    **ppSidBlobs
);

パラメーター

[in] pcwszURL

種類: LPCWSTR

偽装されたユーザーの代わりにアクセスする URL。

[out] pcSidCount

種類: DWORD*

ppSidBlobs で返されるユーザー SID の数へのポインターを受け取ります。

[out] ppSidBlobs

種類: BLOB**

候補の偽装ユーザー SID の配列へのポインターのアドレスを受け取ります。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

ファイルが暗号化されている場合、このメソッドは暗号化解除とアクセスの両方が可能なユーザーを識別します。 メソッドがこの情報を識別できない場合は、エラー コード E_ACCESSDENIEDで失敗します。

このメソッドは、 IUrlAccessor2 オブジェクトが初期化に失敗し、コード PRTH_S_TRY_IMPERSONATINGを返したことを前提としています。 次に、検索プロトコル ホストはこのメソッドを呼び出して、偽装に使用する SID の一覧を取得し、 IUrlAccessor2 の使用に戻り、アイテムを開くときに許可されているユーザーの 1 人を偽装します。

ユーザーを偽装しても、呼び出し元の特権は昇格されません。 呼び出し元がリソースにアクセスする権限を持つユーザーの一覧を直接取得できない場合、呼び出し元もこのメソッドを使用してこれを行うことはできません。 現在ログオンしているユーザーを偽装するための適切な特権を持つのは、検索プロトコル ホストとインデクサーだけです。

要件

   
サポートされている最小のクライアント Windows XP と SP2、Windows Vista と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー searchapi.h
再頒布可能パッケージ Windows Search (WS) 4.0

関連項目

IUrlAccessor3

IUrlAccessor4

プロトコル ハンドラーの検索エラー メッセージ