Função WdfDeviceRetrieveDeviceInterfaceString (wdfdevice.h)
[Aplica-se a KMDF e UMDF]
O método WdfDeviceRetrieveDeviceInterfaceString recupera o nome de link simbólico atribuído ao sistema operacional a uma interface de dispositivo que o driver registrou para um dispositivo especificado.
Sintaxe
NTSTATUS WdfDeviceRetrieveDeviceInterfaceString(
[in] WDFDEVICE Device,
[in] const GUID *InterfaceClassGUID,
[in, optional] PCUNICODE_STRING ReferenceString,
[in] WDFSTRING String
);
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. Esse parâmetro é opcional e pode ser NULL se o driver não especificou uma cadeia de caracteres de referência quando chamou WdfDeviceCreateDeviceInterface.
[in] String
Um identificador para um objeto de cadeia de caracteres de estrutura. A estrutura atribuirá a cadeia de caracteres Unicode do nome de link simbólico ao objeto de cadeia de caracteres.
Retornar valor
WdfDeviceRetrieveDeviceInterfaceString retorna STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
WdfDeviceRetrieveDeviceInterfaceString não foi chamado em IRQL = PASSIVE_LEVEL. |
|
Um parâmetro inválido foi especificado. |
|
O objeto de dispositivo especificado foi inicializado por WdfControlDeviceInitAllocate. |
|
Não foi possível encontrar uma interface de dispositivo que corresponda ao GUID especificado e à cadeia de caracteres de referência. |
|
O driver chamado WdfDeviceCreateDeviceInterface , mas o sistema ainda não atribuiu um nome de link simbólico à interface do dispositivo. |
WdfDeviceRetrieveDeviceInterfaceString também pode retornar outros valores NTSTATUS.
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Para obter mais informações sobre interfaces de dispositivo, consulte Usando interfaces de dispositivo.
Exemplos
O exemplo de código a seguir cria um objeto de cadeia de caracteres e, em seguida, recupera o nome simbólico do link de uma interface do dispositivo especificada.
NTSTATUS status;
WDFSTRING string;
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfDeviceRetrieveDeviceInterfaceString(
Device,
&GUID_DEVINTERFACE_DDI_TEST1,
NULL,
string
);
if (!NT_SUCCESS(status)) {
return status;
}
}
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 de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |