Fungsi NdisRegisterDeviceEx (ndis.h)

Fungsi NdisRegisterDeviceEx membuat objek perangkat yang didasarkan pada atribut yang ditentukan.

Sintaks

NDIS_STATUS NdisRegisterDeviceEx(
  [in]  NDIS_HANDLE                    NdisHandle,
  [in]  PNDIS_DEVICE_OBJECT_ATTRIBUTES DeviceObjectAttributes,
  [out] PDEVICE_OBJECT                 *pDeviceObject,
  [out] PNDIS_HANDLE                   NdisDeviceHandle
);

Parameter

[in] NdisHandle

Handel driver miniport atau handel driver filter yang diperoleh pemanggil dengan memanggil Fungsi NdisMRegisterMiniportDriver atau Fungsi NdisFRegisterFilterDriver masing-masing.

[in] DeviceObjectAttributes

Penunjuk ke NDIS_DEVICE_OBJECT_ATTRIBUTES struktur yang berisi atribut untuk perangkat baru.

[out] pDeviceObject

Penunjuk yang menunjuk ke penunjuk ke struktur DEVICE_OBJECT yang baru dibuat, jika panggilan berhasil. Jika panggilan gagal, pDeviceObject diatur untuk menunjuk ke NULL.

[out] NdisDeviceHandle

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini, jika berhasil, mengembalikan handel ke objek perangkat. Handel ini adalah parameter yang diperlukan untuk fungsi NdisDeregisterDeviceEx yang kemudian dipanggil driver.

Nilai kembali

NdisRegisterDeviceEx mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NdisRegisterDeviceEx berhasil mendaftarkan perangkat.
NDIS_STATUS_NOT_SUPPORTED
Penelepon bukan driver NDIS.
NDIS_STATUS_XXX atau NTSTATUS_XXX
Upaya pengandar untuk mendaftarkan perangkat gagal. Biasanya, status kesalahan seperti itu disebarluaskan dari fungsi NdisXxx atau rutinitas dukungan mode kernel.

Keterangan

Driver miniport dan driver filter dapat memanggil NdisRegisterDeviceEx untuk mendaftarkan perangkat virtual.

Catatan Driver NDIS tidak boleh memodifikasi anggota DeviceExtension dari struktur DEVICE_OBJECT yang dibuat NdisRegisterDeviceEx .
 
Jika driver NDIS memerlukan ruang untuk informasi konteks di objek perangkat, driver dapat meneruskan nilai bukan nol untuk anggota ExtensionSize di NDIS_DEVICE_OBJECT_ATTRIBUTES struktur di parameter DeviceObjectAttributes . Dalam hal ini, NDIS mengalokasikan ekstensi untuk driver, dan driver dapat memanggil Fungsi NdisGetDeviceReservedExtension untuk mendapatkan pointer ke ekstensi.

Driver kemudian harus memanggil fungsi NdisDeregisterDeviceEx ketika perangkat tidak lagi diperlukan. Jika NdisRegisterDeviceEx mengalokasikan ekstensi, NdisDeregisterDeviceEx membebaskan ekstensi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI Irql_Miscellaneous_Function(ndis)

Lihat juga

DEVICE_OBJECT

NDIS_DEVICE_OBJECT_ATTRIBUTES

NdisDeregisterDeviceEx

NdisFRegisterFilterDriver

NdisGetDeviceReservedExtension

NdisMRegisterMiniportDriver