estructura KSDEVICE_DESCRIPTOR (ks.h)

La estructura KSDEVICE_DESCRIPTOR describe las características de un dispositivo determinado.

Sintaxis

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;

Miembros

Dispatch

Puntero a la tabla de distribución del cliente para este dispositivo. Esta tabla de distribución contiene funciones de distribución de cliente para mensajes PNP, como Agregar, Iniciar, Detener, Quitar. No es necesario que los clientes proporcionen una tabla de distribución a menos que quieran recibir devoluciones de llamada para los mensajes PNP descritos en la tabla de distribución. Cualquier miembro de la tabla de distribución puede ser NULL para indicar que el cliente no desea recibir una notificación para ese mensaje determinado. Para obtener más información, consulte KSDEVICE_DISPATCH.

FilterDescriptorsCount

Este miembro contiene el número de descriptores de filtro para este dispositivo que se proporcionarán en el miembro FilterDescriptors . Cero es un valor legal para este miembro; Los clientes pueden crear generadores de filtros dinámicamente con la función KsCreateFilterFactory en lugar de describirlas estáticamente en el descriptor de dispositivo.

FilterDescriptors

Puntero a una matriz de descriptores de filtro que describen los filtros que puede crear este dispositivo. Este miembro puede ser NULL si FilterDescriptorsCount es cero. Para obtener más información, consulte KSFILTER_DESCRIPTOR.

Version

Valor de tipo ULONG. Debe ser uno y solo uno de los valores de la tabla siguiente, o establecerse en cero si escribe un controlador de versión anterior 0x100.

Valor Descripción
KSDEVICE_DESCRIPTOR_VERSION Indica la compatibilidad del envío avStrMiniDeviceQueryInterface de KSDEVICE_DISPATCH.
KSDEVICE_DESCRIPTOR_VERSION_2 Indica la compatibilidad del miembro Flags de KSDEVICE_DESCRIPTOR.

Flags

Valor de tipo ULONG. Solo hay una marca definida actualmente.

Marca Descripción
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP Indica que el dispositivo admite la reactivación remota.

Alignment

Comentarios

Normalmente, esta estructura se usa junto con KsInitializeDriver en la función DriverEntry del cliente para inicializar el dispositivo. Esta estructura también se usa para inicializar o crear dispositivos manualmente con las funciones KsInitializeDevice y KsCreateDevice .

Si establece Version en KSDEVICE_DESCRIPTOR_VERSION_2 y ejecuta el controlador en una versión temprana de AVStream que no admite Flags, todas las marcas se considerarán cero.

De forma similar, el uso de un descriptor de versión anterior en versiones posteriores de AVStream no hace que se especifiquen marcas.

Requisitos

Requisito Valor
Header ks.h (incluya Ks.h)

Consulte también

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver