Fungsi NdisOpenFile (ndis.h)

Fungsi NdisOpenFile mengembalikan handel untuk file yang dibuka.

Sintaks

void NdisOpenFile(
  [out] PNDIS_STATUS          Status,
  [out] PNDIS_HANDLE          FileHandle,
  [out] PUINT                 FileLength,
  [in]  PNDIS_STRING          FileName,
  [in]  NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);

Parameter

[out] Status

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan status operasi file terbuka, yang bisa menjadi salah satu hal berikut:

NDIS_STATUS_SUCCESS

Handel di FileHandle berlaku untuk panggilan berikutnya ke NdisMapFile.

NDIS_STATUS_FILE_NOT_FOUND

String yang diberikan di FileName tidak menentukan nama yang ditemukan di namespace objek sistem.

NDIS_STATUS_RESOURCES

NDIS tidak dapat mengalokasikan sumber daya yang diperlukan untuk membuka file dan mengalokasikan buffer untuk konten file.

NDIS_STATUS_ERROR_READING_FILE

Data file yang ditentukan tidak dapat dibaca ke dalam memori sistem untuk akses berikutnya oleh pemanggil.

[out] FileHandle

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan handel file yang dibuka jika panggilan berhasil.

[out] FileLength

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini menulis jumlah byte data dalam file yang dibuka jika panggilan berhasil.

[in] FileName

Penunjuk ke jenis NDIS_STRING yang berisi string terhitung yang diinisialisasi, dalam kumpulan karakter default sistem, yang memberi nama file yang akan dibuka. Untuk driver Windows 2000 dan yang lebih baru, string ini berisi karakter Unicode. Artinya, untuk Windows 2000 dan yang lebih baru, NDIS mendefinisikan jenis NDIS_STRING sebagai jenis UNICODE_STRING .

[in] HighestAcceptableAddress

Alamat fisik tertinggi tempat data file dapat disimpan, atau menentukan -1 jika driver tidak menempatkan batasan.

Nilai kembali

Tidak ada

Keterangan

NdisOpenFile membuka file disk, biasanya file yang nantinya akan diunduh driver untuk memprogram NIC cerdas. NdisOpenFile juga mengalokasikan penyimpanan untuk menyimpan konten file untuk panggilan berikutnya driver ke fungsi NdisMapFile .

Driver miniport harus memanggil NdisOpenFile hanya dari fungsi MiniportInitializeEx .

Ketika NdisOpenFile kembali, driver miniport dapat mengakses data file dengan memanggil NdisMapFile. Ini dapat memanggil fungsi NdisUnmapFile untuk membuat halaman file sehingga tidak menggunakan sumber daya yang tidak perlu saat driver tidak mengakses data file. Setelah selesai menggunakan file, MiniportInitializeEx harus memanggil
Fungsi NdisCloseFile .

Catatan

NdisOpenFile, NdisCloseFile, NdisMapFile , dan NdisUnmapFile tidak didukung di ARM64. Pada ARM64, ganti fungsi-fungsi ini dengan panggilan ke ZwCreateFile, ZwReadFile, atau operasi serupa lainnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisOpenFile (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisOpenFile (NDIS 5.1)) di Windows XP.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI Irql_Miscellaneous_Function(ndis)

Lihat juga

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING