Condividi tramite


Funzione WdfDeviceGetFileObject (wdfdevice.h)

[Si applica solo a KMDF]

Il metodo WdfDeviceGetFileObject restituisce un handle all'oggetto file framework associato a un oggetto file WDM specificato.

Sintassi

WDFFILEOBJECT WdfDeviceGetFileObject(
  [in] WDFDEVICE    Device,
  [in] PFILE_OBJECT FileObject
);

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] FileObject

Puntatore a una struttura di FILE_OBJECT WDM.

Valore restituito

WdfDeviceGetFileObject restituisce un handle all'oggetto file framework associato all'oggetto file WDM specificato. Se non è stato creato un oggetto file framework per il file o se il puntatore FileObject non è valido, il metodo restituisce NULL.

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Commenti

Per altre informazioni sugli oggetti file framework, vedere Framework File Objects.

Esempio

Nell'esempio di codice seguente viene ottenuto un puntatore a un oggetto dispositivo WDM denominato e all'oggetto file WDM corrispondente, se è possibile concedere l'accesso richiesto agli oggetti. L'esempio ottiene quindi un handle per l'oggetto file framework associato all'oggetto file 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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfdevice.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

IoGetDeviceObjectPointer