Compartir a través de


Función KsDeviceSetBusData (ks.h)

La función KsDeviceSetBusData escribe datos en el bus en el que reside el dispositivo AVStream especificado.

Sintaxis

KSDDKAPI ULONG KsDeviceSetBusData(
  [in] PKSDEVICE Device,
  [in] ULONG     DataType,
  [in] PVOID     Buffer,
  [in] ULONG     Offset,
  [in] ULONG     Length
);

Parámetros

[in] Device

Puntero a una estructura KSDEVICE . Esta rutina intenta escribir datos en el bus en el que reside este dispositivo.

[in] DataType

Este parámetro indica el tipo de datos de bus que se van a escribir. 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 contiene los datos que se van a escribir en el bus. El número de bytes del búfer debe ser igual o mayor que Length.

[in] Offset

Este parámetro contiene el desplazamiento de bytes en el espacio especificado por DataType donde se escriben los datos.

[in] Length

Este parámetro especifica el número de bytes de datos que se van a escribir en el bus desde Buffer.

Valor devuelto

KsDeviceSetBusData devuelve el número de bytes escritos realmente en el bus. En el caso de un error, la rutina devuelve cero. Vea los detalles siguientes en la sección Comentarios.

Comentarios

Esta función realiza de forma diferente en función del controlador del bus en el que reside el dispositivo especificado. Si el controlador de bus 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, KsDeviceSetBusData devuelve el número real de bytes escritos en el espacio solicitado.

Si el controlador de autobús no admite el estándar de interfaz de bus, AVStream se comunica con el controlador de autobús mediante IoCallDriver. En este caso, llame a KsDeviceSetBusData en IRQL = PASSIVE_LEVEL. El valor devuelto es cero, en el caso de error o igual a Length si los datos se escribieron correctamente.

Los controladores que se ejecutan en Windows 2000 y versiones posteriores pueden realizar esta llamada en IRQL = DISPATCH_LEVEL. Sin embargo, para garantizar la compatibilidad, es posible que los escritores de minidriver quieran restringir el uso de KsDeviceSetBusData a IRQL = PASSIVE_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows XP y sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX.
Plataforma de destino Universal
Encabezado ks.h (incluya Ks.h)
Library Ks.lib
IRQL vea la sección Comentarios.

Consulte también

IoCallDriver

KsDeviceGetBusData