CertRetrieveLogoOrBiometricInfo 함수(wincrypt.h)
CertRetrieveLogoOrBiometricInfo 함수는 szOID_LOGOTYPE_EXT 또는szOID_BIOMETRIC_EXT 인증서 확장에 지정된 로고 또는 생체 인식 정보의 URL 검색을 수행합니다. szOID_BIOMETRIC_EXT 확장(IETF RFC 3739)은 인증서의 사용자 소유자에 대한 서명 또는 그림 표현의 추가를 지원합니다. szOID_LOGOTYPE_EXT 확장(IETF RFC 3709)은 인증서에 조직 그림 표현 추가를 지원합니다.
구문
BOOL CertRetrieveLogoOrBiometricInfo(
[in] PCCERT_CONTEXT pCertContext,
[in] LPCSTR lpszLogoOrBiometricType,
[in] DWORD dwRetrievalFlags,
[in] DWORD dwTimeout,
[in] DWORD dwFlags,
void *pvReserved,
[out] BYTE **ppbData,
[out] DWORD *pcbData,
[out] LPWSTR *ppwszMimeType
);
매개 변수
[in] pCertContext
인증서를 포함하는 CERT_CONTEXT 구조체의 주소입니다.
[in] lpszLogoOrBiometricType
검색할 정보의 형식을 식별하는 OID( 개체 식별자 ) 문자열이 포함된 null로 종료된 ANSI 문자열의 주소입니다.
이 매개 변수에는 다음과 같은 미리 정의된 값 중 하나가 포함될 수도 있습니다.
[in] dwRetrievalFlags
정보를 검색하는 방법을 지정하는 플래그 집합입니다. 이 매개 변수는 CryptRetrieveObjectByUrl 함수에서 dwRetrievalFlags로 전달됩니다.
[in] dwTimeout
검색을 기다리는 최대 시간(밀리초)입니다.
[in] dwFlags
이 매개 변수는 사용되지 않으며 0이어야 합니다.
pvReserved
이 매개 변수는 사용되지 않으며 NULL이어야 합니다.
[out] ppbData
로고 형식 또는 생체 인식 데이터를 수신하는 BYTE 포인터의 주소입니다. 이 포인터를 CryptMemFree 함수에 전달하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.
[out] pcbData
ppbData 버퍼의 바이트 수를 수신하는 DWORD 변수의 주소입니다.
[out] ppwszMimeType
MIME(다목적 인터넷 메일 확장) 형식의 데이터를 수신하는 null로 끝나는 유니코드 문자열에 대한 포인터의 주소입니다. 이 정보가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다. 이 포인터를 CryptMemFree 함수에 전달하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.
이 주소는 항상 생체 인식 유형에 대해 NULL 을 받습니다. 메모리에 액세스하기 전에 항상 이 매개 변수에 유효한 메모리 주소가 포함되어 있는지 확인해야 합니다.
반환 값
성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.
확장된 오류 정보는 GetLastError를 호출합니다. GetLastError 함수에서 반환할 수 있는 오류 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
계산된 해시 값이 인증서의 해시 값과 일치하지 않습니다. |
|
인증서에 szOID_LOGOTYPE_EXT 또는 szOID_BIOMETRIC_EXT 확장이 없거나 지정된 lpszLogoOrBiometricType 을 찾을 수 없습니다. |
|
하나 이상의 매개 변수가 유효하지 않습니다. |
|
인증서 확장에서 지정한 URL에서 데이터를 검색할 수 없습니다. |
|
인증서는 필요한 확장을 지원하지 않습니다. |
|
해시 알고리즘 OID를 알 수 없습니다. |
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |