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.
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 |
---|---|
|
Menunjukkan bahwa driver miniport berhasil mengalokasikan semua sumber daya yang diperlukan dan menyiapkan dirinya sendiri untuk menangani permintaan untuk VC yang baru dibuat. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk