共用方式為


WdfDeviceCreateDeviceInterface 函式 (wdfdevice.h)

[適用於 KMDF 和 UMDF]

WdfDeviceCreateDeviceInterface 方法會為指定的裝置建立裝置介面。

語法

NTSTATUS WdfDeviceCreateDeviceInterface(
  [in]           WDFDEVICE        Device,
  [in]           const GUID       *InterfaceClassGUID,
  [in, optional] PCUNICODE_STRING ReferenceString
);

參數

[in] Device

架構裝置物件的句柄。

[in] InterfaceClassGUID

識別裝置介面類別之 GUID 的指標。

[in, optional] ReferenceString

描述裝置介面參考字串之 UNICODE_STRING 結構的指標。 字串不得包含任何路徑分隔符 (“/” 或 “\” )。 這個參數是選擇性的,而且可以 NULL。 如需詳細資訊,請參閱下列一節。

傳回值

如果作業成功,WdfDeviceCreateDeviceInterface 會傳回STATUS_SUCCESS。

如需 WdfDeviceCreateDeviceInterface 可以傳回的其他傳回值清單,請參閱 Framework 物件建立錯誤

方法可能會 傳回其他NTSTATUS 值。

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

言論

驅動程式可以從 EVT_WDF_DRIVER_DEVICE_ADD呼叫 WdfDeviceCreateDeviceInterface,或在裝置啟動之後呼叫 。

如果驅動程式從其 EVT_WDF_DRIVER_DEVICE_ADD 回呼函式呼叫此函式,當裝置停止時,會自動啟用介面。 若要避免自動啟用,驅動程式可以使用設定為 FALSEIsInterfaceEnabled 參數呼叫 WdfDeviceSetDeviceSetDeviceInterfaceStateEx

如果驅動程式在裝置啟動之後呼叫此函式,介面會保持停用。 驅動程式可以視需要呼叫 WdfDeviceSetDeviceInterfaceState

驅動程式可以使用 ReferenceString 參數來區分單一介面的不同實例。 換句話說,如果驅動程式針對相同的裝置介面類別呼叫 WdfDeviceCreateDeviceInterface 兩次,則驅動程式每次都可以指定不同的 ReferenceString 參數。 開啟介面的實例時,I/O 管理員會將實例的參考字串傳遞至驅動程式。 參考字串會附加至介面實例名稱的路徑元件。 驅動程式接著可以使用參考字串來判斷要開啟的裝置介面類別實例。

如需裝置介面和 WdfDeviceCreateDeviceInterface 方法的詳細資訊,請參閱使用裝置介面

例子

下列範例會註冊裝置的 COM 埠介面介面類別。

NTSTATUS  status;

status = WdfDeviceCreateDeviceInterface(
                                        Device,
                                        (LPGUID) &GUID_DEVINTERFACE_COMPORT,
                                        NULL
                                        );

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
標頭 wdfdevice.h (包括 Wdf.h)
連結庫 Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI 合規性規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf)

另請參閱

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState