Função WdfDeviceGetFileObject (wdfdevice.h)
[Aplica-se somente ao KMDF]
O método WdfDeviceGetFileObject retorna um identificador para o objeto de arquivo de estrutura associado a um objeto de arquivo WDM especificado.
Sintaxe
WDFFILEOBJECT WdfDeviceGetFileObject(
[in] WDFDEVICE Device,
[in] PFILE_OBJECT FileObject
);
Parâmetros
[in] Device
Um identificador para um objeto de dispositivo de estrutura.
[in] FileObject
Um ponteiro para uma estrutura de FILE_OBJECT do WDM.
Retornar valor
WdfDeviceGetFileObject retorna um identificador para o objeto de arquivo de estrutura associado ao objeto de arquivo WDM especificado. Se um objeto de arquivo de estrutura não tiver sido criado para o arquivo ou se o ponteiro FileObject for inválido, o método retornará NULL.
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Para obter mais informações sobre objetos de arquivo de estrutura, consulte Objetos de arquivo de estrutura.
Exemplos
O exemplo de código a seguir obtém um ponteiro para um objeto de dispositivo WDM nomeado e seu objeto de arquivo WDM correspondente, se o acesso solicitado aos objetos puder ser concedido. Em seguida, o exemplo obtém um identificador para o objeto de arquivo de estrutura associado ao objeto de arquivo WDM.
PFILE_OBJECT pWdmFileObject = NULL;
PDEVICE_OBJECT pWdmDeviceObject = NULL;
WDFFILEOBJECT fileObject = NULL;
NTSTATUS status = STATUS_SUCCESS;
BOOLEAN success = TRUE;
status = IoGetDeviceObjectPointer(
&inputFileName, // File name
FILE_ALL_ACCESS, // Access mask
&pWdmFileObject, // Output pointer of WDM file object
&pWdmDeviceObject // Output pointer of WDM device object
);
if(!NT_SUCCESS(status)){
success = FALSE;
break;
}
fileObject = WdfDeviceGetFileObject(
gDeviceObject, // Handle to device object
pWdmFileObject // Handle to WDM file object
);
if(fileObject == NULL){
success = FALSE;
}
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |