Fungsi NdisClAddParty (ndis.h)

NdisClAddParty menambahkan pihak pada VC multipoint klien.

Sintaks

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

Parameter

[in] NdisVcHandle

Penunjuk ke handel VC yang dikembalikan oleh NdisCoCreateVc.

[in] ProtocolPartyContext

Menentukan handel ke area konteks penduduk yang dialokasikan penelepon tempat klien akan mempertahankan status per pihak jika panggilannya berhasil.

[in, out] CallParameters

Penunjuk ke struktur jenis CO_CALL_PARAMETERS di mana pemanggil telah menentukan informasi alamat untuk pihak yang akan ditambahkan pada VC multipoint-nya.

[out] NdisPartyHandle

Penunjuk ke variabel yang akan diatur oleh NDIS jika operasi add-party berhasil.

Nilai kembali

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

Keterangan

Sebelum memanggil NdisClAddParty, klien harus menyiapkan koneksi multipoint pada VC-nya dengan NdisClMakeCall, serta mengalokasikan dan menginisialisasi area konteksnya agar pihak dapat ditambahkan. Klien biasanya meneruskan pointer ke area konteks seperti ProtocolPartyContext dan pointer ke variabel dalam area konteks tersebut sebagai parameter NdisPartyHandle saat mereka memanggil NdisClAddParty.

Panggilan ke NdisClAddParty menyebabkan NDIS meneruskan permintaan ini ke fungsi ProtocolCmAddParty dari manajer panggilan tempat klien berbagi NdisVcHandle yang diberikan. Manajer panggilan segera mengembalikan status kesalahan atau, lebih umum, NDIS_STATUS_PENDING jika mencoba memenuhi permintaan ini. Jika upayanya ditolak pada titik akhir jarak jauh atau oleh driver miniport yang mendasar, manajer panggilan mengembalikan status kesalahan akhir, seperti NDIS_STATUS_FAILURE, saat memanggil NdisCmAddPartyComplete atau NdisMCmAddPartyComplete. Klien Fungsi ProtocolClAddPartyComplete harus memeriksa argumen Status input untuk NDIS_STATUS_SUCCESS sebelum melanjutkan lebih lanjut.

Media jaringan yang mendasar menentukan apakah klien dapat menentukan parameter lalu lintas per pihak pada VC multipoint.

Jika media jaringan yang mendasar tidak mendukung parameter lalu lintas per pihak pada VC multipoint, manajer panggilan dapat melakukan salah satu hal berikut setiap kali klien mencoba menambahkan pihak dengan spesifikasi di CallParameters yang tidak cocok dengan parameter lalu lintas yang sudah ditetapkan untuk VC tersebut:

  • Tolak permintaan untuk menambahkan pihak baru.
  • Reset parameter lalu lintas ke yang sudah ditetapkan untuk VC multipoint ketika berhasil menambahkan pihak pada VC tersebut.
  • Ubah parameter lalu lintas untuk setiap pihak yang sudah ada di VC ketika berhasil menambahkan pihak baru.
Jika operasi add-party berhasil, variabel di NdisPartyHandle telah ditetapkan oleh NDIS ke handel valid yang dibagikan di antara NDIS, klien, dan manajer panggilan. Klien harus memperlakukan handel yang disediakan NDIS ini sebagai variabel buram untuk diteruskan, tidak dimodifikasi, dan tidak diinterpretasikan, dalam panggilan berikutnya ke fungsi NdisCl/CoXxx mengenai pihak yang baru ditambahkan.

Pada gilirannya, NDIS meneruskan pegangan ProtocolPartyContext yang disediakan klien dalam panggilan berikutnya ke fungsi ProtocolClXxx klien yang menyangkut pihak yang baru ditambahkan ini, termasuk panggilan ke ProtocolClAddPartyComplete.

Apakah panggilan multi-titik mengizinkan transfer ke kedua arah dan/atau transfer per pihak dengan parameter lalu lintas per pihak tergantung pada media driver miniport yang mendasar tempat klien terikat. NdisPartyHandle hanya mewakili pihak tertentu yang ditambahkan oleh panggilan yang berhasil ke NdisClAddParty, bukan VC multipoint. Akibatnya, klien dapat menggunakan area ProtocolPartyContext hanya untuk permintaan manajemen panggilan khusus pihak berikutnya. Untuk transfer data melalui media jaringan yang tidak mendukung transfer per pihak atau parameter lalu lintas, klien harus menggunakan NdisVcHandle sebagai gantinya.

Persyaratan

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

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCooidRequest

NdisCooidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty