PROTOCOL_CM_MODIFY_QOS_CALL fungsi panggilan balik (ndis.h)

Fungsi ProtocolCmModifyCallQoS diperlukan. ProtocolCmModifyCallQoS dipanggil oleh NDIS ketika klien berorientasi koneksi meminta agar parameter panggilan diubah untuk koneksi virtual (VC) yang ada. Jika media jaringan yang mendasar tidak mendukung QoS, ProtocolCmModifyQoS seharusnya hanya mengembalikan NDIS_STATUS_NOT_SUPPORTED.

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

Sintaks

PROTOCOL_CM_MODIFY_QOS_CALL ProtocolCmModifyQosCall;

NDIS_STATUS ProtocolCmModifyQosCall(
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Parameter

[in] CallMgrVcContext

Menentukan handel ke area konteks yang dialokasikan manajer panggilan di mana manajer panggilan mempertahankan status per VC-nya. Manajer panggilan menyediakan handel ini ke NDIS untuk fungsi ProtocolCoCreateVc-nya .

[in] CallParameters

Penunjuk ke struktur CO_CALL_PARAMETERS yang berisi parameter panggilan baru, seperti yang ditentukan oleh klien berorientasi koneksi, untuk VC.

Nilai kembali

ProtocolCmModifyQoS mengembalikan status operasinya sebagai salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Menunjukkan bahwa pengelola panggilan berhasil mengubah parameter panggilan dengan jaringan ke parameter panggilan yang ditentukan di CallParameters .
NDIS_STATUS_PENDING
Menunjukkan bahwa manajer panggilan akan menyelesaikan permintaan untuk mengubah parameter panggilan secara asinkron. Ketika manajer panggilan telah menyelesaikan semua operasi yang diperlukan untuk memodifikasi parameter panggilan, manajer panggilan harus memanggil NdisCmModifyCallQoSComplete.
NDIS_STATUS_RESOURCES
Menunjukkan bahwa manajer panggilan tidak dapat mengubah parameter panggilan VC karena sumber daya yang dialokasikan secara dinamis tidak tersedia.
NDIS_STATUS_INVALID_DATA
Menunjukkan bahwa manajer panggilan tidak dapat mengubah parameter panggilan VC karena parameter panggilan yang disediakan di CallParameters ilegal atau tidak valid.
NDIS_STATUS_FAILURE
Menunjukkan bahwa parameter panggilan tidak dapat diatur ke parameter panggilan yang disediakan karena kegagalan dalam jaringan atau di komponen jaringan berorientasi koneksi lain.

Keterangan

ProtocolCmModifyQoS berkomunikasi dengan perangkat kontrol jaringan atau agen khusus media lainnya, sebagaimana diperlukan oleh medianya, untuk memodifikasi parameter panggilan khusus media untuk koneksi virtual yang dibuat. Jika manajer panggilan diperlukan untuk berkomunikasi dengan agen kontrol jaringan (dengan kata lain, sakelar jaringan) ia harus menggunakan koneksi virtual ke agen kontrol jaringan yang dibuatnya dalam fungsi ProtocolBindAdapterEx . Manajer panggilan mandiri berkomunikasi ke agen jaringan dengan memanggil NdisCoSendNetBufferLists. Driver Miniport dengan dukungan manajemen panggilan terintegrasi tidak pernah memanggil NdisCoSendNetBufferLists. Sebaliknya, driver seperti itu hanya mentransfer data melalui jaringan ke agen jaringan target.

Setelah berkomunikasi dengan jaringan dan jika perubahan berhasil, manajer panggilan kemudian harus memanggil NdisCmActivateVc dengan parameter panggilan baru. Ini memberi tahu NDIS dan/atau driver miniport berorientasi koneksi bahwa parameter panggilan telah berubah dan memberi driver miniport kesempatan untuk memvalidasi parameter tersebut.

Jika jaringan tidak dapat menerima parameter panggilan baru atau driver miniport yang mendasar tidak dapat menerima parameter, manajer panggilan harus memulihkan koneksi virtual ke status yang ada sebelum modifikasi apa pun dicoba, dan mengembalikan NDIS_STATUS_FAILURE.

Contoh

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

PROTOCOL_CM_MODIFY_QOS_CALL MyCmModifyCallQoS;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyCmModifyCallQoS(
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

Jenis fungsi PROTOCOL_CM_MODIFY_QOS_CALL 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_CM_MODIFY_QOS_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 ProtocolCmModifyCallQoS (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolCmModifyCallQoS (NDIS 5.1)) di Windows XP.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI SpinLockBalanced(ndis), SpinLockDpr(ndis)

Lihat juga

NdisCmActivateVc

NdisCmModifyCallQoSComplete

NdisCoSendNetBufferLists

ProtocolCoCreateVc