PROTOCOL_CL_DEREGISTER_SAP_COMPLETE fungsi panggilan balik (ndis.h)

Fungsi ProtocolClDeregisterSapComplete digunakan oleh klien NDIS yang berorientasi koneksi. Klien NDIS berorientasi koneksi yang menerima panggilan masuk harus memiliki fungsi ProtocolClDeregisterSapComplete untuk menyelesaikan operasi asinkron yang mereka mulai dengan NdisClDeregisterSap. Jika tidak, fungsi ProtocolClDeregisterSapComplete yang terdaftar dari driver protokol tersebut hanya dapat mengembalikan kontrol.

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

Sintaks

PROTOCOL_CL_DEREGISTER_SAP_COMPLETE ProtocolClDeregisterSapComplete;

void ProtocolClDeregisterSapComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE ProtocolSapContext
)
{...}

Parameter

[in] Status

Menentukan status akhir permintaan klien untuk membatalkan pendaftaran SAP-nya, yang dapat menjadi salah satu hal berikut:

NDIS_STATUS_SUCCESS

SAP ditutup. NdisSapHandle yang mewakili SAP klien yang sebelumnya terdaftar, yang disimpan klien di area ProtocolSapContext-nya, sekarang tidak valid.

NDIS_STATUS_FAILURE

NDIS telah menandai status AF sebagai "menutup", sehingga SAP terkait yang diwakili oleh NdisSapHandle sudah dirilis ketika panggilan klien ke NdisClDeregisterSap terjadi.

NDIS_STATUS_XXX

Manajer panggilan gagal meminta untuk menutup SAP karena beberapa alasan yang ditentukan CM, dan NDIS menyebarkan status yang dikembalikan olehnya Fungsi ProtocolCmDeregisterSap ke klien.

[in] ProtocolSapContext

Menentukan handel yang disediakan klien ke area konteks per SAP-nya, awalnya diteruskan ke NDIS dengan NdisClRegisterSap. Setelah manajer panggilan berhasil membatalkan pendaftaran SAP ini, klien dapat merilis area konteksnya atau menyiapkan area konteks ini untuk digunakan kembali.

Mengembalikan nilai

Tidak ada

Keterangan

Panggilan ke ProtocolClDeregisterSapComplete menunjukkan bahwa panggilan sebelumnya klien ke NdisClDeregisterSap telah diproses oleh manajer panggilan.

Kecuali manajer panggilan gagal deregistrasi karena beberapa alasan yang ditentukan CM, klien harus menganggap NdisSapHandle tidak valid ketika ProtocolClDeregisterSapComplete dipanggil. Akibatnya, ProtocolClDeregisterSapComplete dapat merilis area konteks per SAP yang dialokasikan klien atau menyiapkannya untuk digunakan kembali dalam panggilan berikutnya ke NdisClRegisterSap.

Contoh

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

PROTOCOL_CL_DEREGISTER_SAP_COMPLETE MyClDeregisterSapComplete;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyClDeregisterSapComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolSapContext
    )
  {...}

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

Lihat juga

NdisClDeregisterSap

NdisClRegisterSap

NdisCmDeregisterSapComplete

NdisFreeMemory

NdisFreeToNPagedLookasideList

NdisMCmDeregisterSapComplete

ProtocolCmDeregisterSap