共用方式為


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 (请参阅一节)

另請參閱

IoCallDriver

KsDeviceSetBusData