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
緩衝區的指標,其中包含要寫入總線的數據。 緩衝區中的位元組數目必須等於或大於 Length。
[in] Offset
此參數包含寫入 數據之 DataType 所指定空間中的位元移。
[in] Length
此參數會指定要從 Buffer 寫入總線的數據位元組數目 。
傳回值
KsDeviceSetBusData 會傳回實際寫入總線的位元元組數目。 如果是錯誤,例程會傳回零。 請參閱一節中的下方詳細數據。
備註
此函式會根據指定裝置所在總線的驅動程式,以不同的方式執行。 如果總線驅動程式支援總線介面標準 (通常是PCI) ,請在IRQL = PASSIVE_LEVEL或DISPATCH_LEVEL呼叫此函式。 在這類呼叫之後, KsDeviceSetBusData 會傳回寫入要求空間的實際位元元組數目。
如果總線驅動程式不支援總線介面標準,AVStream 會使用 IoCallDriver與總線驅動程序通訊。 在此情況下,請在 IRQL = PASSIVE_LEVEL 呼叫 KsDeviceSetBusData 。 如果成功寫入數據,則傳回值為零,如果失敗,則等於 Length 。
在 Windows 2000 和更新版本上執行的驅動程式可以在 IRQL = DISPATCH_LEVEL進行此呼叫。 不過,為了確保相容性,迷你驅動程式寫入器可能會想要將 KsDeviceSetBusData 的使用限制為 IRQL = PASSIVE_LEVEL。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX。 |
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |
IRQL | 請參閱一節。 |