CredUIPromptForWindowsCredentialsA 함수(wincred.h)
CredUIPromptForWindowsCredentials 함수는 사용자가 로컬 컴퓨터에 설치된 자격 증명 공급자를 사용하여 자격 증명 정보를 제공할 수 있는 구성 가능한 대화 상자를 만들고 표시합니다.
통사론
CREDUIAPI DWORD CredUIPromptForWindowsCredentialsA(
[in, optional] PCREDUI_INFOA pUiInfo,
[in] DWORD dwAuthError,
[in, out] ULONG *pulAuthPackage,
[in, optional] LPCVOID pvInAuthBuffer,
[in] ULONG ulInAuthBufferSize,
[out] LPVOID *ppvOutAuthBuffer,
[out] ULONG *pulOutAuthBufferSize,
[in, out, optional] BOOL *pfSave,
[in] DWORD dwFlags
);
매개 변수
[in, optional] pUiInfo
이 함수가 표시하는 대화 상자의 모양을 사용자 지정하기 위한 정보가 포함된 CREDUI_INFO 구조체에 대한 포인터입니다.
이 함수는 CREDUI_INFO 구조체의 hbmBanner 멤버를 무시합니다.
[in] dwAuthError
대화 상자에 표시되는 Winerror.h에 정의된 Windows 오류 코드입니다. 이전에 수집한 자격 증명이 유효하지 않은 경우 호출자는 이 매개 변수를 사용하여 자격 증명(예: Winlogon)을 수집한 API의 오류 메시지를 이 함수에 전달합니다. 해당 오류 메시지의 서식이 지정되어 대화 상자에 표시됩니다. 이 매개 변수의 값을 0으로 설정하여 오류 메시지를 표시하지 않습니다.
[in, out] pulAuthPackage
입력에서 이 매개 변수의 값은 pvInAuthBuffer 버퍼의 자격 증명이 serialize되는 인증 패키지를 지정하는 데 사용됩니다.
입력 시 이 매개 변수에 사용할 적절한 값을 얻으려면 LsaLookupAuthenticationPackage 함수를 호출하고 해당 함수의 AuthenticationPackage 매개 변수 값을 사용합니다.
출력에서 이 매개 변수는 ppvOutAuthBuffer 버퍼의 자격 증명이 serialize되는 인증 패키지를 지정합니다.
[in, optional] pvInAuthBuffer
대화 상자에서 자격 증명 필드를 채우는 데 사용되는 자격 증명 BLOB에 대한 포인터입니다. 이 매개 변수의 값을 NULL
[in] ulInAuthBufferSize
pvInAuthBuffer 버퍼의 크기(바이트)입니다.
[out] ppvOutAuthBuffer
출력에서 자격 증명 BLOB을 지정하는 포인터의 주소입니다. Kerberos, NTLM 또는 Negotiate 자격 증명의 경우 CredUnPackAuthenticationBuffer 함수를 호출하여 이 BLOB을 자격 증명의 문자열 표현으로 변환합니다.
자격 증명 BLOB 사용을 마쳤으면 SecureZeroMemory 함수를 호출하여 메모리에서 지우고 CoTaskMemFree 함수를 호출하여 해제합니다.
[out] pulOutAuthBufferSize
ppvOutAuthBuffer 버퍼의 크기(바이트)입니다.
[in, out, optional] pfSave
입력 시 이 함수가 표시하는 대화 상자에서 저장 확인란이 선택되어 있는지 여부를 지정하는 부울 값에 대한 포인터입니다. 출력 시 이 매개 변수의 값은 사용자가 대화 상자에서 제출 단추를 클릭할 때 저장 확인란을 선택했는지 여부를 지정합니다. 이 매개 변수를 NULL 설정하여 저장 확인란을 무시합니다.
이 매개 변수는 CREDUIWIN_CHECKBOX 플래그가 dwFlags 매개 변수에 설정되지 않은 경우 무시됩니다.
[in] dwFlags
이 함수의 동작을 지정하는 값입니다. 이 값은 다음 값 중 하나 이상의 비트또는 조합일 수 있습니다.
값 | 의미 |
---|---|
|
호출자는 자격 증명 공급자가 사용자 이름과 암호를 일반 텍스트로 반환하도록 요청합니다.
이 값은 SECURE_PROMPT함께 사용할 수 없습니다. |
|
저장 확인란이 대화 상자에 표시됩니다. |
|
pulAuthPackage 매개 변수로 지정된 인증 패키지를 지원하는 자격 증명 공급자만 열거해야 합니다.
이 값은 CREDUIWIN_IN_CRED_ONLY함께 사용할 수 없습니다. |
|
pulAuthPackage 매개 변수로 지정된 인증 패키지에 대한 pvInAuthBuffer 매개 변수로 지정된 자격 증명만 열거해야 합니다.
이 플래그가 설정되고 이 값은 CREDUIWIN_AUTHPACKAGE_ONLY함께 사용할 수 없습니다. |
|
자격 증명 공급자는 관리자만 열거해야 합니다. 이 값은 UAC(사용자 계정 컨트롤) 용도로만 사용됩니다. 외부 호출자가 이 플래그를 설정하지 않는 것이 좋습니다. |
|
pulAuthPackage 매개 변수로 지정된 인증 패키지에 대한 들어오는 자격 증명만 열거해야 합니다. |
|
자격 증명 대화 상자는 보안 데스크톱에 표시되어야 합니다. 이 값은 CREDUIWIN_GENERIC함께 사용할 수 없습니다.
Windows Vista: 이 값은 WINDOWS Vista SP1부터 지원됩니다. |
|
자격 증명 대화 상자는 SspiPromptForCredentials 함수에 의해 호출되고 클라이언트는 이전 핸드셰이크 전에 메시지가 표시됩니다.
pvInAuthBuffer 매개 변수에 SSPIPFC_NO_CHECKBOX 전달되는 경우 자격 증명 공급자는 확인란을 표시하지 않아야 합니다.
Windows Vista: 이 값은 WINDOWS Vista SP1부터 지원됩니다. |
|
자격 증명 공급자는 AAD 기관 이름을 압축하지 않습니다. Azure AD 조인 디바이스에만 적용됩니다.
Windows 10 버전 1607: 이 값은 Windows 10 버전 1607부터 지원됩니다. |
|
자격 증명 공급자는 공급자가 64비트 시스템에서 실행 중인 경우에도 ppvOutAuthBuffer 매개 변수가 가리키는 자격 증명 BLOB을 32비트 경계에 맞춰야 합니다. |
|
Windows Hello 자격 증명은 스마트 카드 인증 버퍼에 압축됩니다. 얼굴, 지문 및 PIN 자격 증명 공급자에만 적용됩니다.
Windows 10 버전 1809: 이 값은 Windows 10 버전 1809부터 지원됩니다. |
반환 값
함수가 성공하면 함수는 ERROR_SUCCESS반환합니다. 사용자가 함수를 취소하면 ERROR_CANCELLED반환됩니다. 다른 반환 값은 함수를 로드하지 못했음을 나타냅니다.
발언
이 함수는 자격 증명을 저장하지 않습니다.
SSPI 사용하여 사용자를 인증하는 애플리케이션은 이 함수를 호출하면 안 됩니다. 대신 SspiPromptForCredentials호출합니다.
메모
wincred.h 헤더는 CRedUIPromptForWindowsCredentials를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincred.h |
라이브러리 | Credui.lib |
DLL | Credui.dll |