CryptFormatObject 함수(wincrypt.h)
CryptFormatObject 함수는 인코딩된 데이터의 형식을 지정하고 인증서 인코딩 형식에 따라 할당된 버퍼에 유니코드 문자열을 반환합니다.
구문
BOOL CryptFormatObject(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFormatType,
[in] DWORD dwFormatStrType,
[in] void *pFormatStruct,
[in] LPCSTR lpszStructType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] void *pbFormat,
[in, out] DWORD *pcbFormat
);
매개 변수
[in] dwCertEncodingType
인증서에 사용되는 인코딩 유형입니다. 현재 정의된 인증서 인코딩 유형은 X509_ASN_ENCODING.
[in] dwFormatType
형식 값의 서식을 지정합니다. 사용되지 않습니다. 0으로 설정됩니다.
[in] dwFormatStrType
구조 형식 형식 값입니다. 이 매개 변수는 0이거나 비트 OR 연산자를 사용하여 다음 플래그 중 하나 이상을 지정할 수 있습니다.
[in] pFormatStruct
구조체 형식에 대한 포인터입니다. 사용되지 않습니다. NULL로 설정합니다.
[in] lpszStructType
인코딩된 데이터를 정의하는 OID에 대한 포인터입니다. lpszStructType 매개 변수의 상위 단어가 0이면 하위 단어는 지정된 구조체의 형식에 대한 정수 식별자를 지정합니다. 그렇지 않으면 이 매개 변수는 null로 끝나는 문자열에 대한 긴 포인터입니다.
다음 표에서는 연결된 OID 확장을 사용하여 지원되는 OID를 나열합니다.
[in] pbEncoded
형식을 지정할 인코딩된 데이터에 대한 포인터입니다. lpszStructType이 위에 나열된 OID 중 하나인 경우 pbEncoded는 인코딩된 확장입니다.
[in] cbEncoded
pbEncoded 구조체의 크기(바이트)입니다.
[out] pbFormat
서식이 지정된 문자열을 수신하는 버퍼에 대한 포인터입니다. 지정된 버퍼가 디코딩된 구조를 받을 만큼 충분히 크지 않은 경우 함수는 ERROR_MORE_DATA 설정하고 필요한 버퍼 크기를 바이트 단위로 pcbFormat이 가리키는 변수에 저장합니다. 이 매개 변수는 메모리 할당을 위해 이 정보의 크기를 설정하는 NULL 일 수 있습니다. 자세한 내용은 알 수 없는 길이의 데이터 검색을 참조하세요.
[in, out] pcbFormat
pbFormat 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 pcbFormat 매개 변수가 가리키는 변수에는 버퍼에 저장된 바이트 수가 포함됩니다. 이 매개 변수는 pbFormat이 NULL인 경우에만 NULL일 수 있습니다.
반환 값
함수가 성공하면 반환 값은 TRUE입니다. 성공하지 못하면 반환 값은 FALSE입니다. 확장된 오류 정보를 검색하려면 GetLastError 함수를 사용합니다.
설명
이 함수의 기본 동작은 인코딩된 데이터의 한 줄 표시를 반환하는 것입니다. 즉, 각 하위 필드가 한 줄에 쉼표(,)와 연결됩니다. 데이터를 여러 줄로 표시하려면 CRYPT_FORMAT_STR_MULTI_LINE 플래그를 설정합니다. 그러면 각 하위 필드가 별도의 줄에 표시됩니다.
lpszStructType 매개 변수에 대해 설치되거나 등록된 서식 루틴이 없으면 인코딩된 CRYPT_INTEGER_BLOB 16진수 덤프가 반환됩니다. 사용자는 16진수 덤프를 사용하지 않도록 CRYPT_FORMAT_STR_NO_HEX 플래그를 설정할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |