共用方式為


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

另請參閱

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver