Функция 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 | См. раздел "Примечания". |