Função WdfFileObjectGetFileName (wdffileobject.h)
[Aplica-se a KMDF e UMDF]
O método WdfFileObjectGetFileName retorna o nome do arquivo que um objeto de arquivo de estrutura especificado contém.
Sintaxe
PUNICODE_STRING WdfFileObjectGetFileName(
[in] WDFFILEOBJECT FileObject
);
Parâmetros
[in] FileObject
Um identificador para um objeto de arquivo de estrutura.
Valor de retorno
WdfFileObjectGetFileName retorna um ponteiro para uma estrutura UNICODE_STRING que contém o nome do arquivo. O método retornará NULL se não houver nenhum objeto de arquivo WDM para o objeto de arquivo de estrutura especificado ou se ele for chamado em um IRQL maior que PASSIVE_LEVEL.
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
Se um driver especificou uma cadeia de caracteres de referência quando chamou WdfDeviceCreateDeviceInterface, WdfFileObjectGetFileName retornará a cadeia de caracteres de referência predefinida por uma barra invertida. Para determinar a cadeia de caracteres de referência, remova a barra invertida.
A cadeia de caracteres retornada pode conter um nome de arquivo ou uma cadeia de caracteres de referência. A cadeia de caracteres não contém o nome do dispositivo. Se um aplicativo ou componente do modo kernel tiver aberto o dispositivo em vez de um arquivo, sem nenhuma cadeia de caracteres de referência, o Length membro da estrutura de UNICODE_STRING retornada será zero.
O driver deve chamar apenas WdfFileObjectGetFileName enquanto estiver processando uma solicitação de criação de arquivo (tipo de solicitação WdfRequestTypeCreate). Seu driver pode processar solicitações de E/Sdo WdfRequestTypeCreate em uma função de retorno de chamada EvtDeviceFileCreate.
Ou, em vez de fornecer uma função de retorno de chamada EvtDeviceFileCreate, o driver pode chamar WdfDeviceConfigureRequestDispatching para definir uma fila de E/S para receber todas as solicitações de criação de arquivo (tipo de solicitação WdfRequestTypeCreate). O driver receberá posteriormente solicitações de criação de arquivo no manipulador de solicitação EvtIoDefault da fila.
Para obter mais informações sobre objetos de arquivo de estrutura, consulte de Objetos de Arquivo da Estrutura.
Para obter mais informações sobre nomes de arquivo, consulte Controlando ode acesso ao namespace do dispositivo.
Para obter mais informações sobre cadeias de caracteres de referência, consulte IoRegisterDeviceInterface.
Exemplos
O exemplo de código a seguir mostra como uma função de retorno de chamada EvtDeviceFileCreate pode obter o nome do arquivo que um aplicativo abriu.
VOID
MyEvtDeviceFileCreate (
IN WDFDEVICE Device,
IN WDFREQUEST Request,
IN WDFFILEOBJECT FileObject
)
{
PUNICODE_STRING fileName;
fileName = WdfFileObjectGetFileName(FileObject);
...
}
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
versão mínima do KMDF | 1.0 |
versão mínima do UMDF | 2.0 |
cabeçalho | wdffileobject.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) |