다음을 통해 공유


CryptGetOIDFunctionValue 함수(wincrypt.h)

CryptGetOIDFunctionValue 함수는 OID와 연결된 값을 쿼리합니다. 쿼리는 OID, 함수 이름 및 인코딩 형식과 연결된 특정 명명된 값에 대해 만들어집니다. 함수는 쿼리된 값의 형식, 값, 자체 또는 둘 다를 반환할 수 있습니다.

구문

BOOL CryptGetOIDFunctionValue(
  [in]      DWORD   dwEncodingType,
  [in]      LPCSTR  pszFuncName,
  [in]      LPCSTR  pszOID,
  [in]      LPCWSTR pwszValueName,
  [out]     DWORD   *pdwValueType,
  [out]     BYTE    *pbValueData,
  [in, out] DWORD   *pcbValueData
);

매개 변수

[in] dwEncodingType

일치시킬 인코딩 형식을 지정합니다. 현재는 X509_ASN_ENCODING 및 PKCS_7_ASN_ENCODING만 사용되고 있습니다. 그러나 나중에 추가 인코딩 형식이 추가될 수 있습니다. 현재 인코딩 형식을 모두 일치하려면 X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pszFuncName

OID 함수 집합의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

[in] pszOID

OID의 상위 단어가 0이 아닌 경우 pszOID 는 "2.5.29.1"과 같이 null로 종료된 OID 문자열 또는 "file"과 같은 null로 끝나는 ASCII 문자열에 대한 포인터입니다. OID의 상위 단어가 0이면 하위 단어는 개체 식별자로 사용할 숫자 식별자를 지정합니다.

[in] pwszValueName

쿼리할 값의 이름을 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다.

[out] pdwValueType

값의 형식을 받을 변수에 대한 포인터입니다. 이 매개 변수를 통해 반환되는 형식은 다음 중 하나입니다.

의미
REG_DWORD
32비트 숫자입니다.
REG_EXPAND_SZ
"%PATH%"와 같은 환경 변수에 대한 확장되지 않은 참조를 포함하는 유니코드 문자열입니다. 애플리케이션은 문자열을 사용하기 전에 종료 null 문자가 있는지 확인해야 합니다. 문자열에 종료 null 문자가 없는 경우에 대한 자세한 내용은 RegQueryValueEx를 참조하세요.
REG_MULTI_SZ
null로 종료된 유니코드 문자열의 배열입니다. 애플리케이션은 배열을 사용하기 전에 두 개의 null 문자로 배열을 올바르게 종료해야 합니다. 배열이 두 개의 null 문자로 종료되지 않는 경우에 대한 자세한 내용은 RegQueryValueEx를 참조하세요.
REG_SZ
유니코드 문자열입니다. 애플리케이션은 문자열을 사용하기 전에 종료 null 문자가 있는지 확인해야 합니다. 문자열에 종료 null 문자가 없는 경우에 대한 자세한 내용은 RegQueryValueEx를 참조하세요.
 

반환된 형식이 필요하지 않은 경우 pdwValueType 매개 변수는 NULL 일 수 있습니다.

[out] pbValueData

pwszValueName 매개 변수와 연결된 값을 받을 버퍼에 대한 포인터입니다. 버퍼는 종료 되는 NULL 문자를 포함할 수 있을 만큼 커야 합니다. 반환된 데이터가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.

이 매개 변수는 메모리 할당을 위해 버퍼의 크기를 찾기 위해 NULL 일 수도 있습니다. 자세한 내용은 알 수 없는 길이의 데이터 검색을 참조하세요.

[in, out] pcbValueData

pbValueData가 가리키는 버퍼의 크기(바이트)를 지정하는 DWORD에 대한 포인터입니다.

대부분의 경우 *pcbValueData 에서 반환되는 값에는 문자열에서 종료되는 NULL 문자의 크기가 포함됩니다. NULL 문자가 포함되지 않은 상황에 대한 자세한 내용은 RegQueryValueEx의 설명 섹션을 참조하세요.

참고 버퍼에서 반환된 데이터를 처리할 때 애플리케이션은 반환된 데이터의 실제 크기를 사용해야 합니다. 실제 크기는 입력에 지정된 버퍼 크기보다 약간 작을 수 있습니다. (입력에서 버퍼 크기는 일반적으로 가능한 가장 큰 출력 데이터가 버퍼에 맞도록 충분히 크게 지정됩니다.) 출력 시 이 매개 변수가 가리키는 변수는 버퍼에 복사된 데이터의 실제 크기를 반영하도록 업데이트됩니다.
 

반환 값

함수가 성공하면 함수는 0이 아닌 값(TRUE)을 반환합니다.

함수가 실패하면 0(FALSE)을 반환합니다. 확장된 오류 정보는 GetLastError를 호출합니다.

이 함수에는 다음과 같은 오류 코드가 있습니다.

설명
ERROR_MORE_DATA
pbValueData 매개 변수로 지정된 버퍼가 반환된 데이터를 저장할 만큼 크지 않은 경우 함수는 ERROR_MORE_DATA 코드를 설정하고 필요한 버퍼 크기(바이트)를 pcbValueData가 가리키는 변수에 저장합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

OID 지원 함수