CryptRegisterOIDFunction 함수(wincrypt.h)
CryptRegisterOIDFunction 함수는 지정된 인코딩 형식, 함수 이름 및 OID(개체 식별자)에 대해 호출할 함수가 포함된 DLL을 등록합니다.
기본적으로 새 함수 이름은 목록의 끝에 설치됩니다. 설치된 함수 앞에 새 함수를 등록하려면 dwValueType이 REG_DWORD 설정되고 pwszValueName이 CRYPT_OID_REG_FLAGS_VALUE_NAME 설정된 CryptSetOIDFunctionValue 함수를 호출합니다.
CRYPT_OID_REG_FLAGS_VALUE_NAME L"CryptFlags"로 정의됩니다.
DLL을 등록하는 것 외에도 호출할 함수의 이름을 재정의할 수 있습니다. 예를 들어 pszFuncName 매개 변수를 CryptDllEncodeObject로 설정하고 pszOverrideFuncName 매개 변수를 MyEncodeXyz로 설정할 수 있습니다. 그런 다음 MyEncodeXyz라는 이름을 사용하여 새 형태의 CryptDllEncodeObject를 참조할 수 있습니다. 이렇게 하면 DLL이 자체 OID 디스패처 함수를 상호 연결하지 않고도 동일한 함수 이름에 대해 여러 OID 함수를 내보낼 수 있습니다.
구문
BOOL CryptRegisterOIDFunction(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszDll,
[in] LPCSTR pszOverrideFuncName
);
매개 변수
[in] dwEncodingType
일치시킬 인코딩 형식을 지정합니다. 현재는 X509_ASN_ENCODING 및 PKCS_7_ASN_ENCODING만 사용되고 있습니다. 그러나 나중에 추가 인코딩 형식이 추가될 수 있습니다. 두 현재 인코딩 형식을 모두 일치하려면 다음을 사용합니다.
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pszFuncName
등록할 함수의 이름입니다.
[in] pszOID
등록할 함수의 OID입니다. OID의 상위 단어가 0이 아닌 경우 pszOID 는 "2.5.29.1"과 같은 OID 문자열 또는 "file"과 같은 ASCII 문자열에 대한 포인터입니다. OID의 상위 단어가 0이면 하위 단어는 개체 식별자로 사용할 숫자 식별자를 지정합니다.
[in] pwszDll
등록할 DLL 파일의 이름입니다. DLL을 로드하기 전에 ExpandEnvironmentStrings 함수를 사용하여 확장할 환경 변수 문자열을 포함할 수 있습니다.
[in] pszOverrideFuncName
DLL에서 내보낸 함수의 이름을 지정하는 문자열입니다. pszOverrideFuncName이 NULL이면 pszFuncName으로 지정된 함수 이름이 사용됩니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값(TRUE)입니다.
함수가 실패하면 반환 값은 0(FALSE)입니다.
설명
OID 함수 사용을 마쳤으면 CryptUnregisterOIDFunction 함수를 호출하여 등록을 취소합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |