Funzione KsValidateConnectRequest (ks.h)
La funzione KsValidateConnectRequest convalida una richiesta di connessione e restituisce un puntatore alla struttura di connessione associata alla richiesta.
Questa funzione può essere chiamata solo in PASSIVE_LEVEL.
Sintassi
KSDDKAPI NTSTATUS KsValidateConnectRequest(
[in] PIRP Irp,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[out] PKSPIN_CONNECT *Connect
);
Parametri
[in] Irp
Puntatore a un IRP che specifica la richiesta di connessione.
[in] DescriptorsCount
Specifica il numero di descrittori pin passati.
[in] Descriptor
Specifica un puntatore all'elenco delle strutture di KSPIN_DESCRIPTOR.
[out] Connect
Specifica una posizione in cui posizionare un puntatore al puntatore KSPIN_CONNECT passato alla richiesta di creazione. Se KsValidateConnectRequest restituisce esito positivo, Connect+1 conterrà un puntatore a KSDATAFORMAT con cui è stato aperto il pin.
Valore restituito
La funzione KsValidateConnectRequest restituisce STATUS_SUCCESS in caso di esito positivo o restituisce un errore.
Osservazioni
La funzione KsValidateConnectRequest gestisce le eccezioni di accesso alla struttura di connessione di base e convalida i requisiti di comunicazione, il supporto, il protocollo e il formato dati di base. La convalida eseguita nel formato di dati passato si basa sull'elenco di intervalli di dati per il pin specificato in base al quale deve essere creata un'istanza di pin. La convalida ha esito positivo in tre istanze: se un formato principale dell'intervallo è un carattere jolly, il formato principale dell'intervallo corrisponde e il formato secondario dell'intervallo è un carattere jolly o il formato principale dell'intervallo, il formato secondario dell'intervallo e l'identificatore di intervallo corrispondono tutti.
Il buffer viene passato a una copia del buffer di input originale, se l'originatore non era in modalità kernel ed è quindi sicuro da accedere.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | ks.h (include Ks.h) |
libreria | Ks.lib |