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) |