PROTOCOL_CL_ADD_PARTY_COMPLETE fungsi panggilan balik (ndis.h)
Fungsi ProtocolClAddPartyComplete diperlukan untuk klien NDIS berorientasi koneksi yang menyiapkan koneksi multipoint. Klien tersebut harus memiliki fungsi ProtocolClAddPartyComplete untuk menyelesaikan operasi asinkron yang mereka mulai dengan NdisClAddParty. Jika tidak, fungsi ProtocolClAddPartyComplete yang terdaftar dari driver protokol seperti itu hanya dapat mengembalikan kontrol.
Sintaks
PROTOCOL_CL_ADD_PARTY_COMPLETE ProtocolClAddPartyComplete;
void ProtocolClAddPartyComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolPartyContext,
[in] NDIS_HANDLE NdisPartyHandle,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parameter
[in] Status
Menentukan status akhir operasi add-party yang dimulai klien, yang dapat menjadi salah satu dari berikut ini:
NDIS_STATUS_SUCCESS
Pihak yang diberikan ditambahkan pada VC multipoint aktif klien.
NDIS_STATUS_RESOURCES
NDIS tidak dapat mengalokasikan sumber daya yang memadai untuk melacak pihak baru.
NDIS_STATUS_FAILURE
Klien meneruskan NdisVcHandle yang tidak valid ke NdisClAddParty.
NDIS_STATUS_XXX
Fungsi ProtocolCmAddParty manajer panggilan mengembalikan nilai yang ditentukan CM untuk menunjukkan mengapa ia tidak dapat menambahkan pihak ke VC.
[in] ProtocolPartyContext
Menentukan handel yang disediakan klien yang awalnya diteruskan ke NdisClAddParty.
[in] NdisPartyHandle
Jika Status NDIS_STATUS_SUCCESS, handel yang disediakan NDIS ini mewakili hubungan antara manajer panggilan dan klien mengenai pihak ini. Jika tidak, upaya untuk menambahkan pihak gagal dan klien harus menganggap parameter ini sebagai handel yang tidak valid.
[in] CallParameters
Penunjuk ke struktur jenis CO_CALL_PARAMETERS, awalnya disiapkan oleh klien untuk panggilannya ke NdisClAddParty tetapi mungkin kemudian dimodifikasi oleh manajer panggilan.
Mengembalikan nilai
Tidak ada
Keterangan
Panggilan ke ProtocolClAddPartyComplete menunjukkan penyelesaian operasi asinkron yang dimulai ketika klien memanggil NdisClAddParty. Jika Status input diatur ke apa pun selain NDIS_STATUS_SUCCESS, ProtocolClAddPartyComplete dapat merilis atau menggunakan kembali buffer yang dialokasikan klien di ProtocolPartyContext dan di CallParameters .
Jika upaya untuk menambahkan pihak berhasil, ProtocolClAddPartyComplete harus menyimpan input NdisPartyHandle untuk panggilan berikutnya ke fungsi pustaka NDIS mengenai pihak ini di area ProtocolPartyContext klien. Misalnya, klien harus meneruskan handel ini dalam panggilan berikutnya ke NdisClDropParty pada akhirnya kecuali pihak jarak jauh yang diwakilinya menutup koneksinya terlebih dahulu.
Struktur di CallParameters awalnya dialokasikan dan diinisialisasi oleh klien, yang meneruskan pointer ini ke
NdisClAddParty. Namun, manajer panggilan mungkin telah memodifikasi nilai yang disediakan klien untuk mencerminkan hasil negosiasi CM dengan jaringan atau dengan peer sinyal saat memproses permintaan add-party klien. Untuk menentukan apakah manajer panggilan melakukan modifikasi apa pun, ProtocolClAddPartyComplete dapat memeriksa anggota Bendera struktur ini apakah CALL_PARAMETERS_CHANGED diatur. Jika demikian, ProtocolClAddPartyComplete harus memperbarui status per pihak yang dipertahankan klien untuk panggilan ini di ProtocolPartyContext kecuali jika menemukan modifikasi CM tidak dapat diterima. Protokol sinyal tertentu menentukan apa yang dapat dilakukan klien dalam kasus ini. Biasanya, klien memanggil NdisClDropParty jika menemukan parameter panggilan yang dimodifikasi CM tidak dapat diterima.
Tergantung pada protokol sinyal manajer panggilan, parameter lalu lintas di CallParameters dapat identik untuk semua pihak pada koneksi multipoint tertentu. Artinya, karena klien manajer panggilan seperti itu menambahkan pihak pada koneksi multipoint yang awalnya disiapkan klien dengan NdisClMakeCall, klien hanya dapat menyediakan alamat target setiap pihak dan meninggalkan parameter lalu lintas seperti yang awalnya disiapkan untuk VC multipoint setiap kali memanggil NdisClAddParty.
Contoh
Untuk menentukan fungsi ProtocolClAddPartyComplete , 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 ProtocolClAddPartyComplete yang diberi nama "MyClAddPartyComplete", gunakan jenis PROTOCOL_CL_ADD_PARTY_COMPLETE seperti yang ditunjukkan dalam contoh kode ini:
PROTOCOL_CL_ADD_PARTY_COMPLETE MyClAddPartyComplete;
Kemudian, terapkan fungsi Anda sebagai berikut:
_Use_decl_annotations_
VOID
MyClAddPartyComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolPartyContext,
NDIS_HANDLE NdisPartyHandle,
PCO_CALL_PARAMETERS CallParameters
)
{...}
Jenis fungsi PROTOCOL_CL_ADD_PARTY_COMPLETE didefinisikan 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_ADD_PARTY_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 ProtocolClAddPartyComplete (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolClAddPartyComplete (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