Функция KsDeviceGetBusData (ks.h)
Функция KsDeviceGetBusData считывает данные из шины, в которой находится данное устройство AVStream.
Синтаксис
KSDDKAPI ULONG KsDeviceGetBusData(
[in] PKSDEVICE Device,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Параметры
[in] Device
Указатель на структуру KSDEVICE, представляющую заданное устройство AVStream, для которого должны считываться данные из шины.
[in] DataType
Этот параметр указывает тип считываемых данных шины. Ноль соответствует пространству конфигурации. Дополнительные сведения см. в обсуждении WhichSpace на странице справочника по IRP_MN_READ_CONFIG.
[in] Buffer
Указатель на буфер, который получает данные, считываемые из шины. Должен быть не меньше длины.
[in] Offset
Этот параметр содержит смещение байтов в пространстве, заданном параметром DataType , из которого считываются данные.
[in] Length
Этот параметр указывает количество байтов для чтения в буфер.
Возвращаемое значение
KsDeviceGetBusData возвращает количество байтов, фактически считанных из шины. Если возникает ошибка, это значение равно нулю.
Комментарии
В зависимости от драйвера для шины, в которой находится указанное устройство, существует два возможных поведения и наборы ограничений для этой функции. Если драйвер шины поддерживает стандарт интерфейса шины (обычно PCI), вызовите эту функцию по адресу IRQL = PASSIVE_LEVEL или DISPATCH_LEVEL. После такого вызова KsDeviceGetBusData возвращает фактическое количество байтов, считанных из запрошенного пространства. Если, однако, указанный водитель автобуса не поддерживает стандарт интерфейса шины, AVStream взаимодействует с водителем автобуса через IoCallDriver. Обратите внимание, что это ограничивает использование KsDeviceGetBusData до IRQL = PASSIVE_LEVEL а также означает, что возвращаемое значение равно 0 в случае сбоя или равно Length в случае успешного получения данных.
Чтобы обеспечить совместимость, модулям записи мини-драйверов может потребоваться ограничить использование KsDeviceGetBusData до IRQL = PASSIVE_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |