Função CryptGetOIDFunctionValue (wincrypt.h)
A função CryptGetOIDFunctionValue consulta um valor associado a um OID. A consulta é feita para um valor nomeado específico associado a um OID, um nome de função e um tipo de codificação. A função pode retornar o tipo de valor consultado, o valor, o próprio ou ambos.
Sintaxe
BOOL CryptGetOIDFunctionValue(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszValueName,
[out] DWORD *pdwValueType,
[out] BYTE *pbValueData,
[in, out] DWORD *pcbValueData
);
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
Um ponteiro para a cadeia de caracteres terminada em nulo que contém o nome do conjunto de funções OID.
[in] pszOID
Se a palavra de alta ordem do OID não for zero, pszOID será um ponteiro para uma cadeia de caracteres OID terminada em nulo, como "2.5.29.1" ou uma cadeia de caracteres ASCII terminada em nulo, 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] pwszValueName
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome do valor a ser consultado.
[out] pdwValueType
Um ponteiro para uma variável para receber o tipo do valor. O tipo retornado por meio desse parâmetro será um dos seguintes.
Valor | Significado |
---|---|
|
Um número de 32 bits. |
|
Uma cadeia de caracteres Unicode que contém referências não explicadas a variáveis de ambiente como "%PATH%". Os aplicativos devem garantir que a cadeia de caracteres tenha um caractere nulo de terminação antes de usá-la. Para obter detalhes sobre quando a cadeia de caracteres não tem um caractere nulo de terminação, consulte RegQueryValueEx. |
|
Uma matriz de cadeias de caracteres Unicode terminadas em nulo. Os aplicativos devem garantir que a matriz seja terminada corretamente por dois caracteres nulos antes de usá-la. Para obter detalhes sobre quando a matriz não é encerrada por dois caracteres nulos, consulte RegQueryValueEx. |
|
Uma cadeia de caracteres Unicode. Os aplicativos devem garantir que a cadeia de caracteres tenha um caractere nulo de terminação antes de usá-la. Para obter detalhes sobre quando a cadeia de caracteres não tem um caractere nulo de terminação, consulte RegQueryValueEx. |
O parâmetro pdwValueType poderá ser NULL se um tipo retornado não for necessário.
[out] pbValueData
Um ponteiro para um buffer para receber o valor associado ao parâmetro pwszValueName . O buffer deve ser grande o suficiente para conter o caractere NULL de terminação. Esse parâmetro poderá ser NULL se os dados retornados não forem necessários.
Esse parâmetro também pode ser NULL para localizar o tamanho do buffer para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbValueData
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer apontado pelo pbValueData.
Na maioria dos casos, o valor retornado em *pcbValueData inclui o tamanho do caractere NULL de terminação na cadeia de caracteres. Para obter informações sobre situações em que o caractere NULL não está incluído, consulte a seção Comentários de RegQueryValueEx.
Valor retornado
Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).
Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Essa função tem o código de erro a seguir.
Valor | Descrição |
---|---|
|
Se o buffer especificado pelo parâmetro pbValueData não for grande o suficiente para manter os dados retornados, a função definirá o código ERROR_MORE_DATA e armazenará o tamanho do buffer necessário, em bytes, na variável apontada por pcbValueData. |
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 |