PROTOCOL_OPEN_ADAPTER_COMPLETE_EX fungsi panggilan balik (ndis.h)

NDIS memanggil fungsi ProtocolOpenAdapterCompleteEx driver protokol untuk menyelesaikan operasi adaptor terbuka yang fungsi NdisOpenAdapterEx-nya mengembalikan NDIS_STATUS_PENDING.

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

Sintaks

PROTOCOL_OPEN_ADAPTER_COMPLETE_EX ProtocolOpenAdapterCompleteEx;

void ProtocolOpenAdapterCompleteEx(
  [in] NDIS_HANDLE ProtocolBindingContext,
  [in] NDIS_STATUS Status
)
{...}

Parameter

[in] ProtocolBindingContext

Handel ke area konteks yang dialokasikan oleh driver protokol. Driver protokol mempertahankan informasi konteks per pengikatan di area konteks ini. Driver menyediakan handel ini ke NDIS ketika driver disebut NdisOpenAdapterEx.

[in] Status

Status akhir operasi terbuka untuk driver miniport yang mendasar. Nilai status ini NDIS_STATUS_SUCCESS jika pengikatan ditetapkan atau status kesalahan apa pun yang ditentukan driver yang mendasar.

Nilai kembali

Tidak ada

Keterangan

Fungsi ProtocolOpenAdapterCompleteEx diperlukan. Driver protokol memanggil fungsi NdisOpenAdapterEx dari fungsi ProtocolBindAdapterEx-nya . NDIS memanggil fungsi ProtocolOpenAdapterCompleteEx driver setelah operasi terbuka yang tertunda selesai.

Jika ProtocolBindAdapterEx menunggu NDIS memanggil ProtocolOpenAdapterCompleteEx, fungsi ini cukup menyimpan status dan menunjukkan bahwa ia telah dipanggil (misalnya, dapat memperbarui area konteks ProtocolBindingContext ). Ini memungkinkan fungsi ProtocolBindAdapterEx untuk menyelesaikan operasi pengikatan.

Jika fungsi ProtocolBindAdapterEx belum melakukannya, ProtocolOpenAdapterCompleteEx dapat mengalokasikan sumber daya yang diperlukan driver untuk pengikatan.

Jika ProtocolBindAdapterEx mengembalikan NDIS_STATUS_PENDING, ProtocolOpenAdapterCompleteEx dapat memanggil Fungsi NdisCompleteBindAdapterEx untuk menyelesaikan operasi pengikatan. Dalam hal ini, ProtocolOpenAdapterCompleteEx melewati NdisCompleteBindAdapterExhandel BindContext yang diteruskan NDIS ke ProtocolBindAdapterEx. Jika parameter Status menunjukkan kesalahan, ProtocolOpenAdapterCompleteEx dapat merilis sumber daya pengikatan yang disiapkan di ProtocolBindAdapterEx.

NDIS memanggil ProtocolOpenAdapterCompleteEx di IRQL = PASSIVE_LEVEL.

Contoh

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

PROTOCOL_OPEN_ADAPTER_COMPLETE_EX MyOpenAdapterCompleteEx;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyOpenAdapterCompleteEx(
    NDIS_HANDLE  ProtocolBindingContext,
    NDIS_STATUS  Status
    )
  {...}

Jenis fungsi PROTOCOL_OPEN_ADAPTER_COMPLETE_EX 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 PROTOCOL_OPEN_ADAPTER_COMPLETE_EX 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 di NDIS 6.0 dan yang lebih baru.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL PASSIVE_LEVEL

Lihat juga

NdisCompleteBindAdapterEx

NdisOpenAdapterEx

ProtocolBindAdapterEx