IWDFDevice::CreateDeviceInterface 方法 (wudfddi.h)
[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #D5AD7600CE2D242E68E054012058CA1B1 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]
CreateDeviceInterface 方法會建立裝置介面類別的實例。
語法
HRESULT CreateDeviceInterface(
[in] LPCGUID pDeviceInterfaceGuid,
[in, optional] PCWSTR pReferenceString
);
參數
[in] pDeviceInterfaceGuid
裝置介面類別之 GUID 的指標。
[in, optional] pReferenceString
NULL 終止字串的指標,其中包含裝置介面實例的名稱。 這是選擇性參數。 如果驅動程式不需要提供名稱,驅動程式可以傳遞 NULL 。 如果驅動程式必須提供名稱,驅動程式所傳遞的字串不得包含任何路徑分隔字元 (“/” 或 “\”) 。
傳回值
如果作業成功,CreateDeviceInterface 會傳回S_OK。 否則,這個方法會傳回 Winerror.h 中定義的其中一個錯誤碼。
備註
驅動程式可以使用 pReferenceString 參數來區分單一介面的不同實例。 換句話說,如果驅動程式針對相同的裝置介面類別呼叫 CreateDeviceInterface 兩次,則驅動程式每次都可以為 pReferenceString 指定不同的字串。 開啟介面的實例時,架構會將實例的參考字串傳遞至驅動程式。 參考字串會附加至介面實例名稱的路徑元件。 驅動程式接著可以使用參考字串來判斷正在開啟的裝置介面類別實例。
如果 CreateDeviceInterface 成功,則會停用介面的初始狀態。 如果建立成功,架構會根據裝置的 PnP 狀態自動啟用和停用介面。 此外,驅動程式可以視需要呼叫 IWDFDevice::AssignDeviceInterfaceState 來停用並重新啟用裝置介面。
如需裝置介面的詳細資訊,請參閱 在 UMDF 型驅動程式中使用裝置介面。
範例
下列程式代碼範例示範如何建立裝置介面實例。 在此範例中,驅動程式會明確呼叫 IWDFDevice::AssignDeviceInterfaceState 來啟用介面。
//
// Create the device interface.
//
HRESULT hr;
if (S_OK == hr) {
hr = m_FxDevice->CreateDeviceInterface(
&GUID_DEVINTERFACE_OSRUSBFX2,
NULL);
}
if (S_OK == hr) {
hr = m_FxDevice->AssignDeviceInterfaceState(
&GUID_DEVINTERFACE_OSRUSBFX2,
NULL,
TRUE);
}
規格需求
需求 | 值 |
---|---|
終止支援 | 在 UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.5 |
標頭 | wudfddi.h (包含 Wudfddi.h) |
Dll | WUDFx.dll |