Compartilhar via


Função WdfDeviceCreateDeviceInterface (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceCreateDeviceInterface cria uma interface de dispositivo para um dispositivo especificado.

Sintaxe

NTSTATUS WdfDeviceCreateDeviceInterface(
  [in]           WDFDEVICE        Device,
  [in]           const GUID       *InterfaceClassGUID,
  [in, optional] PCUNICODE_STRING ReferenceString
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] InterfaceClassGUID

Um ponteiro para um GUID que identifica a classe de interface do dispositivo.

[in, optional] ReferenceString

Um ponteiro para uma estrutura UNICODE_STRING que descreve uma cadeia de caracteres de referência para a interface do dispositivo. A cadeia de caracteres não deve conter nenhum caractere separador de caminho ("/" ou "\"). Esse parâmetro é opcional e pode ser NULL. Para obter mais informações, consulte a seção Comentários a seguir.

Retornar valor

WdfDeviceCreateDeviceInterface retornará STATUS_SUCCESS se a operação for bem-sucedida.

Para obter uma lista de outros valores retornados que WdfDeviceCreateDeviceInterface pode retornar, consulte Erros de criação de objeto de estrutura.

O método pode retornar outros valores NTSTATUS.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

O driver pode chamar WdfDeviceCreateDeviceInterface de EVT_WDF_DRIVER_DEVICE_ADD ou depois que o dispositivo for iniciado.

Se o driver chamar essa função de sua função de retorno de chamada EVT_WDF_DRIVER_DEVICE_ADD, a interface será habilitada automaticamente quando o dispositivo for iniciado e desabilitado quando o dispositivo for interrompido. Para impedir a habilitação automática, o driver pode chamar WdfDeviceSetDeviceInterfaceStateEx com o parâmetro IsInterfaceEnabled definido como FALSE.

Se o driver chamar essa função depois que o dispositivo já tiver sido iniciado, a interface permanecerá desabilitada. O driver pode chamar WdfDeviceSetDeviceInterfaceState conforme apropriado.

Os drivers podem usar o parâmetro ReferenceString para diferenciar diferentes instâncias de uma única interface. Em outras palavras, se um driver chamar WdfDeviceCreateDeviceInterface duas vezes para a mesma classe de interface do dispositivo, o driver poderá especificar um parâmetro ReferenceString diferente a cada vez. Quando uma instância de uma interface é aberta, o gerenciador de E/S 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.

Para obter mais informações sobre interfaces de dispositivo e o método WdfDeviceCreateDeviceInterface , consulte Usando interfaces de dispositivo.

Exemplos

O exemplo a seguir registra a classe de interface de porta COM para um dispositivo.

NTSTATUS  status;

status = WdfDeviceCreateDeviceInterface(
                                        Device,
                                        (LPGUID) &GUID_DEVINTERFACE_COMPORT,
                                        NULL
                                        );

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState