NDIS_STATUS_INDICATION-Struktur (ndis.h)

NDIS und zugrunde liegende Treiber verwenden die NDIS_STATUS_INDICATION-Struktur, um status Hinweise auf überlastende Protokolltreiber bereitzustellen.

Syntax

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;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die NDIS_STATUS_INDICATION-Struktur. Legen Sie das Type-Element der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_STATUS_INDICATION, das Revisionselement auf NDIS_STATUS_INDICATION_REVISION_1 und das Size-Element auf NDIS_SIZEOF_STATUS_INDICATION_REVISION_1 fest.

SourceHandle

Die Quelle der status Angabe. Wenn es sich bei der Quelle um einen Miniportadapter handelt, sollte dies das Handle sein, das NDIS an den MiniportAdapterHandle-Parameter der MiniportInitializeEx-Funktion übergeben hat. Wenn es sich bei der Quelle um ein Filtermodul handelt, sollte dies das Handle sein, das NDIS an den NdisFilterHandle-Parameter der FilterAttach-Funktion übergeben hat.

PortNumber

Der Quellport der status Indikation. Wenn die status Angabe nicht portspezifisch ist, legen Sie PortNumber auf 0 fest.

StatusCode

Der status Code, der entweder von NDIS bereitgestellt oder von den zugrunde liegenden Treibern weitergegeben wird. Der Wert ist ein NDIS_STATUS_XXX-Code . Weitere Informationen zu NDIS_STATUS_XXX-Codes finden Sie unter Statusanzeigen.

Flags

Der Typ der Informationen im status Puffer unter StatusBuffer . Miniport-Treiber legen diesen Member auf 0 fest. Dieses Element ist für NDIS reserviert.

DestinationHandle

Ein Handle, das den überlastenden Treiber identifiziert, der die status-Angabe erhalten soll. Bei NULL gibt NDIS die status an jeden Protokolltreiber an, der an den Miniportadapter gebunden ist. Wenn nicht NULL, gibt NDIS die status nur für den Treiber an, den DestinationHandle identifiziert. In diesem Fall muss der Treiber auch das RequestId-Element festlegen. Weitere Informationen zu OID-Anforderungen finden Sie im Abschnitt Hinweise.

RequestId

Die OID-Anforderung, die der status-Angabe zugeordnet ist. Wenn keine OID-Anforderung vorhanden ist, die dem status-Angabe zugeordnet ist, ist RequestIdNULL. Miniport-Treiber müssen den RequestId-Member festlegen, wenn der status-Hinweis einer OID-Anforderung zugeordnet ist, dass der Miniporttreiber mit einer zurückgegebenen status von NDIS_STATUS_INDICATION_REQUIRED abgeschlossen hat. In diesem Fall muss der Treiber auch den DestinationHandle-Member festlegen.

Weitere Informationen zu OID-Anforderungen finden Sie im abschnitt "Hinweise".

StatusBuffer

Ein Zeiger auf einen Puffer, der mittelspezifische Daten enthält, die vom Wert in StatusCode abhängig sind.

Wenn beispielsweise StatusCodeNDIS_STATUS_LINK_STATE ist, verweist dieser Parameter auf eine NDIS_LINK_STATE-Struktur , und StatusBufferSize ist sizeof(NDIS_LINK_STATE).

Für einige NDIS_STATUS_XXX-Werte ist dieser Zeiger NULL , und StatusBufferSize ist auf 0 festgelegt.

StatusBufferSize

Die Länge des status Informationspuffers in Byte unter StatusBuffer .

Guid

Eine private GUID, die NDIS zum Generieren einer WMI-Benachrichtigung verwendet. Weitere Informationen zu privaten GUIDs finden Sie unter OID_GEN_SUPPORTED_GUIDS.

NdisReserved[4]

Reserviert für NDIS.

Hinweise

Miniporttreiber geben status an, indem sie die NdisMIndicateStatusEx-Funktion aufrufen. Filtertreiber rufen die Funktion NdisFIndicateStatus auf.

Einige OID-Anforderungen ermöglichen es einem Miniporttreiber, eine OID-Vervollständigung status mit einer status Angabe bereitzustellen. In diesem Fall gibt der Miniporttreiber NDIS_STATUS_INDICATION_REQUIRED für die Vervollständigung status der OID-Anforderung zurück. Ein Miniporttreiber kann diese status nicht zurückgeben, es sei denn, die jeweilige OID lässt dies zu. Um festzustellen, ob diese status zulässig ist, finden Sie auf der OID-Referenzseite.

Wenn ein status-Hinweis einer OID-Anforderung zugeordnet ist, bei der der Miniporttreiber NDIS_STATUS_INDICATION_REQUIRED zurückgegeben hat, muss der Treiber, der die status-Angabe ausgibt, die Member DestinationHandle und RequestId in der NDIS_STATUS_INDICATION-Struktur festlegen.

In diesem Fall legt der Treiber die Member DestinationHandle und RequestId auf die Werte der Member RequestHandle und RequestId in der NDIS_OID_REQUEST-Struktur fest.

Bei drahtlosen Netzwerken kann die Verarbeitung einer OID-Anforderung beispielsweise sehr lange dauern. In diesem Fall kann der Miniporttreiber die OID-Anforderung sofort abschließen und später einen status Hinweis bereitstellen, um das Endergebnis für die OID-Anforderung bereitzustellen.

Protokolltreiber erhalten status Hinweise auf die ProtocolStatusEx-Funktion. Filtertreiber erhalten status Hinweise über die FilterStatus-Funktion.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Kopfzeile ndis.h (einschließlich Ndis.h)

Weitere Informationen

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