Funzione SaslInitializeSecurityContextW (sspi.h)
La funzione SaslInitializeSecurityContext esegue il wrapping di una chiamata standard all'interfaccia del provider di supporto della sicurezza InitializeSecurityContext (Generale) e elabora i cookie del server SASL dal server.
Sintassi
SECURITY_STATUS SEC_ENTRY SaslInitializeSecurityContextW(
[in] PCredHandle phCredential,
[in] PCtxtHandle phContext,
[in] LPWSTR pszTargetName,
[in] unsigned long fContextReq,
[in] unsigned long Reserved1,
[in] unsigned long TargetDataRep,
[in] PSecBufferDesc pInput,
[in] unsigned long Reserved2,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
Parametri
[in] phCredential
Handle per le credenziali restituite dal
funzione di AcquireCredentialsHandle usata per compilare il contesto di sicurezza . L'uso della funzione SaslInitializeSecurityContext richiede almeno le credenziali IN USCITA.
[in] phContext
Puntatore a una struttura CtxtHandle. Nella prima chiamata alla funzione saslInitializeSecurityContext
[in] pszTargetName
Puntatore a una stringa Unicode o ANSI che indica la destinazione del contesto.
[in] fContextReq
Flag di bit che indicano i requisiti del contesto. I flag usati per questo parametro sono preceduti da ISC_REQ_; ad esempio: ISC_REQ_DELEGATE. Specificare le combinazioni dei flag di attributi seguenti.
Per altre descrizioni dei vari attributi, vedere requisiti di contesto .
[in] Reserved1
Valore riservato; deve essere zero.
[in] TargetDataRep
Indica la rappresentazione dei dati, ad esempio l'ordinamento dei byte, nella destinazione. Può essere SECURITY_NATIVE_DREP o SECURITY_NETWORK_DREP.
[in] pInput
Puntatore a una struttura secBufferDesc
SASL richiede un singolo buffer di tipo SECBUFFER_TOKEN che contiene la richiesta di verifica ricevuta dal server.
[in] Reserved2
Valore riservato; deve essere zero.
[out] phNewContext
Puntatore a una struttura CtxtHandle. Nella prima chiamata alla funzione
[in, out] pOutput
Puntatore a una struttura
[out] pfContextAttr
Puntatore a una variabile per ricevere un set di flag di bit che indicano gli attributi del contesto stabilito. Per una descrizione dei vari attributi, vedere requisiti di contesto .
I flag usati per questo parametro sono preceduti da ISC_RET_, ad esempio ISC_RET_DELEGATE.
Per un elenco di valori validi, vedere il parametro fContextReq.
Non verificare la presenza di attributi correlati alla sicurezza fino a quando la chiamata di funzione finale non viene restituita correttamente. I flag di attributo non correlati alla sicurezza, ad esempio il flag ASC_RET_ALLOCATED_MEMORY, possono essere controllati prima della restituzione finale.
[out, optional] ptsExpiry
Puntatore a una struttura TimeStamp che riceve l'ora di scadenza del contesto. È consigliabile che il pacchetto di sicurezza restituisca sempre questo valore nell'ora locale. Questo parametro è facoltativo e NULL deve essere passato per i client di breve durata.
Valore restituito
Se la chiamata viene completata correttamente, questa funzione restituisce SEC_E_OK. Nella tabella seguente vengono illustrati alcuni possibili valori restituiti da errori.
Codice restituito | Descrizione |
---|---|
|
L'elaborazione dell'autenticazione non è consentita. |
|
Memoria insufficiente per completare la richiesta. |
|
Nessun buffer di token si trova nel parametro pOutput oppure il messaggio non è riuscito a decrittografare. |
Osservazioni
Nota
L'intestazione sspi.h definisce SaslInitializeSecurityContext come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Nessuna supportata |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
sspi.h (include Security.h) |
libreria |
Secur32.lib |
dll | Secur32.dll |