KSDEVICE_DESCRIPTOR struttura (ks.h)
La struttura KSDEVICE_DESCRIPTOR descrive le caratteristiche di un particolare dispositivo.
Sintassi
typedef struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH *Dispatch;
ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
ULONG Version;
ULONG Flags;
PVOID Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
Members
Dispatch
Puntatore alla tabella di invio client per questo dispositivo. Questa tabella di invio contiene funzioni di invio client per i messaggi PNP, ad esempio Add, Start, Stop, Remove. I client non devono fornire una tabella di invio, a meno che non vogliano ricevere callback per i messaggi PNP descritti nella tabella di invio. Qualsiasi membro della tabella di invio può essere NULL per indicare che il client non vuole ricevere notifica per tale messaggio specifico. Per altre informazioni, vedere KSDEVICE_DISPATCH.
FilterDescriptorsCount
Questo membro contiene il numero di descrittori di filtro per questo dispositivo che verrà fornito nel membro FilterDescriptors . Zero è un valore legale per questo membro; i client possono creare factory di filtro in modo dinamico con la funzione KsCreateFilterFactory anziché descriverli staticamente nel descrittore del dispositivo.
FilterDescriptors
Puntatore a una matrice di descrittori di filtro che descrivono i filtri che possono essere creati da questo dispositivo. Questo membro può essere NULL se FilterDescriptorsCount è zero. Per altre informazioni, vedere KSFILTER_DESCRIPTOR.
Version
Valore di tipo ULONG. Questa operazione deve essere una e solo uno dei valori della tabella seguente oppure impostare su zero se si scrive un driver di 0x100 versione preliminare.
Valore | Descrizione |
---|---|
KSDEVICE_DESCRIPTOR_VERSION | Indica il supporto dell'invio di KSDEVICE_DISPATCH AVStrMiniDeviceQueryInterface. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Indica il supporto del membro Flag di KSDEVICE_DESCRIPTOR. |
Flags
Valore di tipo ULONG. Esiste un solo flag attualmente definito.
Flag | Descrizione |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Indica che il dispositivo supporta la riattivazione remota. |
Alignment
Commenti
La maggior parte delle volte, questa struttura viene usata insieme a KsInitializeDriver nella funzione DriverEntry del client per inizializzare il dispositivo. Questa struttura viene usata anche per inizializzare o creare dispositivi manualmente con le funzioni KsInitializeDevice e KsCreateDevice .
Se si imposta Versione su KSDEVICE_DESCRIPTOR_VERSION_2 ed eseguire il driver in una versione iniziale di AVStream che non supporta flag, tutti i flag verranno considerati zero.
Analogamente, l'uso di un descrittore di versione precedente nelle versioni successive di AVStream causa l'assenza di flag da specificare.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ks.h (include Ks.h) |