Funzione di callback SpExchangeMetaDataFn (ntsecpkg.h)
Invia metadati a un provider di supporto per la sicurezza. I metadati inviati da questa funzione vengono ottenuti da una chiamata precedente alla funzione SpQueryMetaDataFn .
Sintassi
SpExchangeMetaDataFn Spexchangemetadatafn;
NTSTATUS Spexchangemetadatafn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in, optional] PUNICODE_STRING TargetName,
[in] ULONG ContextRequirements,
[in] ULONG MetaDataLength,
[in] PUCHAR MetaData,
[in, out] PLSA_SEC_HANDLE ContextHandle
)
{...}
Parametri
[in] CredentialHandle
Handle per le credenziali da usare per il contesto di sicurezza. Se il parametro ContextHandle punta a NULL all'input, questa funzione usa il valore di questo parametro per creare un contesto di sicurezza.
Il valore di questo parametro non può essere NULL se il parametro ContextHandle punta a NULL all'input.
[in, optional] TargetName
Puntatore a un UNICODE_STRING che contiene il nome della destinazione del contesto.
[in] ContextRequirements
Flag che indicano gli attributi di contesto richiesti dal client.
I valori validi sono i seguenti. I valori possono essere combinati usando un'operazione OR logica.
Valore | Significato |
---|---|
|
Il server può rappresentare il client. |
|
Sia il client che il server devono dimostrare la propria identità. |
|
Il contesto di sicurezza supporterà il rilevamento dei pacchetti riprodotti. |
|
Il contesto di sicurezza supporterà il rilevamento dei messaggi non ordinati. |
|
È necessario negoziare una nuova chiave di sessione . |
|
Se il client è un utente interattivo, il pacchetto deve, se possibile, richiedere all'utente le credenziali appropriate. |
|
Il buffer di input contiene informazioni sulle credenziali specifiche del pacchetto che devono essere usate per autenticare la connessione. |
|
Il pacchetto deve allocare memoria. Il chiamante deve infine chiamare la funzione FreeContextBuffer per liberare memoria allocata dal pacchetto. |
|
Il chiamante prevede una transazione di autenticazione reciproca a tre gambe. |
|
È consigliabile usare un canale di comunicazione di tipo datagram. Per altre informazioni, vedere Contesti di Datagram. |
|
È necessario usare un canale di comunicazione di tipo connessione. Per altre informazioni, vedere Contesti orientati alla connessione. |
|
Se il contesto ha esito negativo, generare un messaggio di risposta di errore da inviare al client. |
|
È necessario usare un canale di comunicazione di tipo flusso. Per altre informazioni, vedere contesti di Stream. |
|
L'integrità del buffer viene verificata; Tuttavia, i messaggi riprodotti e non in sequenza non verranno rilevati. |
[in] MetaDataLength
Dimensione, in caratteri, del buffer MetaData .
[in] MetaData
Metadati da inviare.
[in, out] ContextHandle
Handle per l'handle di sicurezza da usare. Se questo parametro punta a NULL nell'input, questa funzione alloca e inizializza un contesto di sicurezza usando i valori dei parametri CredentialHandle e TargetName .
Se questo parametro punta a NULL nell'input, CredentialHandle non può essere NULL.
Valore restituito
Se la funzione ha esito positivo, restituire STATUS_SUCCESS o un codice di stato informativo.
Se la funzione ha esito negativo, restituisce un codice di errore NTSTATUS che indica il motivo per cui non è riuscito. Per altre informazioni, vedere la sezione Osservazioni.
Commenti
Un puntatore alla funzione SpExchangeMetaDataFn è disponibile nella struttura SECPKG_FUNCTION_TABLEricevuta dalla funzione SpLsaModeInitialize .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ntsecpkg.h |