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