Fungsi NdisClMakeCall (ndis.h)

NdisClMakeCall menyiapkan panggilan keluar pada VC yang dibuat klien.

Sintaks

NDIS_STATUS NdisClMakeCall(
  [in]            NDIS_HANDLE         NdisVcHandle,
  [in, out]       PCO_CALL_PARAMETERS CallParameters,
  [in, optional]  NDIS_HANDLE         ProtocolPartyContext,
  [out, optional] PNDIS_HANDLE        NdisPartyHandle
);

Parameter

[in] NdisVcHandle

Menentukan handel yang dikembalikan oleh panggilan sebelumnya ke NdisCoCreateVc.

[in, out] CallParameters

Penunjuk ke struktur jenis CO_CALL_PARAMETERS di mana pemanggil telah menentukan atribut untuk koneksi ini, seperti alamat target untuk panggilan, latensi, bandwidth, dan kualitas layanan jika media jaringan dan keluarga alamat yang didukung oleh manajer panggilan mengizinkan spesifikasi QoS.

[in, optional] ProtocolPartyContext

Secara opsional menentukan handel yang disediakan penelepon ke area konteks penduduk tempat klien akan mempertahankan status per pihak untuk pihak awal pada VC multipoint-nya. Parameter ini adalah NULL jika VC yang diberikan tidak mewakili koneksi multipoint. Untuk VC multipoint, NDIS meneruskan handel ini kembali ke fungsi ProtocolClXxx klien di semua panggilan berikutnya yang memengaruhi pihak tertentu ini.

[out, optional] NdisPartyHandle

Penunjuk ke variabel yang disediakan penelepon, biasanya di area konteks pihak yang dialokasikan pemanggil, di mana NDIS mengembalikan handel yang mewakili pihak awal ke koneksi multipoint jika permintaan untuk menyiapkan panggilan keluar berhasil. Jika ProtocolPartyContext adalah NULL, variabel ini, biasanya di area konteks VC klien, juga diatur ke NULL setelah penyelesaian penyiapan panggilan keluar.

Nilai kembali

Ketika NdisClMakeCall mengembalikan apa pun selain NDIS_STATUS_PENDING, klien harus melakukan panggilan internal ke Fungsi ProtocolClMakeCallComplete . Jika tidak, NDIS memanggil fungsi ProtocolClMakeCallComplete klien ketika operasi ini selesai.

Keterangan

NdisClMakeCall menyiapkan atribut VC yang dibuat klien untuk panggilan keluar yang dimulai klien. Klien harus menyiapkan VC dengan NdisCoCreateVc sebelum mencoba melakukan panggilan keluar.

Panggilan ke NdisClMakeCall menyebabkan NDIS meneruskan permintaan ini ke fungsi ProtocolCmMakeCall dari manajer panggilan tempat klien berbagi NdisVcHandle yang diberikan. CM bertanggung jawab untuk memvalidasi data yang diberikan di CallParameters . Ini dapat memodifikasi data yang disediakan klien ini saat bernegosiasi dengan komponen jaringan yang relevan dan dapat mengembalikan parameter lalu lintas yang berbeda dari yang sebelumnya diberikan klien ke NdisClMakeCall. Klien Fungsi ProtocolClMakeCallComplete bertanggung jawab untuk menerima parameter panggilan yang dimodifikasi jika ini terjadi atau untuk menghentikan panggilan jika parameter panggilan yang diusulkan CM tidak dapat diterima.

Akibatnya, data di CallParameters harus tetap tersedia untuk manajer panggilan setidaknya selama durasi penyiapan panggilan. Klien tidak dapat membebaskan buffer ini ketika NdisClMakeCall mengembalikan NDIS_STATUS_PENDING. Ini harus menugaskan melepaskan sumber daya yang dialokasikan klien ini sampai fungsi ProtocolClMakeCallComplete dipanggil.

Jika NdisClMakeCall menyiapkan koneksi multipoint, klien membuat parameter lalu lintas secara global untuk VC yang diberikan, kecuali media jaringan yang mendasarinya mendukung parameter lalu lintas per pihak.

Fungsi ProtocolClMakeCallComplete klien harus memeriksa Status input untuk NDIS_STATUS_SUCCESS sebelum menggunakan handel yang dikembalikan di NdisPartyHandle . Jika manajer panggilan gagal dalam permintaan untuk menyiapkan panggilan pada koneksi multipoint, nilai variabel yang disediakan klien ini tidak valid.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisClMakeCall (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisClMakeCall (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_Protocol_Driver_Function(ndis)

Lihat juga

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisClCloseCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisCmMakeCallComplete

NdisCoCreateVc

ProtocolClMakeCallComplete

ProtocolCmMakeCall