Condividi tramite


Funzione di callback SpAcquireCredentialsHandleFn (ntsecpkg.h)

Chiamato per ottenere un handle per le credenziali di un'entità. Il pacchetto di sicurezza può negare l'accesso al chiamante se il chiamante non dispone dell'autorizzazione per accedere alle credenziali.

Se l'handle delle credenziali viene restituito al chiamante, il pacchetto deve specificare anche una scadenza per l'handle.

Sintassi

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

Parametri

[in] PrincipalName

Facoltativo. Puntatore a una struttura UNICODE_STRING contenente il nome dell'entità di sicurezza le cui credenziali vengono richieste. Se questo valore è NULL, il chiamante richiede un handle alle credenziali dell'utente nel cui contesto di sicurezza è in esecuzione il chiamante.

[in] CredentialUseFlags

Flag che indicano come verranno usate le credenziali. I valori seguenti sono validi.

Valore Significato
SECPKG_CRED_INBOUND
Le credenziali verranno usate con la funzione AcceptSecurityContext (Generale).
SECPKG_CRED_OUTBOUND
Le credenziali verranno usate con la funzione InitializeSecurityContext (Generale).

[in] LogonId

facoltativo. Puntatore a un LUID contenente l'identificatore di accesso dell'entità di sicurezza.

[in] AuthorizationData

facoltativo. Puntatore ai dati di autenticazione supplementari.

GetKeyFunciton

[in] GetKeyArgument

Puntatore all'argomento usato con la funzione GetKeyFunction .

[out] CredentialHandle

Puntatore a un LSA_SEC_HANDLE che riceve le credenziali. Al termine dell'uso delle credenziali, liberare l'handle chiamando la funzione SpFreeCredentialsHandle .

[out] ExpirationTime

Puntatore a un timestamp che riceve l'ora di scadenza dell'handle delle credenziali.

Valore restituito

Se la funzione ha esito positivo, restituire STATUS_SUCCESS.

Se la funzione ha esito negativo, restituire un codice NTSTATUS che indica il motivo per cui non è riuscito. Nella tabella seguente sono elencati i motivi comuni dell'errore e i codici di errore che devono essere restituiti.

Codice restituito Descrizione
SEC_E_NOT_OWNER
L'accesso al chiamante viene negato.
SEC_E_NO_CREDENTIALS
Non sono disponibili credenziali per l'entità specificata.

Commenti

Il pacchetto può usare le funzioni di supporto dell'autorità di sicurezza locale (LSA) per determinare se al chiamante deve essere concesso l'accesso alle credenziali richieste.

Le credenziali ottenute da SpAcquireCredentialsHandle vengono liberate chiamando la funzione SpFreeCredentialsHandle .

SSP/APs deve implementare la funzione SpAcquireCredentialsHandle ; Tuttavia, il nome effettivo assegnato all'implementazione spetta allo sviluppatore.

Un puntatore alla funzione SpAcquireCredentialsHandle è disponibile nella struttura SECPKG_FUNCTION_TABLEricevuta dalla funzione SpLsaModeInitialize .

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

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize