PROTOCOL_CM_DEACTIVATE_VC_COMPLETE fungsi panggilan balik (ndis.h)

Fungsi ProtocolCmDeactivateVcComplete adalah fungsi yang diperlukan. ProtocolCmDeactivateVcComplete menyelesaikan pemrosesan permintaan yang dimulai manajer panggilan bahwa driver miniport (dan NDIS) yang mendasar menonaktifkan VC yang sebelumnya dikembalikan oleh NdisCmDeactivateVc NDIS_STATUS_PENDING.

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

Sintaks

PROTOCOL_CM_DEACTIVATE_VC_COMPLETE ProtocolCmDeactivateVcComplete;

void ProtocolCmDeactivateVcComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext
)
{...}

Parameter

[in] Status

Menentukan status akhir pennonaktifkanan.

[in] CallMgrVcContext

Menentukan handel ke area konteks yang dialokasikan manajer panggilan tempat manajer panggilan mempertahankan status per VC-nya. Manajer panggilan menyediakan handel ini ke NDIS dari fungsi ProtocolCoCreateVc-nya .

Nilai kembali

Tidak ada

Keterangan

NDIS biasanya memanggil ProtocolCmDeactivateVcComplete dalam konteks manajer panggilan menutup panggilan atas nama klien yang berorientasi koneksi. Manajer panggilan biasanya memanggil NdisCmDeactivateVc dari fungsi ProtocolCmCloseCall-nya . Setiap kali NdisCmDeactivateVc mengembalikan NDIS_STATUS_PENDING, NDIS kemudian memanggil fungsi ProtocolCmDeactivateVcComplete-nya .

Artinya, ketika driver miniport berorientasi koneksi yang mendasar telah menonaktifkan VC, NDIS memanggil ProtocolCmDeactivateVcComplete. Status akhir pennonaktifkanan ditemukan di Status . Nilai yang mungkin untuk status akhir meliputi, tetapi tidak terbatas pada:

ProtocolCmDeactivateVcComplete melakukan apa pun pascaproscessing yang diperlukan untuk menyelesaikan penonaktifan koneksi virtual, seperti mengatur bendera di area statusnya untuk menunjukkan bahwa koneksi tidak aktif atau melepaskan sumber daya yang dialokasikan secara dinamis yang digunakan saat VC aktif.

Penyelesaian penonaktifan berarti bahwa semua parameter panggilan untuk VC yang digunakan pada aktivasi tidak lagi valid. Setiap penggunaan lebih lanjut dari VC dilarang kecuali untuk mengaktifkannya kembali dengan sekumpulan parameter panggilan baru.

Manajer panggilan harus merilis sumber daya apa pun yang dialokasikan untuk aktivasi VC dan mengembalikan kontrol secepat mungkin. Jika manajer panggilan sebelumnya mengembalikan NDIS_STATUS_PENDING dari fungsi ProtocolCmCloseCall dan semua operasi untuk menutup panggilan telah selesai, ProtocolCmDeactivateVcComplete sekarang harus memanggil NdisCmCloseCallComplete.

Contoh

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

PROTOCOL_CM_DEACTIVATE_VC_COMPLETE MyCmDeactivateVcComplete;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyCmDeactivateVcComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext
    )
  {...}

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

Lihat juga

MiniportCoDeactivateVc

NdisCmCloseCallComplete

NdisCmDeactivateVc

ProtocolCmCloseCall