共用方式為


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

接收從總線讀取之數據的緩衝區指標。 長度至少必須和 長度一樣大。

[in] Offset

此參數包含 dataType 所指定空間中的位元組位移,DataType 從中讀取數據。

[in] Length

這個參數會指定要讀取到緩衝區 位元組數目

傳回值

KsDeviceGetBusData 會傳回實際從總線讀取的位元組數目。 如果發生錯誤,這個值會是零。

言論

根據指定裝置所在之總線的驅動程式而定,此函式有兩個可能的行為和限制集。 如果指定的總線驅動程式支援總線介面標準(通常是PCI),請在IRQL = PASSIVE_LEVEL或DISPATCH_LEVEL呼叫此函式。 呼叫之後,KsDeviceGetBusData 會傳回從要求的空間讀取的實際位元組數目。 不過,如果指定的總線驅動程式不支援總線介面標準,則AVStream會透過ioCallDriver 與總線驅動程序通訊。 請注意,這會將 KsDeviceGetBusData 限制為 IRQL = PASSIVE_LEVEL,也表示如果數據擷取成功,則傳回值為 0,或等於 Length

為了確保相容性,minidriver 寫入器可能會想要將 KsDeviceGetBusData 限制為 IRQL = PASSIVE_LEVEL。

要求

要求 價值
最低支援的用戶端 Microsoft Windows XP 和更新版本的作系統和 DirectX 8.0 和更新版本的 DirectX 版本中提供。
目標平臺 普遍
標頭 ks.h (包括 Ks.h)
連結庫 Ks.lib
IRQL PASSIVE_LEVEL (請參閱一節)

另請參閱

IoCallDriver

KsDeviceSetBusData