Поделиться через


Функция 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

Этот параметр указывает тип записываемых данных шины. Ноль соответствует пространству конфигурации. Дополнительные сведения см. в обсуждении , в справочной странице для 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. Возвращаемое значение равно нулю, в случае сбоя или равно длине, если данные были записаны успешно.

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

Требования

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

См. также

IoCallDriver

KsDeviceGetBusData