Condividi tramite


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)

Vedere anche

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver