LSA_ADD_CREDENTIAL funzione di callback (ntsecpkg.h)

[AddCredential è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Le applicazioni devono usare la funzione LsaCallAuthenticationPackage con KerbAddExtraCredentialsMessage specificata come tipo di messaggio. KerbAddExtraCredentialsMessage è un valore di enumerazione KERB_PROTOCOL_MESSAGE_TYPE .]

Aggiunge le credenziali a una sessione di accesso. Queste credenziali possono essere fatto riferimento in un secondo momento tramite una chiamata alla funzione GetCredentials .

Sintassi

LSA_ADD_CREDENTIAL LsaAddCredential;

NTSTATUS LsaAddCredential(
  [in] PLUID LogonId,
  [in] ULONG AuthenticationPackage,
  [in] PLSA_STRING PrimaryKeyValue,
  [in] PLSA_STRING Credentials
)
{...}

Parametri

[in] LogonId

Puntatore a un LUID contenente l'ID sessione della sessione di accesso a cui aggiungere le credenziali.

[in] AuthenticationPackage

ID del pacchetto di autenticazione del pacchetto di autenticazione chiamante. Questo valore viene ricevuto nella chiamata LsaApInitializePackage durante l'inizializzazione della DLL.

[in] PrimaryKeyValue

Stringa che contiene un valore che il pacchetto di autenticazione dovrà successivamente fare riferimento come chiave primaria dei dati delle credenziali. Questa operazione può essere usata, ad esempio, per mantenere il nome del dominio o del server a cui sono correlate le credenziali. Il formato e il significato di questa stringa sono specifici del pacchetto di autenticazione. Si noti che il valore stringa non deve essere univoco, anche per la sessione di accesso specificata. Ad esempio, possono essere presenti due password per lo stesso dominio, ognuna con le password archiviate come credenziali e il nome di dominio archiviato come chiave primaria.

[in] Credentials

Stringa che rappresenta le credenziali utente. Il formato e il significato di questa stringa sono specifici del pacchetto di autenticazione.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce STATUS_SUCCESS.

Se la funzione ha esito negativo, restituisce un codice NTSTATUS , che può essere il valore seguente o uno dei valori restituiti della funzione Criteri LSA.

Codice restituito Descrizione
STATUS_NO_SUCH_LOGON_SESSION
Impossibile trovare la sessione di accesso specificata.
 

La funzione LsaNtStatusToWinError converte un codice NTSTATUS in un codice di errore di Windows.

Commenti

Il corpo della stringa delle credenziali deve essere auto-relativo; ovvero, non deve contenere puntatori alla memoria all'esterno delle credenziali. Le credenziali vengono copiate e qualsiasi puntatore all'esterno delle credenziali non sarà più valido nella copia. In particolare, le stringhe definite nelle credenziali devono avere sia l'intestazione UNICODE_STRING che il corpo inserito nel buffer delle credenziali. I puntatori alle stringhe nel corpo delle credenziali devono essere modificati in offset.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ntsecpkg.h

Vedi anche

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE