다음을 통해 공유


CryptRegisterOIDFunction 함수(wincrypt.h)

CryptRegisterOIDFunction 함수는 지정된 인코딩 형식, 함수 이름 및 OID(개체 식별자)에 대해 호출할 함수가 포함된 DLL을 등록합니다.

기본적으로 새 함수 이름은 목록의 끝에 설치됩니다. 설치된 함수 앞에 새 함수를 등록하려면 dwValueType이 REG_DWORD 설정되고 pwszValueNameCRYPT_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에서 내보낸 함수의 이름을 지정하는 문자열입니다. pszOverrideFuncNameNULL이면 pszFuncName으로 지정된 함수 이름이 사용됩니다.

반환 값

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

함수가 실패하면 반환 값은 0(FALSE)입니다.

설명

OID 함수 사용을 마쳤으면 CryptUnregisterOIDFunction 함수를 호출하여 등록을 취소합니다.

요구 사항

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

추가 정보

CryptSetOIDFunctionValue

CryptUnregisterOIDFunction

OID 지원 함수