Função CryptGetOIDFunctionAddress (wincrypt.h)
A função CryptGetOIDFunctionAddress pesquisa a lista de funções registradas e instaladas para uma correspondência de tipo de codificação e identificador de objeto (OID). Se uma correspondência for encontrada, a DLL que contém a função será carregada, se necessário. Se uma correspondência for encontrada, um ponteiro para o endereço da função e um ponteiro para o identificador de função também serão retornados. A contagem de referência no identificador de função é incrementada.
Sintaxe
BOOL CryptGetOIDFunctionAddress(
[in] HCRYPTOIDFUNCSET hFuncSet,
[in] DWORD dwEncodingType,
[in] LPCSTR pszOID,
[in] DWORD dwFlags,
[out] void **ppvFuncAddr,
[out] HCRYPTOIDFUNCADDR *phFuncAddr
);
Parâmetros
[in] hFuncSet
O identificador do conjunto de funções obtido anteriormente de uma chamada para a função CryptInitOIDFunctionSet .
[in] dwEncodingType
Especifica o tipo de codificação a ser correspondido. Atualmente, apenas X509_ASN_ENCODING e PKCS_7_ASN_ENCODING são 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
Para funções que não usam um tipo de codificação, defina esse parâmetro como zero.
[in] pszOID
Se a palavra de alta ordem do OID não for 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. Esse OID resultante é mapeado para a função que foi instalada ou registrada com o mesmo OID.
[in] dwFlags
Esse parâmetro pode ser o valor a seguir.
Valor | Significado |
---|---|
|
Pesquisa apenas a lista instalada de funções. |
[out] ppvFuncAddr
Um ponteiro para um ponteiro para um endereço de função. Se uma correspondência for encontrada, ppvFuncAddr apontará para o endereço da função.
[out] phFuncAddr
Se uma correspondência for encontrada, phFuncAddr apontará para o identificador de função. A contagem de referência para o identificador é incrementada. Quando terminar de usar o identificador, solte o identificador chamando a função CryptFreeOIDFunctionAddress .
Valor retornado
Se a função for bem-sucedida e uma correspondência for encontrada, a função retornará diferente de zero (TRUE).
Se a função falhar ou nenhuma correspondência for encontrada, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Comentários
Você pode chamar CryptGetOIDFunctionAddress com o argumento pszOID definido como CMSG_DEFAULT_INSTALLABLE_FUNC_OID para obter a função instalável padrão para as seguintes funções de retorno de chamada.
Para recuperar as funções padrão, defina dwEncodingType como uma combinação OR bit a bit dos seguintes tipos de codificação.
CRYPT_ASN_ENCODINGX509_ASN_ENCODING
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |