Funzione NCryptCreateProtectionDescriptor (ncryptprotect.h)

La funzione NCryptCreateProtectionDescriptor recupera un handle in un oggetto descrittore di protezione.

Sintassi

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

Parametri

[in] pwszDescriptorString

Stringa Unicode con terminazione Null contenente una stringa di regola del descrittore di protezione o un nome visualizzato registrato per la regola.

Se si specifica il nome visualizzato e si vuole che questa funzione cerchi nel Registro di sistema la stringa della regola del descrittore di protezione associata, è necessario impostare il parametro dwFlags su NCRYPT_NAMED_DESCRIPTOR_FLAG.

[in] dwFlags

Flag che specifica se la stringa in pwszDescriptorString rappresenta il nome visualizzato di un descrittore di protezione e, in tal caso, dove nel Registro di sistema la funzione deve cercare la stringa della regola di protezione associata. È possibile impostare le combinazioni di valori seguenti:

  • Per indicare che il valore impostato nel parametro pwszDescriptorString è una stringa di regola del descrittore di protezione completa anziché un nome visualizzato, impostare il parametro dwFlags su zero (0).
  • Per indicare che la stringa è un nome visualizzato e che viene salvata, insieme alla stringa della regola del descrittore associata, nell'hive del Registro di sistema HKEY_LOCAL_MACHINE, or bit per bit il valore NCRYPT_NAMED_DESCRIPTOR_FLAG e il valore NCRYPT_MACHINE_KEY_FLAG .
  • Per indicare che la stringa è un nome visualizzato e che viene salvata, insieme alla regola di stringa del descrittore associata, nell'hive del Registro di sistema HKEY_CURRENT_USER impostare solo il valore NCRYPT_NAMED_DESCRIPTOR_FLAG . Ovvero, non esiste alcun flag univoco per specificare l'hive del Registro di sistema utente corrente.
Nota Per associare una regola del descrittore a un nome visualizzato e salvare entrambi nel Registro di sistema, chiamare la funzione NCryptRegisterProtectionDescriptorName .
 

[out] phDescriptor

Puntatore a un handle dell'oggetto descrittore di protezione.

Valore restituito

Restituisce un codice di stato che indica l'esito positivo o negativo della funzione. I codici restituiti possibili includono, a titolo esemplificativo, quanto segue.

Codice restituito Descrizione
ERROR_SUCCESS
La funzione ha avuto esito positivo.
NTE_INVALID_PARAMETER
Il parametro phDescriptor non può essere NULL.

Il parametro pwszDescriptorString non può essere NULL e non può essere uno sting vuoto.

NTE_BAD_FLAGS
Il parametro dwFlags deve essere NCRYPT_MACHINE_KEY_FLAG o NCRYPT_NAMED_DESCRIPTOR_FLAG.
NTE_NO_MEMORY
Impossibile allocare memoria per recuperare la stringa del descrittore di protezione registrata.
NTE_NOT_FOUND
Impossibile trovare il nome del descrittore di protezione specificato nel parametro pwszDescriptorString .

Commenti

L'oggetto descrittore di protezione creato da questa funzione è una struttura di dati interna che contiene informazioni sul descrittore. Non è possibile usarlo direttamente. L'applicazione può tuttavia usare l'handle restituito nelle funzioni seguenti:

Gli esempi seguenti illustrano le stringhe delle regole del descrittore di protezione:
  • "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"
È possibile usare la funzione NCryptRegisterProtectionDescriptorName per associare un nome visualizzato a una stringa di regola e salvare entrambi nel Registro di sistema.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ncryptprotect.h
Libreria NCrypt.lib
DLL NCrypt.dll

Vedi anche

Funzioni DPAPI CNG