Función NCryptCreateProtectionDescriptor (ncryptprotect.h)

La función NCryptCreateProtectionDescriptor recupera un identificador de un objeto descriptor de protección.

Sintaxis

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

Parámetros

[in] pwszDescriptorString

Cadena Unicode terminada en NULL que contiene una cadena de regla del descriptor de protección o un nombre para mostrar registrado para la regla.

Si especifica el nombre para mostrar y desea que esta función busque en el Registro la cadena de regla del descriptor de protección asociada, debe establecer el parámetro dwFlags en NCRYPT_NAMED_DESCRIPTOR_FLAG.

[in] dwFlags

Marca que especifica si la cadena de pwszDescriptorString representa el nombre para mostrar de un descriptor de protección y, si es así, donde en el Registro la función debe buscar la cadena de regla de protección asociada. Se pueden establecer las siguientes combinaciones de valores:

  • Para indicar que el valor establecido en el parámetro pwszDescriptorString es una cadena de regla de descriptor de protección completa en lugar de un nombre para mostrar, establezca el parámetro dwFlags en cero (0).
  • Para indicar que la cadena es un nombre para mostrar y que se guarda, junto con su cadena de regla de descriptor asociada, en el subárbol del Registro de HKEY_LOCAL_MACHINE , OR bit a bit, el valor de NCRYPT_NAMED_DESCRIPTOR_FLAG y el valor de NCRYPT_MACHINE_KEY_FLAG .
  • Para indicar que la cadena es un nombre para mostrar y que se guarda, junto con su regla de cadena de descriptor asociada, en el subárbol del Registro de HKEY_CURRENT_USER , establezca solo el valor de NCRYPT_NAMED_DESCRIPTOR_FLAG . Es decir, no hay ninguna marca única para especificar el subárbol del registro de usuario actual.
Nota Para asociar una regla de descriptor con un nombre para mostrar y guardar ambos en el Registro, llame a la función NCryptRegisterProtectionDescriptorName .
 

[out] phDescriptor

Puntero a un identificador de objeto descriptor de protección.

Valor devuelto

Devuelve un código de estado que indica el éxito o error de la función. Entre los posibles códigos de retorno se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_SUCCESS
La función se realizó correctamente.
NTE_INVALID_PARAMETER
El parámetro phDescriptor no puede ser NULL.

El parámetro pwszDescriptorString no puede ser NULL y no puede ser un sting vacío.

NTE_BAD_FLAGS
El parámetro dwFlags debe ser NCRYPT_MACHINE_KEY_FLAG o NCRYPT_NAMED_DESCRIPTOR_FLAG.
NTE_NO_MEMORY
No se pudo asignar memoria para recuperar la cadena de descriptor de protección registrada.
NTE_NOT_FOUND
No se encontró el nombre del descriptor de protección especificado en el parámetro pwszDescriptorString .

Comentarios

El objeto descriptor de protección creado por esta función es una estructura de datos interna que contiene información sobre el descriptor. No se puede usar directamente. Sin embargo, la aplicación puede usar el identificador devuelto en las funciones siguientes:

En los ejemplos siguientes se muestran cadenas de reglas de descriptor de protección:
  • "SID=S-1-5-21-4392301 AND 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"
Puede usar la función NCryptRegisterProtectionDescriptorName para asociar un nombre para mostrar a una cadena de regla y guardar ambos en el Registro.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ncryptprotect.h
Library NCrypt.lib
Archivo DLL NCrypt.dll

Consulte también

Funciones de DPAPI de CNG