Función KsDeviceGetBusData (ks.h)
La función KsDeviceGetBusData lee datos del bus donde reside el dispositivo AVStream especificado.
Sintaxis
KSDDKAPI ULONG KsDeviceGetBusData(
[in] PKSDEVICE Device,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Parámetros
[in] Device
Puntero a la estructura KSDEVICE que representa el dispositivo AVStream determinado para el que se deben leer los datos del bus.
[in] DataType
Este parámetro indica el tipo de datos de bus que se van a leer. Cero corresponde al espacio de configuración. Para obtener más información, consulte la explicación de WhichSpace en la página de referencia de IRP_MN_READ_CONFIG.
[in] Buffer
Puntero a un búfer que recibe los datos leídos del bus. Debe ser al menos tan grande como Length.
[in] Offset
Este parámetro contiene el desplazamiento de bytes en el espacio especificado por DataType desde el que se leen los datos.
[in] Length
Este parámetro especifica el número de bytes que se van a leer en buffer.
Valor devuelto
KsDeviceGetBusData devuelve el número de bytes leídos realmente desde el bus. Si se produce un error, este valor es cero.
Comentarios
Dependiendo del controlador del bus donde reside el dispositivo especificado, hay dos posibles comportamientos y conjuntos de restricciones en esta función. Si el controlador de bus especificado admite el estándar de interfaz de bus (normalmente PCI), llame a esta función en IRQL = PASSIVE_LEVEL o DISPATCH_LEVEL. Después de esta llamada, KsDeviceGetBusData devuelve el número real de bytes leídos del espacio solicitado. Sin embargo, si el controlador de bus especificado no admite el estándar de interfaz de bus, AVStream se comunica con el controlador de bus a través de IoCallDriver. Tenga en cuenta que esto restringe el uso de KsDeviceGetBusData a IRQL = PASSIVE_LEVEL y también significa que el valor devuelto es 0, en caso de error o igual a Length si la adquisición de datos se realizó correctamente.
Para garantizar la compatibilidad, es posible que los escritores de minidriver quieran restringir el uso de KsDeviceGetBusData a IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
Plataforma de destino | Universal |
Encabezado | ks.h (incluye Ks.h) |
Library | Ks.lib |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |