CredMarshalCredentialA 함수(wincred.h)

CredMarshalCredential 함수는 자격 증명을 텍스트 문자열로 변환합니다. 지금까지 NetUseAdd와 같은 많은 함수는 도메인 이름, 사용자 이름 및 암호를 자격 증명으로 사용합니다. 이러한 함수는 인증서를 자격 증명으로 허용하지 않습니다. CredMarshalCredential 함수는 이러한 자격 증명을 이러한 API에 전달할 수 있는 양식으로 변환합니다.

마샬링된 자격 증명은 현재 자격 증명이 전달된 모든 API에 사용자 이름 문자열로 전달되어야 합니다. 해당하는 경우 해당 API에 전달된 도메인 이름은 NULL 로 전달되거나 비어 있어야 합니다. 인증서 자격 증명의 경우 인증서의 PIN을 해당 API에 암호로 전달해야 합니다.

호출자는 마샬링된 자격 증명을 수정하거나 인쇄해서는 안 됩니다. 반환된 값은 유니코드, ANSI 및 OEM 문자 집합 간에 자유롭게 변환할 수 있습니다. 문자열은 대/소문자를 구분합니다.

구문

BOOL CredMarshalCredentialA(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPSTR             *MarshaledCredential
);

매개 변수

[in] CredType

마샬링할 자격 증명의 유형입니다.

[in] Credential

마샬링할 자격 증명입니다.

이 값은 CRED_MARSHAL_TYPE 값 중 하나입니다.

CredTypeCertCredential인 경우 자격 증명은CERT_CREDENTIAL_INFO 구조를 가리킵니다.

CredTypeUsernameTargetCredential인 경우 자격 증명은USERNAME_TARGET_CREDENTIAL_INFO 구조를 가리킵니다.

[out] MarshaledCredential

마샬링된 자격 증명을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 호출자는 CredFree를 사용하여 반환된 버퍼를 해제해야 합니다.

반환 값

이 함수는 성공 시 TRUE 를 반환하고 실패 시 FALSE 를 반환합니다. GetLastError 함수를 호출하여 보다 구체적인 상태 코드를 가져올 수 있습니다. 다음 상태 코드를 반환할 수 있습니다.

ERROR_INVALID_PARAMETER

CredType 이 잘못되었습니다.

설명

참고

wincred.h 헤더는 CRedMarshalCredential을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincred.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO