PROTOCOL_CM_ADD_PARTY fungsi panggilan balik (ndis.h)

Fungsi ProtocolCmAddParty adalah fungsi yang diperlukan. ProtocolCmAddParty menyiapkan parameter khusus media untuk menambahkan pihak ke panggilan multipoint yang ada, menyimpan data status untuk pihak baru, dan menyebabkan pihak ditambahkan ke panggilan.

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

Sintaks

PROTOCOL_CM_ADD_PARTY ProtocolCmAddParty;

NDIS_STATUS ProtocolCmAddParty(
  [in]      NDIS_HANDLE CallMgrVcContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters,
  [in]      NDIS_HANDLE NdisPartyHandle,
  [out]     PNDIS_HANDLE CallMgrPartyContext
)
{...}

Parameter

[in] CallMgrVcContext

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

[in, out] CallParameters

Penunjuk ke struktur CO_CALL_PARAMETERS yang berisi parameter, yang ditentukan oleh klien berorientasi koneksi, untuk pihak yang ditambahkan ke panggilan yang ada.

[in] NdisPartyHandle

Menentukan handel, yang disediakan oleh NDIS, yang secara unik mengidentifikasi pihak multipoint yang akan ditambahkan ke koneksi virtual yang ada. Handel ini buram ke manajer panggilan dan dicadangkan untuk penggunaan pustaka NDIS.

[out] CallMgrPartyContext

Menentukan, saat kembali, handel ke area konteks yang disediakan manajer panggilan di mana manajer panggilan mempertahankan status tentang pihak ini untuk panggilan multipoint.

Nilai kembali

ProtocolCmAddParty mengembalikan status operasinya sebagai salah satu hal berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Menunjukkan bahwa manajer panggilan berhasil mengalokasikan sumber daya yang diperlukan untuk mempertahankan status tentang pihak dan berhasil menambahkan pihak ke panggilan.
NDIS_STATUS_PENDING
Menunjukkan bahwa manajer panggilan akan menyelesaikan permintaan untuk menambahkan pihak secara asinkron. Ketika manajer panggilan telah menyelesaikan semua operasi untuk menambahkan pihak, ia harus memanggil NdisCmAddPartyComplete untuk memberi sinyal NDIS bahwa operasi ini telah selesai.
NDIS_STATUS_RESOURCES
Menunjukkan bahwa manajer panggilan tidak dapat mengalokasikan dan/atau menginisialisasi sumber dayanya untuk menambahkan pihak ke koneksi.
NDIS_STATUS_NOT_SUPPORTED
Menunjukkan bahwa manajer panggilan tidak dapat menambahkan pihak ke panggilan multi-titik karena pemanggil meminta fitur yang tidak valid atau tidak tersedia dalam parameter panggilan di CallParameters atau jika tidak, jenis media yang didukung oleh manajer panggilan ini tidak mendukung panggilan multipoint.

Keterangan

ProtocolCmAddParty melakukan alokasi sumber daya dan struktur dinamis yang diperlukan manajer panggilan untuk mempertahankan informasi status tentang pihak tersebut, yang ditentukan oleh NdisPartyHandle, untuk ditambahkan ke panggilan multipoint. Sumber daya tersebut dapat mencakup, tetapi tidak terbatas pada, buffer memori, struktur data, peristiwa, dan sumber daya serupa lainnya. Manajer panggilan juga harus menginisialisasi struktur per pihak yang relevan dalam fungsi ini.

Di area status per pihak yang dialokasikan manajer panggilan, manajer panggilan harus menyimpan handel yang ditentukan oleh NdisPartyHandle untuk referensi dalam panggilan mendatang. Setelah manajer panggilan mengalokasikan dan menyelesaikan inisialisasi area status per pihaknya, alamat buffer status harus ditetapkan sebagai handel CallMgrPartyContext sebelum mengembalikan kontrol ke NDIS. Untuk melakukan ini, dereferensi handel dan simpan penunjuk ke buffer status sebagai nilai handel. Contohnya:

*CallMgrPartyContext = SomeBuffer;

Manajer panggilan melakukan komunikasi yang diperlukan dengan perangkat keras jaringan mereka atau aktor khusus media lainnya, seperlunya, untuk menambahkan pihak yang ditentukan oleh parameter panggilan di CallParameters ke panggilan multipoint yang ada.

Contoh

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

MINIPORT_ADD_DEVICE MyCmAddParty;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyCmAddParty(
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters,
    NDIS_HANDLE  NdisPartyHandle,
    PNDIS_HANDLE  CallMgrPartyContext
    )
  {...}

Jenis fungsi PROTOCOL_CM_ADD_PARTY 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_CM_ADD_PARTY 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 ProtocolCmAddParty (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat ProtocolCmAddParty (NDIS 5.1)) di Windows XP.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

NdisClAddParty

ProtocolClAddPartyComplete