Fungsi NdisCmActivateVc (ndis.h)

NdisCmActivateVc meneruskan parameter panggilan yang disediakan CM, termasuk parameter media, untuk VC tertentu hingga driver miniport yang mendasar.

Sintaks

NDIS_STATUS NdisCmActivateVc(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in, out] PCO_CALL_PARAMETERS CallParameters
);

Parameter

[in] NdisVcHandle

Menentukan handel yang mengidentifikasi VC untuk mengatur parameter panggilan. Manajer panggilan memperoleh handel ini dari NdisCoCreateVc untuk panggilan masuk atau sebagai parameter input ke fungsi ProtocolCoCreateVc untuk panggilan keluar yang dimulai klien.

[in, out] CallParameters

Penunjuk ke buffer residen yang dialokasikan CM, diformat sebagai struktur jenis CO_CALL_PARAMETERS, berisi semua parameter khusus media yang digunakan driver miniport yang mendasar untuk aktivasi VC.

Nilai kembali

Ketika NdisCmActivateVc mengembalikan apa pun selain NDIS_STATUS_PENDING, manajer panggilan harus melakukan panggilan internal ke Fungsi ProtocolCmActivateVcComplete . Jika tidak, NDIS memanggil fungsi ProtocolCmActivateVcComplete CM ketika operasi ini selesai.

Keterangan

NdisCmActivateVc memberi tahu driver miniport yang mendasar untuk menyiapkan parameter panggilan dan media pada VC yang baru dibuat atau untuk mengubah VC yang dibuat. NDIS meneruskan parameter panggilan dan handel VC yang diberikan ke fungsi MiniportCoActivateVc driver miniport yang mendasar, yang menyiapkan semua sumber daya yang diperlukan untuk melacak status VC dan membuat dirinya sendiri dan NIC siap untuk transfer data pada VC.

CM yang berdiri sendiri selalu memanggil NdisCmActivateVc setelah membuat koneksi pada VC tetapi sebelum data dikirim atau diterima pada VC tersebut. Selama durasi koneksi, CM dapat memanggil NdisCmActivateVc berkali-kali dengan NdisVcHandle yang sama dengan kondisi pada perubahan jaringan dan/atau setiap kali klien memanggil NdisClModifyCallQoS. Pada setiap panggilan tersebut ke NdisCmActivateVc, fungsi MiniportCoActivateVc driver miniport yang mendasar harus melakukan salah satu hal berikut:

  • Perbarui status yang dipertahankan driver miniport tentang parameter panggilan ke nilai baru yang disediakan oleh manajer panggilan jika driver miniport dapat terus melakukan transfer pada VC sesuai dengan parameter panggilan yang baru dimodifikasi.
  • Gagalkan panggilan jika driver miniport tidak dapat terus melakukan transfer di bawah batasan parameter panggilan yang diberikan.
Ketika driver miniport yang mendasar gagal dalam permintaan untuk mengatur atau mengatur ulang parameter panggilan, manajer panggilan mungkin memodifikasi spesifikasi aslinya di CallParameters dan memanggil NdisCmActivateVc lagi. Batas berapa kali manajer panggilan melakukan upaya berulang untuk mengaktifkan VC bergantung pada implementasi.

Untuk panggilan keluar yang dimulai klien, CM yang berdiri sendiri biasanya memanggil NdisCmActivateVc segera setelah pertukaran paket yang mengonfirmasi perjanjian yang dinegosiasikan dengan target jarak jauh panggilan atau pengaturan panggilan yang berhasil di switch, sebelum memberi tahu NDIS (dan klien) tentang penyelesaian panggilan keluar dengan NdisCmMakeCallComplete. Untuk panggilan masuk, manajer panggilan biasanya memanggil NdisCmActivateVc setelah berhasil memanggil NdisCoCreateVc dan sebelum memanggil NdisCmDispatchIncomingCall.

Dalam proses menyiapkan panggilan keluar dan sementara VC tetap diaktifkan, klien dapat meminta perubahan pada parameter panggilan untuk VC tersebut, misalnya, dengan memanggil NdisClModifyCallQos. Setelah memverifikasi validitas parameter panggilan yang diberikan untuk permintaan seperti itu, manajer panggilan mandiri harus memanggil NdisCmActivateVc untuk meneruskan parameter panggilan yang dimodifikasi ke driver miniport yang mendasar.

Hanya manajer panggilan mandiri, yang mendaftarkan diri dengan NDIS sebagai driver protokol, yang dapat memanggil NdisCmActivateVc. Driver miniport berorientasi koneksi yang menyediakan panggilan dukungan manajemen panggilan terintegrasi NdisMCmActivateVc sebagai gantinya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisCmActivateVc (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisCmActivateVc (NDIS 5.1)) di Windows XP.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_CallManager_Function(ndis)

Lihat juga

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc