struktur NDIS_STATUS_INDICATION (ndis.h)

NDIS dan driver yang mendasar menggunakan struktur NDIS_STATUS_INDICATION untuk memberikan indikasi status ke driver protokol yang terlalu berlebihan.

Sintaks

typedef struct _NDIS_STATUS_INDICATION {
  NDIS_OBJECT_HEADER Header;
  NDIS_HANDLE        SourceHandle;
  NDIS_PORT_NUMBER   PortNumber;
  NDIS_STATUS        StatusCode;
  ULONG              Flags;
  NDIS_HANDLE        DestinationHandle;
  PVOID              RequestId;
  PVOID              StatusBuffer;
  ULONG              StatusBufferSize;
  GUID               Guid;
  PVOID              NdisReserved[4];
} NDIS_STATUS_INDICATION, *PNDIS_STATUS_INDICATION;

Anggota

Header

Struktur NDIS_OBJECT_HEADER untuk struktur NDIS_STATUS_INDICATION. Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_STATUS_INDICATION, anggota Revisi ke NDIS_STATUS_INDICATION_REVISION_1, dan anggota Ukuran ke NDIS_SIZEOF_STATUS_INDICATION_REVISION_1.

SourceHandle

Sumber indikasi status. Jika sumbernya adalah adaptor miniport, itu harus menjadi handel yang diteruskan NDIS ke parameter MiniportAdapterHandle dari fungsi MiniportInitializeEx . Jika sumbernya adalah modul filter, itu harus menjadi handel yang diteruskan NDIS ke parameter NdisFilterHandle dari fungsi FilterAttach .

PortNumber

Port sumber indikasi status. Jika indikasi status tidak spesifik untuk port, atur PortNumber ke nol.

StatusCode

Kode status, baik disediakan oleh NDIS atau disebarluaskan dari driver yang mendasar. Nilainya adalah kode NDIS_STATUS_XXX . Untuk informasi selengkapnya tentang kode NDIS_STATUS_XXXX , lihat Indikasi Status.

Flags

Jenis informasi dalam buffer status di StatusBuffer . Driver miniport mengatur anggota ini ke nol. Anggota ini dicadangkan untuk NDIS.

DestinationHandle

Handel yang mengidentifikasi driver yang terlalu berlebihan yang harus menerima indikasi status. Jika NULL, NDIS menunjukkan status ke setiap driver protokol yang terikat ke adaptor miniport. Jika non-NULL, NDIS menunjukkan status hanya untuk driver yang diidentifikasi DestinationHandle . Dalam hal ini driver juga harus mengatur anggota RequestId . Untuk informasi selengkapnya tentang permintaan OID, lihat bagian Keterangan.

RequestId

Permintaan OID yang terkait dengan indikasi status. Jika tidak ada permintaan OID yang terkait dengan indikasi status, RequestId adalah NULL. Driver miniport harus mengatur anggota RequestId jika indikasi status dikaitkan dengan permintaan OID bahwa driver miniport selesai dengan status NDIS_STATUS_INDICATION_REQUIRED yang dikembalikan. Dalam hal ini, driver juga harus mengatur anggota DestinationHandle .

Untuk informasi selengkapnya tentang permintaan OID, lihat bagian Keterangan berikut.

StatusBuffer

Penunjuk ke buffer yang berisi data khusus menengah yang bergantung pada nilai di StatusCode .

Misalnya, jika StatusCodeNDIS_STATUS_LINK_STATE, parameter ini menunjuk ke struktur NDIS_LINK_STATE dan StatusBufferSize adalah sizeof(NDIS_LINK_STATE).

Untuk beberapa nilai NDIS_STATUS_XXX , pointer ini adalah NULL dan StatusBufferSize diatur ke nol.

StatusBufferSize

Panjangnya, dalam byte, dari buffer informasi status di StatusBuffer .

Guid

GUID privat yang digunakan NDIS untuk menghasilkan pemberitahuan WMI. Untuk informasi selengkapnya tentang GUID privat, lihat OID_GEN_SUPPORTED_GUIDS.

NdisReserved[4]

Dicadangkan untuk NDIS.

Keterangan

Driver miniport menunjukkan status dengan memanggil fungsi NdisMIndicateStatusEx . Driver filter memanggil fungsi NdisFIndicateStatus .

Beberapa permintaan OID memungkinkan driver miniport untuk memberikan status penyelesaian OID dengan indikasi status. Dalam hal ini, driver miniport mengembalikan NDIS_STATUS_INDICATION_REQUIRED untuk status penyelesaian permintaan OID. Driver miniport tidak dapat mengembalikan status ini kecuali OID tertentu mengizinkannya. Untuk menentukan apakah status ini diizinkan, lihat halaman referensi OID.

Jika indikasi status dikaitkan dengan permintaan OID di mana driver miniport kembali NDIS_STATUS_INDICATION_REQUIRED, driver yang membuat indikasi status harus mengatur anggota DestinationHandle dan RequestId dalam struktur NDIS_STATUS_INDICATION.

Dalam hal ini, driver menetapkan anggota DestinationHandle dan RequestId ke nilai dari anggota RequestHandle dan RequestId masing-masing dalam struktur NDIS_OID_REQUEST .

Misalnya, dalam jaringan nirkabel, pemrosesan permintaan OID dapat memakan waktu yang sangat lama untuk diselesaikan. Dalam hal ini, driver miniport dapat segera menyelesaikan permintaan OID dan memberikan indikasi status nanti untuk memberikan hasil akhir untuk permintaan OID.

Driver protokol menerima indikasi status di fungsi ProtocolStatusEx . Driver filter menerima indikasi status di fungsi FilterStatus .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Header ndis.h (termasuk Ndis.h)

Lihat juga

FilterAttach

FilterStatus

MiniportInitializeEx

NDIS_LINK_STATE

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_STATUS_LINK_STATE

NDIS_TAPI_EVENT

NdisFindicateStatus

NdisMIndicateStatusEx

NdisOpenAdapterEx

OID_GEN_SUPPORTED_GUIDS

ProtocolStatusEx