PROTOCOL_CM_DROP_PARTY fungsi panggilan balik (ndis.h)
Fungsi ProtocolCmDropParty diperlukan. NDIS memanggil ProtocolCmDropParty untuk meminta agar manajer panggilan menghapus pihak dari panggilan multipoint yang ada.
Sintaks
PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;
NDIS_STATUS ProtocolCmDropParty(
[in] NDIS_HANDLE CallMgrPartyContext,
[in, optional] PVOID CloseData,
[in, optional] UINT Size
)
{...}
Parameter
[in] CallMgrPartyContext
Menentukan handel ke area konteks yang dialokasikan manajer panggilan tempat manajer panggilan mempertahankan status per pihaknya. Handel ini diberikan kepada NDIS dalam fungsi ProtocolCmAddParty manajer panggilan.
[in, optional] CloseData
Penunjuk ke buffer yang berisi data khusus klien berorientasi koneksi yang harus dikirim di seluruh koneksi sebelum pihak dihilangkan. Parameter ini ADALAH NULL jika media jaringan yang mendasar tidak mendukung transfer data saat menutup koneksi.
[in, optional] Size
Menentukan panjang, dalam byte, dari buffer di CloseData, nol jika CloseData adalah NULL.
Nilai kembali
ProtocolCmDropParty mengembalikan status operasinya sebagai salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Menunjukkan bahwa manajer panggilan telah berhasil menjatuhkan pihak, mengirim data dekat apa pun, dan membebaskan sumber daya yang dialokasikan untuk area konteksnya. |
|
Menunjukkan bahwa manajer panggilan akan menyelesaikan permintaan untuk menjatuhkan pihak secara asinkron. Manajer panggilan harus memanggil NdisCmDropPartyComplete ketika semua pemrosesan telah selesai untuk memberi tahu NDIS dan aktor yang meminta bahwa pihak telah dihilangkan. |
|
Menunjukkan bahwa CloseData ditentukan ke manajer panggilan, tetapi jenis media tidak mendukung pengiriman data bersamaan dengan penghentian koneksi. |
Keterangan
ProtocolCmDropParty berkomunikasi dengan perangkat kontrol jaringan atau agen khusus media lainnya, seperlunya medianya, untuk menghilangkan pihak dari panggilan multi-titik yang ada. Jika manajer panggilan diperlukan untuk berkomunikasi dengan agen kontrol jaringan (seperti, sakelar jaringan) ia harus menggunakan koneksi virtual ke agen kontrol jaringan yang dibuatnya Fungsi ProtocolBindAdapterEx .
Jika CloseData bukan NULL dan mengirim data pada penghentian koneksi didukung oleh jenis medianya, manajer panggilan harus mengirimkan data yang ditentukan di CloseData sebelum menyelesaikan penghentian. Jika mengirim data bersamaan dengan penghentian koneksi tidak didukung oleh jenis media, manajer panggilan harus mengembalikan kontrol dengan NDIS_STATUS_INVALID_DATA.
Manajer panggilan juga harus membebaskan sumber daya per pihak apa pun yang dialokasikan dan disimpan di CallMgrPartyContext . Selain itu, manajer panggilan harus membebaskan buffer yang disimpan CallMgrPartyContext itu sendiri. Kegagalan untuk melakukannya akan mengakibatkan kondisi kebocoran memori.
Contoh
Untuk menentukan fungsi ProtocolCmDropParty , 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 ProtocolCmDropParty yang diberi nama "MyCmDropParty", gunakan jenis PROTOCOL_CM_DROP_PARTY seperti yang ditunjukkan dalam contoh kode ini:
PROTOCOL_CM_DROP_PARTY MyCmDropParty;
Kemudian, terapkan fungsi Anda sebagai berikut:
_Use_decl_annotations_
NDIS_STATUS
MyCmDropParty(
NDIS_HANDLE CallMgrPartyContext,
PVOID CloseData,
UINT Size
)
{...}
Jenis fungsi PROTOCOL_CM_DROP_PARTY 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_DROP_PARTY 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 ProtocolCmDropParty (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolCmDropParty (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