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.
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
Saran 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