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