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 |