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)

Vedi anche

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver