CredWriteDomainCredentialsA 함수(wincred.h)
CredWriteDomainCredentials 함수는 사용자의 자격 증명 집합에 도메인 자격 증명을 씁니다. 사용되는 자격 증명 집합은 현재 토큰의 로그온 세션과 연결된 자격 증명 집합입니다. 토큰에 사용자의 SID를 사용하지 않도록 설정해서는 안 됩니다.
구문
BOOL CredWriteDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
매개 변수
[in] TargetInfo
대상 서버를 식별합니다. 명명 멤버 중 하나 이상이 NULL 이 아니어야 하며 NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName 또는 DnsTreeName일 수 있습니다.
[in] Credential
쓸 자격 증명입니다.
자격 증명은 TargetInfo for instance 일치하는 자격 증명이어야 합니다. TargetName이 와일드카드 DNS 이름인 경우 자격 증명의 TargetName 멤버는 TargetInfo의 DnsServerName 멤버의 후위여야 합니다.
[in] Flags
API의 작업을 제어하는 플래그입니다. 다음 플래그가 정의됩니다.
값 | 의미 |
---|---|
|
자격 증명 BLOB은 동일한 자격 증명 이름 및 자격 증명 형식의 기존 자격 증명에서 유지되어야 합니다. 자격 증명 구조에 전달된 의 CredentialBlobSize는 0이어야 합니다. |
반환 값
함수가 성공하면 함수는 TRUE를 반환 합니다.
함수가 실패하면 FALSE를 반환합니다. GetLastError 함수를 호출하여 보다 구체적인 상태 코드를 가져옵니다. 다음 상태 코드를 반환할 수 있습니다.
다른 스마트 카드 오류는 CRED_TYPE_CERTIFICATE 자격 증명을 작성할 때 반환될 수 있습니다.
반환 코드 | 설명 |
---|---|
|
하나 이상의 매개 변수가 잘못되었습니다. 명명 매개 변수가 지정되지 않았거나 지정된 자격 증명에 Type 멤버가 CRED_TYPE_DOMAIN_PASSWORD 또는 CRED_TYPE_DOMAIN_CERTIFICATE 설정되지 않았거나 자격 증명이TargetInfo와 일치하지 않습니다. |
|
로그온 세션이 없거나 이 로그온 세션과 연결된 자격 증명 집합이 없습니다. 네트워크 로그온 세션에는 연결된 자격 증명 집합이 없습니다. |
|
잘못된 값이 Flags 매개 변수에 지정되었습니다. |
|
자격 증명 구조에 전달된 의 UserName 멤버가 잘못되었습니다. 유효한 구문에 대한 설명은 해당 멤버의 정의를 참조하세요. |
|
CRED_PRESERVE_CREDENTIAL_BLOB 지정되었으며 동일한 TargetName 및 Type에 의한 기존 자격 증명이 없습니다. |
|
작성 중인 CRED_TYPE_CERTIFICATE 자격 증명을 사용하려면 스마트 카드 판독기를 사용할 수 있어야 합니다. |
|
작성 중인 자격 증명을 사용하려면 스마트 카드 삽입해야 합니다. |
|
기록 중인 CRED_TYPE_CERTIFICATE 자격 증명에 대해 잘못된 PIN이 제공되었습니다. |
설명
이 함수가 CRED_TYPE_CERTIFICATE 자격 증명을 작성하면 Credential-CredentialBlob 멤버는 Credential-UserName>>으로 지정된 인증서의 프라이빗 키를 보호하는 PIN을 지정합니다. 자격 증명 관리자는 PIN을 유지 관리하지 않습니다. 대신 나중에 CSP 및 인증 패키지에서 사용할 수 있도록 PIN이 인증서의 CSP에 전달됩니다. CSP는 PIN의 수명을 정의합니다. instance 경우 대부분의 CSP는 스마트 카드 제거 시 PIN을 플러시합니다.
CredWriteDomainCredentials 는 도메인(CRED_TYPE_DOMAIN_PASSWORD 또는 CRED_TYPE_DOMAIN_CERTIFICATE) 자격 증명의 특이성을 처리한다는 점에서 CredWrite 와 다릅니다. 도메인 자격 증명에는 둘 이상의 대상 멤버가 포함됩니다.
Credential 매개 변수로 지정된 CREDENTIAL 구조체의 Type 멤버 값이 CRED_TYPE_DOMAIN_EXTENDED 경우 대상 이름에 네임스페이스를 지정해야 합니다.
참고
wincred.h 헤더는 CRedWriteDomainCredentials를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincred.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |