Compartilhar via


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

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método CreateDeviceInterface cria uma instância de uma classe de interface de dispositivo.

Sintaxe

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

Parâmetros

[in] pDeviceInterfaceGuid

Um ponteiro para o GUID de uma classe de interface do dispositivo.

[in, optional] pReferenceString

Um ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome da instância da interface do dispositivo. Esse parâmetro é opcional. O driver poderá passar NULL se o driver não precisar fornecer um nome. Se o driver precisar fornecer um nome, a cadeia de caracteres que o driver passa não deverá conter nenhum caractere separador de caminho ("/" ou "\").

Retornar valor

CreateDeviceInterface retornará S_OK se a operação for bem-sucedida. Caso contrário, esse método retornará um dos códigos de erro definidos em Winerror.h.

Comentários

Os drivers podem usar o parâmetro pReferenceString para diferenciar diferentes instâncias de uma única interface. Em outras palavras, se um driver chamar CreateDeviceInterface duas vezes para a mesma classe de interface do dispositivo, o driver poderá especificar uma cadeia de caracteres diferente para pReferenceString a cada vez. Quando uma instância de uma interface é aberta, a estrutura passa a cadeia de caracteres de referência da instância para o driver. A cadeia de caracteres de referência é acrescentada ao componente path do nome da instância da interface. Em seguida, o driver pode usar a cadeia de caracteres de referência para determinar qual instância da classe de interface do dispositivo está sendo aberta.

Se CreateDeviceInterface for bem-sucedido, o estado inicial da interface será desabilitado. Se a criação for bem-sucedida, a estrutura habilitará e desabilita automaticamente a interface com base no estado PnP do dispositivo. Além disso, um driver pode desabilitar e reabilitar uma interface de dispositivo conforme necessário chamando IWDFDevice::AssignDeviceInterfaceState.

Para obter mais informações sobre interfaces de dispositivo, consulte Usando interfaces de dispositivo em drivers baseados em UMDF.

Exemplos

O exemplo de código a seguir mostra como criar uma instância de interface do dispositivo. Neste exemplo, o driver chama explicitamente IWDFDevice::AssignDeviceInterfaceState para habilitar a interface.

    //
    // 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 Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1.5
Cabeçalho wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Confira também

IWDFDevice

IWDFDevice::AssignDeviceInterfaceState