Compartilhar via


Função BCryptGetProperty (bcrypt.h)

A função BCryptGetProperty recupera o valor de uma propriedade nomeada para um objeto CNG.

Sintaxe

NTSTATUS BCryptGetProperty(
  [in]  BCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PUCHAR        pbOutput,
  [in]  ULONG         cbOutput,
  [out] ULONG         *pcbResult,
  [in]  ULONG         dwFlags
);

Parâmetros

[in] hObject

Um identificador que representa o objeto CNG para o qual obter o valor da propriedade.

[in] pszProperty

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome da propriedade a ser recuperada. Esse pode ser um dos identificadores predefinidos de propriedade primitiva cryptography ou um identificador de propriedade personalizado.

[out] pbOutput

O endereço de um buffer que recebe o valor da propriedade. O parâmetro cbOutput contém o tamanho desse buffer.

[in] cbOutput

O tamanho, em bytes, do buffer pbOutput .

[out] pcbResult

Um ponteiro para uma variável ULONG que recebe o número de bytes que foram copiados para o buffer pbOutput . Se o parâmetro pbOutput for NULL, essa função colocará o tamanho necessário, em bytes, no local apontado por esse parâmetro.

[in] dwFlags

Um conjunto de sinalizadores que modificam o comportamento dessa função. Nenhum sinalizador é definido para essa função.

Esse parâmetro deve ser definido como zero para ML-KEM.

Valor de retorno

Retorna um código de status que indica o êxito ou a falha da função.

Os códigos de retorno possíveis incluem, mas não se limitam a:

Código de retorno Descrição
STATUS_SUCCESS A função foi bem-sucedida.
STATUS_BUFFER_TOO_SMALL O tamanho do buffer especificado pelo parâmetro cbOutput não é grande o suficiente para manter o valor da propriedade.
STATUS_INVALID_HANDLE O identificador no parâmetro hObject não é válido.
STATUS_INVALID_PARAMETER Um ou mais parâmetros não são válidos.
STATUS_NOT_SUPPORTED Não há suporte para a propriedade especificada pelo parâmetro pszProperty .

Observações

Para obter o tamanho necessário para uma propriedade, passe NULL para o parâmetro pbOutput . Essa função colocará o tamanho necessário, em bytes, no valor apontado pelo parâmetro pcbResult .

Dependendo de quais modos de processador um provedor dá suporte, o BCryptGetProperty pode ser chamado do modo de usuário ou do modo kernel. Os chamadores do modo kernel podem ser executados em PASSIVE_LEVELIRQL ou DISPATCH_LEVEL IRQL. Se o nível IRQL atual for DISPATCH_LEVEL, quaisquer ponteiros passados para a função BCryptGetProperty deverão se referir à memória não paga (ou bloqueada). Se o objeto especificado no parâmetro hObject for um identificador , ele deverá ter sido aberto usando o sinalizador BCRYPT_PROV_DISPATCH .

A propriedade BCRYPT_PARAMETER_SET_NAME deve ser definida em BCrypt ML-DSA chaves antes que elas possam ser usadas. Esses dados podem ser recuperados de objetos-chave.

Para chamar essa função no modo kernel, use Cng.lib, que faz parte do DDK (Driver Development Kit). Windows Server 2008 e Windows Vista: Para chamar essa função no modo kernel, use Ksecdd.lib.

Requisitos

Requisito Valor
Cliente mínimo suportado Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho bcrypt.h
Biblioteca Bcrypt.lib
de DLL Bcrypt.dll