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 呼叫。 由於 KsAddDeviceKsCreateDevice 進行內部呼叫,因此呼叫 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

另請參閱

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver