Compartir a través de


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)

Consulte también

IoCallDriver

KsDeviceSetBusData