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 |