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)

Confira também

IoGetDeviceObjectPointer