FILTER_NET_PNP_EVENT fungsi panggilan balik (ndis.h)

NDIS memanggil fungsi FilterNetPnPEvent driver filter untuk memberi tahu driver peristiwa Plug and Play jaringan (PnP) dan Power Management.

Catatan Anda harus mendeklarasikan fungsi dengan menggunakan jenis FILTER_NET_PNP_EVENT . Untuk informasi selengkapnya, lihat bagian Contoh berikut ini.
 

Sintaks

FILTER_NET_PNP_EVENT FilterNetPnpEvent;

NDIS_STATUS FilterNetPnpEvent(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_PNP_EVENT_NOTIFICATION NetPnPEventNotification
)
{...}

Parameter

[in] FilterModuleContext

Handel ke area konteks untuk modul filter. Driver filter membuat dan menginisialisasi area konteks ini dalam fungsi FilterAttach .

[in] NetPnPEventNotification

Penunjuk ke NET_PNP_EVENT_NOTIFICATION struktur, yang menjelaskan peristiwa PnP atau peristiwa Power Management yang ditunjukkan ke driver filter.

Nilai kembali

FilterNetPnPEvent dapat mengembalikan salah satu hal berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Driver berhasil memproses peristiwa PnP.
NDIS_STATUS_FAILURE
Driver gagal dalam peristiwa PnP.
 

Nilai yang dikembalikan hanya signifikan ketika peristiwa yang disebarkan adalah NetEventQueryPower atau peristiwa NetEventQueryRemove . Untuk semua peristiwa lain yang disebarkan, nilai yang dikembalikan selalu NDIS_STATUS_SUCCESS.

Keterangan

FilterNetPnPEvent adalah fungsi opsional. Jika driver filter tidak menangani peristiwa PnP jaringan, itu dapat mengatur titik masuk untuk fungsi ini ke NULL ketika memanggil Fungsi NdisFRegisterFilterDriver .

FilterNetPnPEvent mirip dengan fungsi ProtocolNetPnPEvent driver protokol. Driver filter dapat meneruskan pemberitahuan ini ke driver yang terlalu berlebihan atau dapat menanganinya sendiri dan tidak meneruskannya. Untuk meneruskan pemberitahuan, panggil fungsi NdisFNetPnPEvent . Jangan membingungkan fungsi ini dengan Fungsi FilterDevicePnPEventNotify , yang memfilter pemberitahuan yang diarahkan ke tumpukan ke driver yang mendasar.

NDIS memanggil FilterNetPnPEvent untuk memberi tahu driver filter tentang peristiwa PnP atau Power Management yang dikeluarkan untuk NIC yang mendasar. NDIS memanggil fungsi FilterNetPnPEvent dari setiap driver filter yang terlalu mengandalkan NIC, dan kemudian memanggil fungsi ProtocolNetPnPEvent dari setiap driver protokol yang terlalu berlebihan.

Saat modul filter dimasukkan ke dalam atau dihapus dari tumpukan driver, karakteristik tumpukan mungkin berubah. NDIS mengirimkan peristiwa PnP ke semua pengikatan protokol yang terpengaruh dan memfilter modul untuk memberi tahu mereka tentang perubahan ini. Driver filter harus menangani perubahan tersebut dengan tepat.

NDIS memanggil FilterNetPnPEvent di IRQL = PASSIVE_LEVEL.

Contoh

Untuk menentukan fungsi FilterNetPnPEvent , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.

Misalnya, untuk menentukan fungsi FilterNetPnPEvent yang diberi nama "MyNetPnPEvent", gunakan jenis FILTER_NET_PNP_EVENT seperti yang ditunjukkan dalam contoh kode ini:

FILTER_NET_PNP_EVENT MyNetPnPEvent;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyNetPnPEvent(
    NDIS_HANDLE  FilterModuleContext,
    PNET_PNP_EVENT_NOTIFICATION  NetPnPEvent
    )
  {...}

Jenis fungsi FILTER_NET_PNP_EVENT ditentukan dalam file header Ndis.h. Untuk mengidentifikasi kesalahan secara lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi FILTER_NET_PNP_EVENT dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi dengan Menggunakan Jenis Peran Fungsi untuk Driver NDIS.

Untuk informasi tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL PASSIVE_LEVEL

Lihat juga

FilterAttach

FilterDevicePnPEventNotify

NET_PNP_EVENT_NOTIFICATION

NdisFNetPnPEvent

NdisFRegisterFilterDriver

ProtocolNetPnPEvent