Condividi tramite


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
ISC_REQ_DELEGATE
Il server può rappresentare il client.
ISC_REQ_MUTUAL_AUTH
Sia il client che il server devono dimostrare la propria identità.
ISC_REQ_REPLAY_DETECT
Il contesto di sicurezza supporterà il rilevamento dei pacchetti riprodotti.
ISC_REQ_SEQUENCE_DETECT
Il contesto di sicurezza supporterà il rilevamento dei messaggi non ordinati.
ISC_REQ_USE_SESSION_KEY
È necessario negoziare una nuova chiave di sessione .
ISC_REQ_PROMPT_FOR_CREDS
Se il client è un utente interattivo, il pacchetto deve, se possibile, richiedere all'utente le credenziali appropriate.
ISC_REQ_USE_SUPPLIED_CREDS
Il buffer di input contiene informazioni sulle credenziali specifiche del pacchetto che devono essere usate per autenticare la connessione.
ISC_REQ_ALLOCATE_MEMORY
Il pacchetto deve allocare memoria. Il chiamante deve infine chiamare la funzione FreeContextBuffer per liberare memoria allocata dal pacchetto.
ISC_REQ_USE_DCE_STYLE
Il chiamante prevede una transazione di autenticazione reciproca a tre gambe.
ISC_REQ_DATAGRAM
È consigliabile usare un canale di comunicazione di tipo datagram. Per altre informazioni, vedere Contesti di Datagram.
ISC_REQ_CONNECTION
È necessario usare un canale di comunicazione di tipo connessione. Per altre informazioni, vedere Contesti orientati alla connessione.
ISC_REQ_EXTENDED_ERROR
Se il contesto ha esito negativo, generare un messaggio di risposta di errore da inviare al client.
ISC_REQ_STREAM
È necessario usare un canale di comunicazione di tipo flusso. Per altre informazioni, vedere contesti di Stream.
ISC_REQ_INTEGRITY
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