PROTOCOL_CM_DEREGISTER_SAP fungsi panggilan balik (ndis.h)

Fungsi ProtocolCmDeregisterSap diperlukan. Fungsi ini dipanggil oleh NDIS untuk meminta agar manajer panggilan membatalkan pendaftaran SAP atas nama klien berorientasi koneksi.

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

Sintaks

PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;

NDIS_STATUS ProtocolCmDeregisterSap(
  [in] NDIS_HANDLE CallMgrSapContext
)
{...}

Parameter

[in] CallMgrSapContext

Menentukan handel ke area konteks yang dialokasikan manajer panggilan tempat manajer panggilan mempertahankan informasi status per-SAP-nya. Manajer panggilan menyediakan handel ini ke NDIS dari Fungsi ProtocolCmRegisterSap .

Nilai kembali

ProtocolCmDeregisterSap mengembalikan status operasinya sebagai salah satu hal berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Menunjukkan bahwa manajer panggilan berhasil menghapus pendaftaran SAP dan membebaskan sumber daya apa pun yang dialokasikan untuk mempertahankan informasi per SAP.
NDIS_STATUS_PENDING
Menunjukkan bahwa manajer panggilan akan menyelesaikan permintaan untuk membatalkan pendaftaran SAP secara asinkron. Manajer panggilan harus memanggil NdisCmDeregisterSapComplete untuk memberi sinyal NDIS ketika operasi selesai.

Keterangan

ProtocolCmDeregisterSap berkomunikasi dengan perangkat kontrol jaringan atau agen khusus media lainnya, seperlunya, untuk membatalkan pendaftaran SAP di jaringan. Tindakan tersebut dapat mencakup, tetapi tidak terbatas pada:

  • Berkomunikasi dengan perangkat keras pengalihan
  • Berkomunikasi dengan stasiun kontrol jaringan
  • Berkomunikasi dengan agen jaringan khusus media lainnya
Jika manajer panggilan diperlukan untuk berkomunikasi dengan agen kontrol jaringan, seperti sakelar jaringan, manajer panggilan harus menggunakan koneksi virtual ke agen kontrol jaringan yang dibuatnya dalam fungsi ProtocolBindAdapterEx . Manajer panggilan mandiri berkomunikasi melalui driver miniport yang mendasar dengan memanggil NdisCoSendNetBufferLists. Driver miniport yang menyediakan dukungan manajemen panggilan terintegrasi tidak pernah memanggil NdisCoSendNetBufferLists. Sebaliknya, mereka mengirimkan data langsung di seluruh jaringan.

Selain itu, ProtocolCmDeregisterSap harus membebaskan sumber daya yang dialokasikan secara dinamis di area per SAP-nya, yang disediakan di CallMgrSapContext, serta membebaskan area status itu sendiri sebelum mengembalikan kontrol ke NDIS.

Contoh

Untuk menentukan fungsi ProtocolCmDeregisterSap , 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 ProtocolCmDeregisterSap yang diberi nama "MyCmDeregisterSap", gunakan jenis PROTOCOL_CM_DEREGISTER_SAP seperti yang ditunjukkan dalam contoh kode ini:

PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyCmDeregisterSap(
    NDIS_HANDLE  CallMgrSapContext
    )
  {...}

Jenis fungsi PROTOCOL_CM_DEREGISTER_SAP 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_CM_DEREGISTER_SAP 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 ProtocolCmDeregisterSap (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolCmDeregisterSap (NDIS 5.1)) di Windows XP.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

NdisCmDeregisterSapComplete

NdisCoSendNetBufferLists

ProtocolBindAdapterEx

ProtocolCmRegisterSap