Método IWDFDevice::CreateDeviceInterface (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

El método CreateDeviceInterface crea una instancia de una clase de interfaz de dispositivo.

Sintaxis

HRESULT CreateDeviceInterface(
  [in]           LPCGUID pDeviceInterfaceGuid,
  [in, optional] PCWSTR  pReferenceString
);

Parámetros

[in] pDeviceInterfaceGuid

Puntero al GUID de una clase de interfaz de dispositivo.

[in, optional] pReferenceString

Puntero a una cadena terminada en NULL que contiene el nombre de la instancia de la interfaz del dispositivo. Este parámetro es opcional. El controlador puede pasar NULL si el controlador no tiene que proporcionar un nombre. Si el controlador debe proporcionar un nombre, la cadena que pasa el controlador no debe contener ningún carácter separador de ruta de acceso ("/" o "\").

Valor devuelto

CreateDeviceInterface devuelve S_OK si la operación se realiza correctamente. De lo contrario, este método devuelve uno de los códigos de error definidos en Winerror.h.

Comentarios

Los controladores pueden usar el parámetro pReferenceString para diferenciar diferentes instancias de una única interfaz. En otras palabras, si un controlador llama a CreateDeviceInterface dos veces para la misma clase de interfaz de dispositivo, el controlador puede especificar una cadena diferente para pReferenceString cada vez. Cuando se abre una instancia de una interfaz, el marco pasa la cadena de referencia de la instancia al controlador. La cadena de referencia se anexa al componente de ruta de acceso del nombre de la instancia de interfaz. A continuación, el controlador puede usar la cadena de referencia para determinar qué instancia de la clase de interfaz de dispositivo se está abriendo.

Si CreateDeviceInterface se realiza correctamente, el estado inicial de la interfaz está deshabilitado. Si la creación se realiza correctamente, el marco habilita y deshabilita automáticamente la interfaz en función del estado PnP del dispositivo. Además, un controlador puede deshabilitar y volver a habilitar una interfaz de dispositivo según sea necesario llamando a IWDFDevice::AssignDeviceInterfaceState.

Para obtener más información sobre las interfaces de dispositivo, consulte Uso de interfaces de dispositivo en controladores basados en UMDF.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una instancia de interfaz de dispositivo. En este ejemplo, el controlador llama explícitamente a IWDFDevice::AssignDeviceInterfaceState para habilitar la interfaz.

    //
    // 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);
    }

Requisitos

Requisito Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1.5
Encabezado wudfddi.h (incluya Wudfddi.h)
Archivo DLL WUDFx.dll

Consulte también

IWDFDevice

IWDFDevice::AssignDeviceInterfaceState