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 dove 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 di dati richiesto per la connessione.
[in] DesiredAccess
Specifica l'accesso desiderato al pin. Questo è in genere GENERIC_READ o GENERIC_WRITE. Per il flusso di dati nel pin questo valore deve essere impostato su GENERIC_WRITE e per il flusso di dati dal pin deve essere impostato su GENERIC_READ indipendentemente dal metodo di comunicazione.
[out] ConnectionHandle
Specifica l'handle di connessione passato. La routine riempie questa operazione con un handle all'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:
Commenti
La routine invia una richiesta di IRP_MJ_CREATE al driver. Il driver accetta la richiesta solo se il formato di dati, media e interfaccia 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.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ks.h (include Ks.h) |
Libreria | Ks.lib |