CredReadDomainCredentialsA 함수(wincred.h)
CredReadDomainCredentials 함수는 사용자의 자격 증명 집합에서 도메인 자격 증명을 읽습니다. 사용되는 자격 증명 집합은 현재 토큰의 로그온 세션과 연결된 자격 증명 집합입니다. 토큰에 사용자의 SID를 사용하지 않도록 설정해서는 안됩니다.
통사론
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
매개 변수
[in] TargetInfo
대상 서버를 식별하는 대상 정보입니다. 이름 지정 멤버 중 하나 이상이 NULL
[in] Flags
함수의 작업을 제어하는 플래그입니다.
다음 플래그가 정의됩니다.
CRED_CACHE_TARGET_INFORMATION
CredGetTargetInfo사용하여 후속 읽기를 위해 TargetInfo를 캐시합니다.
[out] Count
자격 증명 배열에서 반환된 자격 증명의 수입니다.
[out] Credential
자격 증명에 대한 포인터 배열에 대한 포인터입니다. TargetInfo 일치하는 가장 구체적인 기존 자격 증명이 반환됩니다. 다양한 형식의 자격 증명(예: CRED_TYPE_DOMAIN_PASSWORD 및 CRED_TYPE_DOMAIN_CERTIFICATE 자격 증명)이 있는 경우 각 형식 중 하나가 반환됩니다. 명명된 대상에 연결해야 하는 경우 이 가장 구체적인 자격 증명이 사용됩니다.
TargetInfo에서 지정한 자격 증명 형식만. CredTypes 배열이 반환됩니다. 반환된 자격 증명 배열은 TargetInfo순서대로 정렬됩니다. CredTypes 배열입니다. 즉, 인증 패키지는 TargetInfo앞에서 지정하여 기본 자격 증명 형식을 지정합니다. CredTypes 배열입니다. TargetInfo를 경우. CredTypeCount는 0이고 자격 증명 배열은 다음과 같이 정렬된 순서로 반환됩니다.
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
반환된 버퍼는 할당된 단일 블록입니다. 버퍼 내에 포함된 모든 포인터는 이 단일 할당된 블록 내의 위치에 대한 포인터입니다. 반환된 단일 버퍼는 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경우 대상 이름에 네임스페이스를 지정해야 합니다. 이 함수는 지정된 형식의 자격 증명을 하나만 반환할 수 있습니다.
이 함수는 이 형식의 여러 자격 증명을 반환할 수 있지만 CRED_TYPE_DOMAIN_EXTENDEDTargetInfo 매개 변수로 지정된 CREDENTIAL_TARGET_INFORMATION 구조체의 CredTypes 멤버의 다른 형식과 혼합할 수 없습니다.
메모
wincred.h 헤더는 CRedReadDomainCredentials를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincred.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |