Fungsi WdfDeviceGetFileObject (wdfdevice.h)

[Hanya berlaku untuk KMDF]

Metode WdfDeviceGetFileObject mengembalikan handel ke objek file kerangka kerja yang terkait dengan objek file WDM tertentu.

Sintaks

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

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

[in] FileObject

Penunjuk ke struktur FILE_OBJECT WDM.

Nilai kembali

WdfDeviceGetFileObject mengembalikan handel ke objek file kerangka kerja yang terkait dengan objek file WDM yang ditentukan. Jika objek file kerangka kerja tidak dibuat untuk file, atau jika penunjuk FileObject tidak valid, metode mengembalikan NULL.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Untuk informasi selengkapnya tentang objek file kerangka kerja, lihat Objek File Kerangka Kerja.

Contoh

Contoh kode berikut mendapatkan penunjuk ke objek perangkat WDM bernama dan objek file WDM yang sesuai, jika akses yang diminta ke objek dapat diberikan. Kemudian, contoh mendapatkan handel ke objek file kerangka kerja yang terkait dengan objek 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;
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfdevice.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

IoGetDeviceObjectPointer