Поделиться через


Метод IWDFDevice::CreateDeviceInterface (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы 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