Função NCryptCreateProtectionDescriptor (ncryptprotect.h)

A função NCryptCreateProtectionDescriptor recupera um identificador para um objeto descritor de proteção.

Sintaxe

SECURITY_STATUS NCryptCreateProtectionDescriptor(
  [in]  LPCWSTR                  pwszDescriptorString,
  [in]  DWORD                    dwFlags,
  [out] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor
);

Parâmetros

[in] pwszDescriptorString

Cadeia de caracteres Unicode terminada em nulo que contém uma cadeia de caracteres de regra do descritor de proteção ou um nome de exibição registrado para a regra.

Se você especificar o nome de exibição e quiser que essa função procure no Registro a cadeia de caracteres de regra do descritor de proteção associada, defina o parâmetro dwFlags como NCRYPT_NAMED_DESCRIPTOR_FLAG.

[in] dwFlags

Sinalizador que especifica se a cadeia de caracteres em pwszDescriptorString representa o nome de exibição de um descritor de proteção e, nesse caso, em que no Registro a função deve pesquisar a cadeia de caracteres de regra de proteção associada. As seguintes combinações de valor podem ser definidas:

  • Para indicar que o valor definido no parâmetro pwszDescriptorString é uma cadeia de caracteres de regra de descritor de proteção completa em vez de um nome de exibição, defina o parâmetro dwFlags como zero (0).
  • Para indicar que a cadeia de caracteres é um nome de exibição e que ela é salva, juntamente com sua cadeia de caracteres de regra de descritor associada, no hive do registro HKEY_LOCAL_MACHINE, bit a bit ou o valor NCRYPT_NAMED_DESCRIPTOR_FLAG e o valor NCRYPT_MACHINE_KEY_FLAG .
  • Para indicar que a cadeia de caracteres é um nome de exibição e que ela é salva, juntamente com sua regra de cadeia de caracteres de descritor associada, no hive do registro HKEY_CURRENT_USER, defina apenas o valor NCRYPT_NAMED_DESCRIPTOR_FLAG . Ou seja, não há nenhum sinalizador exclusivo para especificar o hive do registro de usuário atual.
Nota Para associar uma regra de descritor a um nome de exibição e salvar ambos no registro, chame a função NCryptRegisterProtectionDescriptorName .
 

[out] phDescriptor

Ponteiro para um identificador de objeto descritor de proteção.

Retornar valor

Retorna um código 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, o seguinte.

Código de retorno Descrição
ERROR_SUCCESS
A função foi bem-sucedida.
NTE_INVALID_PARAMETER
O parâmetro phDescriptor não pode ser NULL.

O parâmetro pwszDescriptorString não pode ser NULL e não pode ser uma picada vazia.

NTE_BAD_FLAGS
O parâmetro dwFlags deve ser NCRYPT_MACHINE_KEY_FLAG ou NCRYPT_NAMED_DESCRIPTOR_FLAG.
NTE_NO_MEMORY
Não foi possível alocar memória para recuperar a cadeia de caracteres do descritor de proteção registrada.
NTE_NOT_FOUND
Não foi possível encontrar o nome do descritor de proteção especificado no parâmetro pwszDescriptorString .

Comentários

O objeto descritor de proteção criado por essa função é uma estrutura de dados interna que contém informações sobre o descritor. Você não pode usá-lo diretamente. No entanto, seu aplicativo pode usar o identificador retornado nas seguintes funções:

Os exemplos a seguir mostram cadeias de caracteres de regra do descritor de proteção:
  • "SID=S-1-5-21-4392301 E SID=S-1-5-21-3101812"
  • "SDDL=O:S-1-5-5-0-290724G:SYD:(A;; CCDC;;; S-1-5-5-0-290724)(A;; DC;;; WD)"
  • "LOCAL=user"
  • "LOCAL=machine"
  • "WEBCREDENTIALS=MyPasswordName"
  • "WEBCREDENTIALS=MyPasswordName,myweb.com"
Você pode usar a função NCryptRegisterProtectionDescriptorName para associar um nome de exibição a uma cadeia de caracteres de regra e salvar ambos no Registro.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ncryptprotect.h
Biblioteca NCrypt.lib
DLL NCrypt.dll

Confira também

Funções DPAPI do CNG