PROTOCOL_CL_INCOMING_CALL fungsi panggilan balik (ndis.h)
Fungsi ProtocolClIncomingCall digunakan oleh klien berorientasi koneksi yang menerima panggilan masuk. Klien tersebut harus memiliki fungsi ProtocolClIncomingCall . Jika tidak, fungsi ProtocolClIncomingCall yang terdaftar dari driver protokol tersebut hanya dapat mengembalikan NDIS_STATUS_NOT_SUPPORTED.
Sintaks
PROTOCOL_CL_INCOMING_CALL ProtocolClIncomingCall;
NDIS_STATUS ProtocolClIncomingCall(
[in] NDIS_HANDLE ProtocolSapContext,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parameter
[in] ProtocolSapContext
Menentukan handel yang awalnya disediakan klien saat mendaftarkan SAP, yang cocok dengan penawaran panggilan masuk ini.
[in] ProtocolVcContext
Menentukan handel ke area konteks per VC klien, yang sebelumnya dikembalikan ke NDIS dengan fungsi ProtocolCoCreateVc-nya .
[in, out] CallParameters
Pointer ke buffer, diformat sebagai struktur CO_CALL_PARAMETERS , yang berisi parameter panggilan untuk panggilan yang ditawarkan ini.
Nilai kembali
ProtocolClIncomingCall dapat mengembalikan salah satu kode status berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Klien menerima penawaran panggilan masuk. |
|
Klien menangani permintaan ini secara asinkron, dan akan memanggil Fungsi NdisClIncomingCallComplete saat operasi penutupan selesai. |
|
Klien menolak penawaran panggilan masuk karena beberapa alasan yang ditentukan driver. |
Keterangan
Panggilan ke ProtocolClIncomingCall menunjukkan bahwa manajer panggilan telah menerima permintaan melalui jaringan dari serekan sinyal untuk membuat koneksi dengan klien ini. Artinya, permintaan untuk menyiapkan koneksi seperti itu diarahkan ke SAP yang sebelumnya terdaftar di manajer panggilan oleh klien ini.
Tergantung pada protokol sinyal yang didukung oleh manajer panggilan, ProtocolClIncomingCall dapat memodifikasi parameter lalu lintas sebagai bagian dari proses negosiasi penerimaan penawaran panggilan masuk dan/atau, jika manajer panggilan mendukung QoS, kualitas spesifikasi layanan di CallParameters . Klien harus menyalin informasi apa pun yang diperlukan kemudian dari struktur buffer ini jika menerima panggilan yang ditawarkan.
Dengan asumsi manajer panggilan menemukan modifikasi klien, jika ada, dapat diterima, NDIS selanjutnya memanggil fungsi ProtocolClIncomingCallConnected klien ketika menjadi mungkin untuk transfer terjadi pada VC aktif yang mewakili koneksi ke klien pada simpul jarak jauh yang awalnya memulai penawaran panggilan. Jika klien mengembalikan parameter panggilan yang dimodifikasi yang tidak dapat diterima, manajer panggilan dapat merobek VC yang dibuatnya untuk penawaran ini, sehingga menyebabkan panggilan ke klien ProtocolClIncomingCloseCall lalu ProtocolCoDeleteVc berfungsi sebagai gantinya.
Contoh
Untuk menentukan fungsi ProtocolClIncomingCall , 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 ProtocolClIncomingCall yang diberi nama "MyClIncomingCall", gunakan jenis PROTOCOL_CL_INCOMING_CALL seperti yang ditunjukkan dalam contoh kode ini:
PROTOCOL_CL_INCOMING_CALL MyClIncomingCall;
Kemudian, terapkan fungsi Anda sebagai berikut:
_Use_decl_annotations_
NDIS_STATUS
MyClIncomingCall(
NDIS_HANDLE ProtocolSapContext,
NDIS_HANDLE ProtocolVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
Jenis fungsi PROTOCOL_CL_INCOMING_CALL 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_INCOMING_CALL 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 ProtocolClIncomingCall (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolClIncomingCall (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