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.
NDIS_STATUS NdisCoCreateVc(
[in] NDIS_HANDLE NdisBindingHandle,
[in, optional] NDIS_HANDLE NdisAfHandle,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PNDIS_HANDLE NdisVcHandle
);
[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.
NdisCoCreateVc dapat mengembalikan salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
NDIS berhasil membuat VC. |
|
NDIS tidak dapat mengalokasikan memori yang cukup untuk menyiapkan VC. |
|
NdisAfHandle yang diberikan tidak valid. |
|
Driver miniport yang mendasar gagal membuat VC karena alasan yang ditentukan driver miniport, yang telah disebarluaskan NDIS ke pemanggil. |
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 | 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) |