MINIPORT_CO_CREATE_VC fungsi panggilan balik (ndis.h)

Fungsi MiniportCoCreateVc diperlukan untuk miniport berorientasi koneksi. MiniportCoCreateVc dipanggil oleh NDIS untuk menunjukkan kepada driver miniport bahwa VC baru sedang dibuat.

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

Sintaks

MINIPORT_CO_CREATE_VC MiniportCoCreateVc;

NDIS_STATUS MiniportCoCreateVc(
  [in]  NDIS_HANDLE MiniportAdapterContext,
  [in]  NDIS_HANDLE NdisVcHandle,
  [out] PNDIS_HANDLE MiniportVcContext
)
{...}

Parameter

[in] MiniportAdapterContext

Menentukan handel ke area konteks yang dialokasikan driver miniport di mana driver miniport mempertahankan informasi status tentang instans adaptor ini. Driver miniport menyediakan handel ini ke NDIS dengan memanggil NdisMSetMiniportAttributes dari Fungsi MiniportInitializeEx .

[in] NdisVcHandle

Menentukan handel, yang disediakan oleh NDIS, yang secara unik mengidentifikasi VC yang sedang dibuat. Handel ini buram untuk driver miniport dan disediakan untuk penggunaan pustaka NDIS.

[out] MiniportVcContext

Menentukan, pada output, handel ke area konteks yang disediakan driver miniport di mana driver miniport mempertahankan status tentang VC.

Nilai kembali

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Menunjukkan bahwa driver miniport berhasil mengalokasikan semua sumber daya yang diperlukan dan menyiapkan dirinya sendiri untuk menangani permintaan untuk VC yang baru dibuat.
NDIS_STATUS_RESOURCES
Menunjukkan bahwa manajer panggilan tidak dapat memperoleh sumber daya yang dialokasikan secara dinamis yang diperlukan agar dapat beroperasi pada VC baru.

Keterangan

MiniportCoCreateVc harus ditulis sebagai fungsi sinkron dan tidak dapat, dalam keadaan apa pun, mengembalikan NDIS_STATUS_PENDING tanpa menyebabkan kegagalan di seluruh sistem.

MiniportCoCreateVc mengalokasikan sumber daya yang diperlukan yang diperlukan driver miniport untuk mempertahankan informasi status tentang VC. Sumber daya dapat mencakup, tetapi tidak terbatas pada buffer memori, peristiwa, struktur data, dan sumber daya serupa lainnya.

Setelah mengalokasikan semua sumber daya yang diperlukan, driver miniport harus menginisialisasi sumber daya ke dalam keadaan yang dapat digunakan dan mengembalikan pointer ke area status di MiniportVcContext. Handel diatur dengan mendereferensikan handel dan menyimpan penunjuk ke buffer status sebagai nilai handel. Contohnya:

*MiniportVcContext = SomeBuffer;

Driver Miniport harus menyimpan handel ke VC, NdisVcHandle, di area status mereka karena merupakan parameter yang diperlukan untuk rutinitas pustaka NDIS lainnya yang kemudian dipanggil oleh driver miniport.

Contoh

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

MINIPORT_CO_CREATE_VC MyCoCreateVc;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MyCoCreateVc(
    NDIS_HANDLE  MiniportAdapterContext,
    NDIS_HANDLE  NdisVcHandle,
    PNDIS_HANDLE  MiniportVcContext
    )
  {...}

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

Lihat juga

MiniportInitializeEx

NdisMSetMiniportAttributes