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 |