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) |