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