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
緩衝區的指標,接收從總線讀取的數據。 必須至少與 Length 一樣大。
[in] Offset
此參數包含 DataType 所指定之資料從中讀取之空間中的位元組位移。
[in] Length
此參數會指定要讀入 Buffer 的位元元組數目。
傳回值
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 和更新版本的 DirectX。 |
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |
IRQL | PASSIVE_LEVEL (请参阅一节) |