Bagikan melalui


Menghasilkan Permintaan OID dari Driver Filter NDIS

Driver filter dapat berasal dari kueri OID atau mengatur permintaan ke driver yang mendasar dengan memanggil fungsi NdisFOidRequest .

Gambar berikut mengilustrasikan permintaan OID yang berasal dari driver filter.

Diagram yang mengilustrasikan permintaan OID yang berasal dari driver filter NDIS.

Setelah driver filter memanggil fungsi NdisFOidRequest , NDIS memanggil fungsi permintaan driver dasar berikutnya. Untuk informasi selengkapnya tentang cara driver miniport menangani permintaan OID, lihat Permintaan OID untuk Adapter.

Untuk menyelesaikan secara sinkron, NdisFOidRequest mengembalikan NDIS_STATUS_SUCCESS atau status kesalahan. Untuk menyelesaikan secara asinkron, NdisFOidRequest mengembalikan NDIS_STATUS_PENDING.

Untuk menentukan informasi apa yang berhasil ditangani oleh driver yang mendasar, driver filter yang mengeluarkan permintaan OID harus memeriksa nilai di anggota SupportedRevision dalam struktur NDIS_OID_REQUEST setelah permintaan OID kembali. Untuk informasi selengkapnya tentang informasi versi NDIS, lihat Menentukan Informasi Versi NDIS.

Jika NdisFOidRequest mengembalikan NDIS_STATUS_PENDING, NDIS memanggil fungsi FilterOidRequestComplete setelah driver yang mendasar menyelesaikan permintaan OID. Dalam hal ini, NDIS meneruskan hasil permintaan pada parameter OidRequest dari FilterOidRequestComplete. NDIS melewati status akhir permintaan pada parameter StatusFilterOidRequestComplete.

Jika NdisFOidRequest mengembalikan NDIS_STATUS_SUCCESS, NdisFOidRequest mengembalikan hasil permintaan kueri dalam struktur NDIS_OID_REQUEST di parameter OidRequest . Dalam hal ini, NDIS tidak memanggil fungsi FilterOidRequestComplete .

Driver dapat memanggil NdisFOidRequest saat berada dalam status Memulai Ulang, Menjalankan, Menjeda, atau Dijeda .

Catatan Driver filter harus melacak permintaan OID yang berasal dan memastikan bahwa ia tidak memanggil fungsi NdisFOidRequestComplete ketika permintaan tersebut selesai.