PROTOCOL_CM_DROP_PARTY fungsi panggilan balik (ndis.h)

Fungsi ProtocolCmDropParty diperlukan. NDIS memanggil ProtocolCmDropParty untuk meminta agar manajer panggilan menghapus pihak dari panggilan multipoint yang ada.

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

Sintaks

PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;

NDIS_STATUS ProtocolCmDropParty(
  [in]           NDIS_HANDLE CallMgrPartyContext,
  [in, optional] PVOID CloseData,
  [in, optional] UINT Size
)
{...}

Parameter

[in] CallMgrPartyContext

Menentukan handel ke area konteks yang dialokasikan manajer panggilan tempat manajer panggilan mempertahankan status per pihaknya. Handel ini diberikan kepada NDIS dalam fungsi ProtocolCmAddParty manajer panggilan.

[in, optional] CloseData

Penunjuk ke buffer yang berisi data khusus klien berorientasi koneksi yang harus dikirim di seluruh koneksi sebelum pihak dihilangkan. Parameter ini ADALAH NULL jika media jaringan yang mendasar tidak mendukung transfer data saat menutup koneksi.

[in, optional] Size

Menentukan panjang, dalam byte, dari buffer di CloseData, nol jika CloseData adalah NULL.

Nilai kembali

ProtocolCmDropParty mengembalikan status operasinya sebagai salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Menunjukkan bahwa manajer panggilan telah berhasil menjatuhkan pihak, mengirim data dekat apa pun, dan membebaskan sumber daya yang dialokasikan untuk area konteksnya.
NDIS_STATUS_PENDING
Menunjukkan bahwa manajer panggilan akan menyelesaikan permintaan untuk menjatuhkan pihak secara asinkron. Manajer panggilan harus memanggil NdisCmDropPartyComplete ketika semua pemrosesan telah selesai untuk memberi tahu NDIS dan aktor yang meminta bahwa pihak telah dihilangkan.
NDIS_STATUS_INVALID_DATA
Menunjukkan bahwa CloseData ditentukan ke manajer panggilan, tetapi jenis media tidak mendukung pengiriman data bersamaan dengan penghentian koneksi.

Keterangan

ProtocolCmDropParty berkomunikasi dengan perangkat kontrol jaringan atau agen khusus media lainnya, seperlunya medianya, untuk menghilangkan pihak dari panggilan multi-titik yang ada. Jika manajer panggilan diperlukan untuk berkomunikasi dengan agen kontrol jaringan (seperti, sakelar jaringan) ia harus menggunakan koneksi virtual ke agen kontrol jaringan yang dibuatnya Fungsi ProtocolBindAdapterEx .

Jika CloseData bukan NULL dan mengirim data pada penghentian koneksi didukung oleh jenis medianya, manajer panggilan harus mengirimkan data yang ditentukan di CloseData sebelum menyelesaikan penghentian. Jika mengirim data bersamaan dengan penghentian koneksi tidak didukung oleh jenis media, manajer panggilan harus mengembalikan kontrol dengan NDIS_STATUS_INVALID_DATA.

Manajer panggilan juga harus membebaskan sumber daya per pihak apa pun yang dialokasikan dan disimpan di CallMgrPartyContext . Selain itu, manajer panggilan harus membebaskan buffer yang disimpan CallMgrPartyContext itu sendiri. Kegagalan untuk melakukannya akan mengakibatkan kondisi kebocoran memori.

Contoh

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

PROTOCOL_CM_DROP_PARTY MyCmDropParty;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyCmDropParty(
    NDIS_HANDLE  CallMgrPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

Lihat juga

NdisCmDropPartyComplete

ProtocolCmAddParty