Функция 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
Этот параметр указывает тип считываемых данных шины. Ноль соответствует пространству конфигурации. Дополнительные сведения см. в обсуждении , в справочной странице для 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, в случае сбоя или равно длине, если получение данных было успешно.
Чтобы обеспечить совместимость, записи мини-driver могут потребовать ограничить использование KsDeviceGetBusData с IRQL = PASSIVE_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX. |
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |