次の方法で共有


IAzApplication::InitializeClientContextFromName メソッド (azroles.h)

InitializeClientContextFromName メソッドは、クライアント ID から IAzClientContext オブジェクト ポインターを (ドメイン名、クライアント名) ペアとして取得します。

メモ 可能であれば、 InitializeClientContextFromName の代わりに InitializeClientContextFromToken 関数を呼び出します。 詳細については、「解説」を参照してください。

 

構文

HRESULT InitializeClientContextFromName(
  [in]           BSTR             ClientName,
  [in, optional] BSTR             DomainName,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

パラメーター

[in] ClientName

セキュリティ プリンシパルの名前。

[in, optional] DomainName

ユーザー アカウントが存在するドメイン名。 既定値は NULL です。

[in, optional] varReserved

将来利用するために予約されています。 このパラメーターには、次のいずれかの値を指定できます。

  • varReserved.vt == VT_ERROR と varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 および varReserved.lVal == 0
  • varReserved.vt == VT_I2 および varReserved.iVal == 0

[out] ppClientContext

返された IAzClientContext オブジェクトへのポインターへのポインター。

戻り値

関数が成功した場合、関数はS_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

注釈

可能であれば、 InitializeClientContextFromName の代わりに InitializeClientContextFromToken 関数を呼び出します。 InitializeClientContextFromName は、クライアントが実際にログオンしていたログオン トークンで使用可能な情報を取得しようとします。 実際のログオン トークンは、ログオンの種類やログオンプロパティなどの詳細情報を提供し、ログオンに使用される認証パッケージの動作を反映します。 InitializeClientContextFromToken によって作成されたクライアント コンテキストはログオン トークンを使用し、結果のクライアント コンテキストは InitializeClientContextFromName によって作成されたクライアント コンテキストよりも完全で正確です。

DomainName パラメーターと ClientName パラメーターは、SidTypeUser を表すために組み合わせる必要があります。

サポートされている名前の形式は、 LookupAccountName 関数でサポートされているものと同じです。

大事な アプリケーションでは、呼び出し元のコンテキストにこの関数を使用するアクセス許可があると想定しないでください。 AuthzInitializeContextFromSid 関数は、呼び出しで指定された SID の tokenGroupsGlobalAndUniversal 属性を読み取って、現在のユーザーのグループ メンバーシップを決定します。 ユーザーのオブジェクトが Active Directory にある場合、呼び出し元のコンテキストには、ユーザー オブジェクトの tokenGroupsGlobalAndUniversal 属性への読み取りアクセス権が必要です。 tokenGroupsGlobalAndUniversal 属性への読み取りアクセスは 、Windows 2000 互換アクセス 前グループに付与されますが、既定のセットアップの選択は Windows 2000および Windows Server 2003 と互換性があるため、新しいドメインには空の Pre-Windows 2000 互換アクセス グループが既定で含まれています。 したがって、アプリケーションは tokenGroupsGlobalAndUniversal 属性にアクセスできない可能性があります。この場合、 AuthzInitializeContextFromSid 関数は ACCESS_DENIED で失敗します。 この関数を使用するアプリケーションでは、このエラーを正しく処理し、サポート ドキュメントを提供する必要があります。 ユーザーのグループ情報に対してクエリを実行するアクセス許可をアカウントに付与することを簡単にするには、Windows 認証アクセス グループにグループ情報を検索する機能を必要とするアカウントを追加します。
 
この関数を呼び出すアプリケーションでは、完全修飾ドメイン名または ユーザー プリンシパル名 (UPN) を使用する必要があります。 それ以外の場合、NetBIOS ドメイン名が使用され、2 つのドメインに直接の信頼関係がない場合、このメソッドはフォレスト間で失敗する可能性があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー azroles.h
Library Azroles.lib
[DLL] Azroles.dll
再頒布可能パッケージ Windows XP の Windows Server 2003 管理ツール パック

こちらもご覧ください

匿名アクセスの許可

IAzApplication