IWDFDevice::CreateDeviceInterface 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 没有将新功能添加到 UMDF 1,并且对较新版本的 Windows 10 上的 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

另请参阅

IWDFDevice

IWDFDevice::AssignDeviceInterfaceState