共用方式為


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 請參閱一節。

另請參閱

IoCallDriver

KsDeviceGetBusData