PROTOCOL_CO_AF_REGISTER_NOTIFY fungsi panggilan balik (ndis.h)
Fungsi ProtocolCoAfRegisterNotify digunakan oleh klien NDIS yang berorientasi koneksi. Semua klien NDIS yang berorientasi koneksi harus memiliki fungsi ProtocolCoAfRegisterNotify yang berfungsi penuh. Manajer panggilan berorientasi koneksi yang berdiri sendiri telah mendaftarkan fungsi ProtocolCoAfRegisterNotify yang hanya mengembalikan kontrol.
Sintaks
PROTOCOL_CO_AF_REGISTER_NOTIFY ProtocolCoAfRegisterNotify;
VOID() ProtocolCoAfRegisterNotify(
[in] NDIS_HANDLE ProtocolBindingContext,
[in] PCO_ADDRESS_FAMILY AddressFamily
)
{...}
Parameter
[in] ProtocolBindingContext
Menentukan handel ke area konteks yang dialokasikan klien tempat protokol klien mempertahankan status run-time per pengikatan. Fungsi ProtocolBindAdapterEx klien menyediakan handel ini ketika disebut NdisOpenAdapterEx.
[in] AddressFamily
Penunjuk ke buffer yang menjelaskan dukungan protokol sinyal yang disediakan oleh manajer panggilan yang baru saja mendaftarkan layanan ini dengan NDIS dengan memanggil NdisCmRegisterAddressFamilyEx atau NdisMCmRegisterAddressFamilyEx.
Mengembalikan nilai
Tidak ada
Keterangan
Panggilan ke ProtocolCoAfRegisterNotify mengiklankan layanan manajemen panggilan manajer panggilan atau driver MCM tertentu pada NIC berorientasi koneksi yang mendasar tempat klien terikat.
ProtocolCoAfRegisterNotify memeriksa data di AddressFamily untuk menentukan apakah klien dapat menggunakan layanan manajer panggilan khusus ini. Apakah klien dapat melakukan modifikasi dalam data yang disediakan (M)CM di AddressFamily tergantung pada dukungan protokol sinyal tertentu dari manajer panggilan.
Jika klien menemukan layanan manajemen panggilan yang ditawarkan tidak dapat diterima, ProtocolCoAfRegisterNotify mengembalikan kontrol, dan NDIS mungkin memanggil ProtocolCoAfRegisterNotify lagi dengan handel ProtocolBindingContext yang sama dan spesifikasi AF yang disediakan oleh ini atau manajer panggilan lain juga terikat ke driver miniport yang mendasar yang sama. Jika tidak, ProtocolAfRegisterNotify mengalokasikan area konteks per AF untuk klien dan memanggil NdisClOpenAddressFamilyEx dengan penunjuk AddressFamily . Jika panggilan ini berhasil, klien telah mendaftarkan fungsi ProtocolClXxx-nya dengan NDIS untuk operasi berorientasi koneksi berikutnya menggunakan layanan manajer panggilan ini.
Misalnya, ProtocolCoAfRegisterNotify atau ProtocolClOpenAfCompleteEx mungkin memanggil NdisInitializeNPagedLookasideList satu atau beberapa kali dalam persiapan untuk alokasi dinamis dan rilis area konteks per-SAP, per-VC, dan/atau per pihak yang kemudian dibutuhkan klien.
Jika menerima panggilan masuk, ProtocolCoAfRegisterNotify atau klien Fungsi ProtocolClOpenAfCompleteEx biasanya mendaftarkan satu atau beberapa SAP dengan manajer panggilan. Setelah membuka AF manajer panggilan tersebut, klien mungkin melanjutkan untuk mengalokasikan area status per SAP dan memanggil NdisClRegisterSap satu atau beberapa kali dengan NdisAfHandle yang diperolehnya dari NdisClOpenAddressFamilyEx. Jika melakukan panggilan keluar, klien mungkin melanjutkan untuk mengalokasikan area status per VC dan membuat VC dengan NdisCoCreateVc untuk mengantisipasi permintaan masuk dari salah satu kliennya sendiri untuk melakukan panggilan keluar ke simpul jarak jauh.
Contoh
Untuk menentukan fungsi ProtocolCoAfRegisterNotify , 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 ProtocolCoAfRegisterNotify yang diberi nama "MyCoAfRegisterNotify", gunakan jenis PROTOCOL_CO_AF_REGISTER_NOTIFY seperti yang ditunjukkan dalam contoh kode ini:
PROTOCOL_CO_AF_REGISTER_NOTIFY MyCoAfRegisterNotify;
Kemudian, terapkan fungsi Anda sebagai berikut:
_Use_decl_annotations_
VOID
MyCoAfRegisterNotify(
NDIS_HANDLE ProtocolBindingContext,
PCO_ADDRESS_FAMILY AddressFamily
)
{...}
Jenis fungsi PROTOCOL_CO_AF_REGISTER_NOTIFY 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 PROTOCOL_CO_AF_REGISTER_NOTIFY 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 untuk driver NDIS 6.0 dan NDIS 5.1 (lihat ProtocolCoAfRegisterNotify (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolCoAfRegisterNotify (NDIS 5.1)) di Windows XP. |
Target Platform | Windows |
Header | ndis.h (termasuk Ndis.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
NdisCmRegisterAddressFamilyEx NdisInitializeNPagedLookasideList NdisMCmRegisterAddressFamilyExSaran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk