Функция KsDeviceSetBusData (ks.h)

Функция KsDeviceSetBusData записывает данные в шину, в которой находится указанное устройство AVStream.

Синтаксис

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

Параметры

[in] Device

Указатель на структуру KSDEVICE . Эта подпрограмма пытается записать данные в шину, в которой находится это устройство.

[in] DataType

Этот параметр указывает тип записываемых данных шины. Ноль соответствует пространству конфигурации. Дополнительные сведения см. в обсуждении WhichSpace на странице справочника по IRP_MN_READ_CONFIG.

[in] Buffer

Указатель на буфер, содержащий данные для записи в шину. Количество байтов в буфере должно быть равно или больше длины.

[in] Offset

Этот параметр содержит смещение байтов в пространстве, указанном dataType , где записываются данные.

[in] Length

Этот параметр указывает количество байтов данных для записи в шину из буфера.

Возвращаемое значение

KsDeviceSetBusData возвращает количество байтов, записанных в шину. В случае ошибки подпрограмма возвращает ноль. Дополнительные сведения см. ниже в разделе Примечания.

Комментарии

Эта функция выполняется по-разному в зависимости от драйвера шины, в которой находится указанное устройство. Если драйвер автобуса поддерживает стандарт интерфейса шины (обычно PCI), вызовите эту функцию по адресу IRQL = PASSIVE_LEVEL или DISPATCH_LEVEL. После такого вызова KsDeviceSetBusData возвращает фактическое количество байтов, записанных в запрошенное пространство.

Если драйвер автобуса не поддерживает стандарт интерфейса шины, AVStream взаимодействует с водителем автобуса с помощью IoCallDriver. В этом случае вызовите KsDeviceSetBusData по адресу IRQL = PASSIVE_LEVEL. Возвращаемое значение равно нулю в случае сбоя или равно Length , если данные были успешно записаны.

Драйверы под управлением Windows 2000 и более поздних версий могут выполнять этот вызов в IRQL = DISPATCH_LEVEL. Однако для обеспечения совместимости средства записи мини-драйверов могут потребоваться ограничить использование KsDeviceSetBusData irQL = PASSIVE_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib
IRQL См. раздел "Примечания".

См. также раздел

IoCallDriver

KsDeviceGetBusData