PROTOCOL_CL_CLOSE_CALL_COMPLETE fungsi panggilan balik (ndis.h)

Fungsi ProtocolClCloseCallComplete digunakan oleh klien NDIS yang berorientasi koneksi. Semua klien NDIS yang berorientasi koneksi harus memiliki fungsi ProtocolClCloseCallComplete untuk menyelesaikan operasi asinkron yang mereka mulai dengan

NdisClCloseCall.

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

Sintaks

PROTOCOL_CL_CLOSE_CALL_COMPLETE ProtocolClCloseCallComplete;

void ProtocolClCloseCallComplete(
  [in]           NDIS_STATUS Status,
  [in]           NDIS_HANDLE ProtocolVcContext,
  [in, optional] NDIS_HANDLE ProtocolPartyContext
)
{...}

Parameter

[in] Status

Menentukan status akhir permintaan klien untuk menutup panggilan ini, yang bisa menjadi salah satu hal berikut:

NDIS_STATUS_SUCCESS

Manajer panggilan telah berhasil menutup panggilan yang ada pada VC yang diberikan dan menonaktifkan VC.

NDIS_STATUS_XXX

Manajer panggilan gagal meminta untuk menutup panggilan karena beberapa alasan yang ditentukan CM, dan NDIS menyebarkan status yang dikembalikan oleh fungsi ProtocolCmCloseCall ke klien.

[in] ProtocolVcContext

Menentukan handel ke area konteks per VC klien Ini adalah handel yang awalnya diteruskan klien ke NDIS dengan NdisCoCreateVc atau dikembalikan ke NDIS dari fungsi ProtocolCoCreateVc-nya .

[in, optional] ProtocolPartyContext

Menentukan handel ke area konteks per pihak klien untuk pihak terakhir yang tersisa pada VC yang dibuat klien yang mewakili koneksi multipoint. Jika tidak, parameter ini ADALAH NULL.

Mengembalikan nilai

Tidak ada

Keterangan

Jika VC yang diberikan dibuat oleh klien dan Status NDIS_STATUS_SUCCESS, klien sekarang dapat melakukan salah satu hal berikut:

  • Robek VC-nya dengan NdisCoDeleteVc dan lepaskan atau bersiaplah untuk menggunakan kembali area konteks yang dialokasikannya.
  • Menginisialisasi ulang area konteks per VC-nya dan menggunakan kembali VC-nya untuk membuat koneksi lain dengan NdisClMakeCall.
Jika VC dibuat oleh manajer panggilan, klien harus menganggap NdisVcHandle tidak valid ketika ProtocolClCloseCallComplete dipanggil. Klien tidak boleh melakukan panggilan NdisCl/CoXxx lebih lanjut dengan NdisVcHandle ini. Setelah ProtocolClCloseCallComplete mengembalikan kontrol, manajer panggilan dapat menghapus VC-nya, sehingga menyebabkan panggilan ke fungsi ProtocolCoDeleteVc klien. Manajer panggilan bahkan dapat mengirimkan panggilan masuk lain pada VC yang dibuatnya, sehingga menyebabkan panggilan ke klien Fungsi ProtocolClIncomingCall .

Contoh

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

PROTOCOL_CL_CLOSE_CALL_COMPLETE MyClCloseCallComplete;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyClCloseCallComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolVcContext,
    NDIS_HANDLE  ProtocolPartyContext
    )
  {...}

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

Lihat juga

NdisClCloseCall

NdisClMakeCall

NdisCmCloseCallComplete

NdisCoDeleteVc

NdisMCmCloseCallComplete

ProtocolClIncomingCall

ProtocolCmCloseCall

ProtocolCoDeleteVc