struttura KSDEVICE_DESCRIPTOR (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;
Membri
Dispatch
Puntatore alla tabella dispatch client per questo dispositivo. Questa tabella dispatch contiene funzioni di invio client per i messaggi PNP, ad esempio Add, Start, Stop, Remove. I client non devono fornire una tabella dispatch, a meno che non vogliano ricevere callback per i messaggi PNP descritti nella tabella dispatch. Qualsiasi membro della tabella dispatch può essere NULL per indicare che il client non desidera ricevere una 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 verranno forniti 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. Deve essere uno 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 del AVStrMiniDeviceQueryInterface dispatch di KSDEVICE_DISPATCH. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Indica il supporto del membro flag di di KSDEVICE_DESCRIPTOR. |
Flags
Valore di tipo ULONG. È attualmente definito un solo flag.
Bandiera | Descrizione |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Indica che il dispositivo supporta la riattivazione remota. |
Alignment
Osservazioni
Nella maggior parte dei casi, 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 di KsInitializeDevice e KsCreateDevice.
Se si imposta Versione su KSDEVICE_DESCRIPTOR_VERSION_2 ed eseguire il driver in una versione anticipata di AVStream che non supporta Flag, tutti i flag verranno considerati pari a zero.
Analogamente, l'uso di un descrittore di versione precedente nelle versioni successive di AVStream non comporta l'impostazione di alcun flag.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | ks.h (include Ks.h) |