Fungsi NdisCoCreateVc (ndis.h)

NdisCoCreateVc menyiapkan titik akhir koneksi tempat klien dapat melakukan panggilan keluar atau di mana manajer panggilan yang berdiri sendiri dapat mengirimkan panggilan masuk.

Sintaks

NDIS_STATUS NdisCoCreateVc(
  [in]           NDIS_HANDLE  NdisBindingHandle,
  [in, optional] NDIS_HANDLE  NdisAfHandle,
  [in]           NDIS_HANDLE  ProtocolVcContext,
  [in, out]      PNDIS_HANDLE NdisVcHandle
);

Parameter

[in] NdisBindingHandle

Menentukan handel yang dikembalikan oleh NdisOpenAdapterEx yang mengidentifikasi NIC target atau adaptor virtual driver berikutnya yang lebih rendah tempat pemanggil terikat.

[in, optional] NdisAfHandle

Menentukan handel yang dikembalikan oleh NdisClOpenAddressFamilyEx jika pemanggil adalah klien. Manajer panggilan mengatur parameter ini ke NULL jika membuat VC untuk dirinya sendiri, seperti VC ke sakelar jaringan. Saat membuat VC untuk pemberitahuan panggilan masuk, manajer panggilan meneruskan handel AF yang disimpan dalam status per-AF yang ditunjuk oleh CallMgrAfContext yang diteruskan sebagai parameter input ke Fungsi ProtocolCmRegisterSap .

[in] ProtocolVcContext

Menentukan handel ke area konteks penduduk yang disediakan penelepon tempat pemanggil mempertahankan status untuk VC ini. NDIS meneruskan handel ini kembali ke pembuat VC di semua panggilan berikutnya mengenai titik akhir ini jika panggilan ke NdisCoCreateVc berhasil.

[in, out] NdisVcHandle

Penunjuk ke variabel yang disediakan penelepon yang harus diinisialisasi ke NULL ketika NdisCoCreateVc dipanggil. Saat kembali dari panggilan yang berhasil, ini menunjuk ke variabel yang telah diatur NDIS ke handelnya untuk VC yang baru dibuat. Pemanggil harus menyimpan handel ini untuk panggilan berikutnya ke fungsi Ndis Xxx berorientasi koneksi.

Nilai kembali

NdisCoCreateVc dapat mengembalikan salah satu hal berikut ini:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NDIS berhasil membuat VC.
NDIS_STATUS_RESOURCES
NDIS tidak dapat mengalokasikan memori yang cukup untuk menyiapkan VC.
NDIS_STATUS_FAILURE
NdisAfHandle yang diberikan tidak valid.
NDIS_STATUS_ XXX
Driver miniport yang mendasar gagal membuat VC karena alasan yang ditentukan driver miniport, yang telah disebarluaskan NDIS ke pemanggil.

Keterangan

Klien atau manajer panggilan mandiri membuat VC dengan NdisCoCreateVc, tergantung pada apakah VC mewakili panggilan keluar atau masuk, masing-masing.

Dalam proses pembuatan VC, NDIS memasok NdisVcHandle kepada klien, manajer panggilan, dan driver miniport tempat kedua driver protokol terikat. Handel ini mengidentifikasi sirkuit virtual untuk klien, manajer panggilan, dan driver miniport tempat permintaan berikutnya mengenai VC yang diberikan diarahkan. Setiap driver harus memperlakukan handel VC ini sebagai variabel buram, melewatinya tanpa diubah dan tidak diinterpretasikan dalam panggilan berikutnya ke fungsi pustaka NDIS berorientasi koneksi tertentu.

Biasanya, penelepon NdisCoCreateVc menyimpan NdisVcHandle yang dikembalikan di area status yang dialokasikan pemanggil di ProtocolVcContext . NDIS meneruskan handel ini sebagai parameter input ke fungsi ProtocolCoCreateVc dan MiniportCoCreateVc dari dua driver lain yang terlibat dalam setiap pembuatan VC.

Untuk melakukan panggilan keluar, klien harus memanggil NdisCoCreateVc terlebih dahulu. Sebagai operasi sinkron, NDIS memanggil fungsi MiniportCoCreateVc driver miniport yang mendasar dan fungsi ProtocolCoCreateVc manajer panggilan sebelum NdisCoCreateVc mengembalikan kontrol. Jika panggilannya ke NdisCoCreateVc berhasil, klien dapat melanjutkan dalam melakukan panggilan keluar, meneruskan NdisVcHandle yang dikembalikan ke NdisClMakeCall.

Ketika Fungsi ProtocolCoReceiveNetBufferLists memproses penawaran panggilan masuk yang diarahkan ke salah satu SAP terdaftarnya, manajer panggilan harus memanggil NdisCoCreateVc terlebih dahulu. Sebagai operasi sinkron, NDIS memanggil fungsi MiniportCoCreateVc driver miniport yang mendasar dan fungsi ProtocolCoCreateVc klien sebelum NdisCoCreateVc mengembalikan kontrol. Jika panggilannya ke NdisCoCreateVc berhasil, manajer panggilan dapat melanjutkan dalam memberi tahu klien yang sesuai, meneruskan nilai yang dikembalikan di NdisVcHandle ke NdisCmDispatchIncomingCall.

Manajer panggilan yang berdiri sendiri, yang mendaftarkan diri dengan NDIS sebagai driver protokol, dapat memanggil NdisCoCreateVc. Driver miniport berorientasi koneksi yang menyediakan panggilan dukungan manajemen panggilan terintegrasi NdisMCmCreateVc, sebagai gantinya.

Persyaratan

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

Lihat juga

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCmDispatchIncomingCall

NdisCoDeleteVc

NdisMCmCreateVc

ProtocolCmRegisterSap

ProtocolCoCreateVc

ProtocolCoReceiveNetBufferLists