KsCreateDevice 函式 (ks.h)
KsCreateDevice 函式會建立AVStream裝置。
語法
KSDDKAPI NTSTATUS KsCreateDevice(
[in] PDRIVER_OBJECT DriverObject,
[in] PDEVICE_OBJECT PhysicalDeviceObject,
[in, optional] const KSDEVICE_DESCRIPTOR *Descriptor,
[in] ULONG ExtensionSize,
[out, optional] PKSDEVICE *Device
);
參數
[in] DriverObject
minidriver 之 WDM 驅動程式物件的指標。
[in] PhysicalDeviceObject
您想要在 AVStream 下建立之裝置的 WDM 實體裝置物件的指標。
[in, optional] Descriptor
描述所建立裝置特性之裝置描述項的指標。 如果呼叫端未指定這個選擇性參數,AVStream 會建立具有預設特性且沒有相關聯的篩選處理站的裝置。
[in] ExtensionSize
此參數包含裝置擴充功能的大小。 如果這是零,則會使用預設延伸模組大小。 如果沒有,它至少必須是大小 (KSDEVICE_HEADER) 。
[out, optional] Device
記憶體位置的指標,其中包含所建立 KSDEVICE 結構的位址。 選擇性。
傳回值
如果已成功建立裝置,則傳回STATUS_SUCCESS。 否則,它會傳回適當的錯誤碼。
備註
一般而言,minidriver 不會直接呼叫此函式。 相反地, KsCreateDevice 是由預設 AddDevice 處理程式 KsAddDevice 呼叫。 由於 KsAddDevice 對 KsCreateDevice 進行內部呼叫,因此呼叫 KsCreateDevice 的驅動程式不應該個別呼叫 KsAddDevice 。
直接呼叫 KsCreateDevice 的 minidriver 不應使用 KsInitializeDriver。 如果 minidriver 未呼叫 KsInitializeDriver,它應該改為提供自己的 AddDevice 回呼。 minidriver 接著可以從該 AddDevice 回呼呼叫 KsCreateDevice。
如果未提供 任何KSDEVICE_DESCRIPTOR,AVStream 會建立具有預設特性且沒有相關聯的篩選處理站的裝置。 如果提供KSDEVICE_DESCRIPTOR,且包含具有建立分派 的KSDEVICE_DISPATCH 數據表,則會呼叫建立分派。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX 版本。 |
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |
IRQL | PASSIVE_LEVEL |