CredReadDomainCredentialsA 関数 (wincred.h)
CredReadDomainCredentials 関数は、ユーザーの資格情報セットからドメイン資格情報を読み取ります。 使用される資格情報セットは、現在のトークンのログオン セッションに関連付けられている資格情報セットです。 トークンは、ユーザーの SID を無効にしてはなりません。
構文
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
パラメーター
[in] TargetInfo
ターゲット サーバーを識別するターゲット情報。 名前付けメンバーの少なくとも 1 つは、NULL(NetbiosServerName、DnsServerName、NetbiosDomainName、DnsDomainName、または DnsTreeName)
[in] Flags
関数の操作を制御するフラグ。
次のフラグが定義されています。
CRED_CACHE_TARGET_INFORMATION
CredGetTargetInfoを使用して、後続の読み取りのために TargetInfo をキャッシュします。
[out] Count
Credentials 配列で返された資格情報の数。
[out] Credential
資格情報へのポインターの配列へのポインター。 TargetInfo に一致する最も具体的な既存の資格情報が返されます。 さまざまな種類の資格情報 (CRED_TYPE_DOMAIN_PASSWORD資格情報やCRED_TYPE_DOMAIN_CERTIFICATE資格情報など) が存在する場合は、各種類のいずれかが返されます。 名前付きターゲットに接続する場合は、この最も具体的な資格情報が使用されます。
TargetInfoで指定された資格情報の種類のみ。CredTypes 配列が返されます。 返された Credentials 配列は、TargetInfoと同じ順序で並べ替えられます。CredTypes 配列。 つまり、認証パッケージでは、
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
返されるバッファーは、1 つの割り当てられたブロックです。 バッファー内に含まれるポインターは、この 1 つの割り当てられたブロック内の場所へのポインターです。 CredFree
戻り値
この関数は、成功した場合
- ERROR_INVALID_PARAMETER
どの名前付けパラメーターも指定されませんでした。
- ERROR_NOT_FOUND
指定した名前付けパラメーターに一致する資格情報はありません。
- ERROR_NO_SUCH_LOGON_SESSION
ログオン セッションが存在しないか、このログオン セッションに関連付けられている資格情報セットがありません。 ネットワーク ログオン セッションには、関連付けられた資格情報セットがありません。
- ERROR_INVALID_FLAGS
Flags パラメーターに無効なフラグが指定されました。
備考
この関数は、名前付けパラメーターに一致する最も具体的な資格情報を返します。 たとえば、ターゲット サーバー名と一致する資格情報とターゲット ドメイン名と一致する資格情報がある場合は、サーバー固有の資格情報のみが返されます。 これは、使用される資格情報です。
次の一覧では、複数の資格情報が一致する場合に返される資格情報の順序 (最も具体的なものから最も具体的なものまで) を指定します。
- 資格情報のターゲット名は DfsRoot
\ DfsShare 形式で、 TargetName と完全に一致します。 - DnsServerNameでの完全一致。
- NetBIOSServerNameでの完全一致。
- TargetNameでの完全一致。
- ワイルドカード サーバー資格情報に
DnsServerName の一致。 複数のワイルドカード サーバー資格情報が一致する場合は、TargetName が長い資格情報が使用されます。 つまり、*.example.microsoft.com の資格情報は、*.microsoft.com の資格情報の代わりに使用されます。 DnsDomainName と、DnsDomainName\* 形式のワイルドカード ドメイン資格情報 完全に一致します。 - NetBIOSDomainName と NetBIOSDomainName <形式のワイルドカード ドメイン資格情報の完全一致>\*
- CRED_SESSION_WILDCARD_NAMEという名前の資格情報。
- "*" という名前の資格情報。
Credentials パラメーターで指定された CREDENTIAL 構造体の Type メンバーの値が CRED_TYPE_DOMAIN_EXTENDED場合は、ターゲット名に名前空間を指定する必要があります。 この関数は、指定した型の資格情報を 1 つだけ返すことができます。
この関数は、この型の複数の資格情報を返すことができますが、CRED_TYPE_DOMAIN_EXTENDEDTargetInfo パラメーターで指定された CREDENTIAL_TARGET_INFORMATION 構造体の CredTypes メンバー内の他の型と混在させることはできません。
手記
wincred.h ヘッダーは、CredReadDomainCredentials を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | wincred.h |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |