Função CryptRegisterOIDFunction (wincrypt.h)

A função CryptRegisterOIDFunction registra uma DLL que contém a função a ser chamada para o tipo de codificação especificado, o nome da função e o OID ( identificador de objeto ).

Por padrão, novos nomes de função são instalados no final da lista. Para registrar uma nova função antes das funções instaladas, chame a função CryptSetOIDFunctionValue com dwValueType definido como REG_DWORD e pwszValueName definido como CRYPT_OID_REG_FLAGS_VALUE_NAME.

CRYPT_OID_REG_FLAGS_VALUE_NAME é definido como L"CryptFlags".

Além de registrar uma DLL, o nome da função a ser chamada pode ser substituído. Por exemplo, o parâmetro pszFuncName pode ser definido como CryptDllEncodeObject e o parâmetro pszOverrideFuncName como MyEncodeXyz. A nova forma de CryptDllEncodeObject pode ser referenciada usando o nome MyEncodeXyz. Isso permite que uma DLL exporte várias funções OID para o mesmo nome de função sem a necessidade de interpor sua própria função de dispatcher OID.

Sintaxe

BOOL CryptRegisterOIDFunction(
  [in] DWORD   dwEncodingType,
  [in] LPCSTR  pszFuncName,
  [in] LPCSTR  pszOID,
  [in] LPCWSTR pwszDll,
  [in] LPCSTR  pszOverrideFuncName
);

Parâmetros

[in] dwEncodingType

Especifica o tipo de codificação a ser correspondido. Atualmente, apenas X509_ASN_ENCODING e PKCS_7_ASN_ENCODING estão sendo usados; no entanto, tipos de codificação adicionais podem ser adicionados no futuro. Para corresponder aos dois tipos de codificação atuais, use:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pszFuncName

Nome da função que está sendo registrada.

[in] pszOID

OID da função a ser registrada. Se a palavra de alta ordem do OID for diferente de zero, pszOID será um ponteiro para uma cadeia de caracteres OID como "2.5.29.1" ou uma cadeia de caracteres ASCII , como "file". Se a palavra de alta ordem do OID for zero, a palavra de ordem baixa especificará o identificador numérico a ser usado como o identificador de objeto.

[in] pwszDll

Nome do arquivo DLL a ser registrado. Ele pode conter cadeias de caracteres de variável de ambiente a serem expandidas usando a função ExpandEnvironmentStrings antes de carregar a DLL.

[in] pszOverrideFuncName

Cadeia de caracteres que especifica um nome para a função exportada na DLL. Se pszOverrideFuncName for NULL, o nome da função especificado por pszFuncName será usado.

Retornar valor

Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).

Se a função falhar, o valor retornado será zero (FALSE).

Comentários

Quando terminar de usar uma função OID, cancele o registro chamando a função CryptUnregisterOIDFunction .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll

Confira também

CryptSetOIDFunctionValue

CryptUnregisterOIDFunction

Funções de suporte do OID