Funzione KsCreatePin (ks.h)
La funzione KsCreatePin passa una richiesta di connessione a un dispositivo, creando un'istanza di pin. Questa funzione può essere chiamata solo in PASSIVE_LEVEL per i client in modalità kernel.
Sintassi
KSDDKAPI NTSTATUS KsCreatePin(
[in] HANDLE FilterHandle,
[in] PKSPIN_CONNECT Connect,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE ConnectionHandle
);
Parametri
[in] FilterHandle
Specifica l'handle del filtro che avvia la richiesta di creazione e la posizione in cui si verificherà la connessione.
[in] Connect
Puntatore a una struttura KSPIN_CONNECT che contiene parametri per la connessione richiesta. Questa operazione deve essere seguita in memoria da una struttura di dati KSDATAFORMAT, che descrive il formato dei dati richiesto per la connessione.
[in] DesiredAccess
Specifica l'accesso desiderato al pin. Si tratta in genere di GENERIC_READ o GENERIC_WRITE. Per il flusso di dati nel pin, questo valore deve essere impostato su GENERIC_WRITEe per il flusso di dati all'esterno del pin deve essere impostato su GENERIC_READ indipendentemente dal metodo di comunicazione.
[out] ConnectionHandle
Specifica l'handle di connessione passato. La routine riempie l'oggetto con un handle per l'oggetto file della connessione creata. Questo valore può quindi essere usato per disconnettersi con la funzione CloseHandle.
Valore restituito
La funzione KsCreatePin restituisce STATUS_SUCCESS se la connessione ha avuto esito positivo oppure restituisce un errore se la connessione non è riuscita. Inoltre, questo codice di errore Win32 (da Winerror.h) può essere restituito:
Osservazioni
La routine invia una richiesta di IRP_MJ_CREATE al driver. Il driver accetta la richiesta solo se l'interfaccia, il supporto e il formato dati sono compatibili.
Se Connect->PinToHandle è NULL, KsCreatePin crea un pin che il chiamante può usare per inviare richieste al driver di streaming specificato in Connect->FilterHandle. Connect:>PinId determina il tipo di pin del pin da creare.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | ks.h (include Ks.h) |
libreria | Ks.lib |