Freigeben über


NDIS_STATUS_INDICATION Struktur (ndis.h)

NDIS und zugrunde liegende Treiber verwenden die NDIS_STATUS_INDICATION Struktur, um Statusanzeigen für Überlying-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;

Angehörige

Header

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

SourceHandle

Die Quelle der Statusanzeige. Wenn es sich bei der Quelle um einen Miniportadapter handelt, sollte es sich um den Handle handeln, den NDIS an den MiniportAdapterHandle Parameter der funktion MiniportInitializeEx übergeben hat. Wenn es sich bei der Quelle um ein Filtermodul handelt, sollte es sich um das Handle handeln, das NDIS an den NdisFilterHandle Parameter der FilterAttach-Funktion übergeben wird.

PortNumber

Der Quellport der Statusanzeige. Wenn die Statusanzeige nicht spezifisch für einen Port ist, legen Sie PortNumber auf Null fest.

StatusCode

Der Statuscode, der 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 Informationstyp im Statuspuffer bei StatusBuffer . Miniport-Treiber legen dieses Element auf Null fest. Dieses Mitglied ist für NDIS reserviert.

DestinationHandle

Ein Handle, das den übermäßigen Treiber identifiziert, der die Statusanzeige erhalten soll. Wenn NULL-, gibt NDIS den Status für jeden Protokolltreiber an, der an den Miniportadapter gebunden ist. Wenn nicht-NULL-, gibt NDIS den Status nur für den Treiber an, der DestinationHandle- identifiziert. In diesem Fall muss der Treiber auch die RequestId Member festlegen. Weitere Informationen zu OID-Anforderungen finden Sie im Abschnitt "Hinweise".

RequestId

Die OID-Anforderung, die der Statusanzeige zugeordnet ist. Wenn keine OID-Anforderung vorhanden ist, die der Statusanzeige zugeordnet ist, ist RequestId-NULL-. Miniport-Treiber müssen die RequestId Member festlegen, wenn die Statusanzeige einer OID-Anforderung zugeordnet ist, dass der Miniporttreiber mit einem zurückgegebenen Status von NDIS_STATUS_INDICATION_REQUIRED abgeschlossen wurde. In diesem Fall muss der Treiber auch das DestinationHandle Mitglied festlegen.

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

StatusBuffer

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

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

Bei einigen NDIS_STATUS_XXX--Werten ist dieser Zeiger NULL- und StatusBufferSize- auf Null festgelegt ist.

StatusBufferSize

Die Länge des Statusinformationspuffers in Bytes bei 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.

Bemerkungen

Miniporttreiber geben den Status an, indem die funktion NdisMIndicateStatusEx aufgerufen wird. Filtertreiber rufen die NdisFIndicateStatus--Funktion auf.

Einige OID-Anforderungen ermöglichen einem Miniporttreiber einen OID-Abschlussstatus mit einer Statusanzeige. In diesem Fall gibt der Miniporttreiber NDIS_STATUS_INDICATION_REQUIRED für den Abschlussstatus der OID-Anforderung zurück. Ein Miniporttreiber kann diesen Status nur zurückgeben, wenn der bestimmte OID ihn zulässt. Informationen dazu, ob dieser Status zulässig ist, finden Sie auf der OID-Referenzseite.

Wenn eine Statusanzeige einer OID-Anforderung zugeordnet ist, bei der der Miniporttreiber NDIS_STATUS_INDICATION_REQUIRED zurückgegeben wurde, muss der Treiber, der die Statusanzeige macht, die DestinationHandle- und RequestId Member in der NDIS_STATUS_INDICATION Struktur festlegen.

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

Beispielsweise kann die Verarbeitung einer OID-Anforderung im Drahtlosnetzwerk sehr lange dauern. In diesem Fall kann der Miniporttreiber die OID-Anforderung sofort abschließen und später eine Statusanzeige bereitstellen, um das Endergebnis für die OID-Anforderung bereitzustellen.

Protokolltreiber erhalten Statusanzeigen bei der ProtocolStatusEx--Funktion. Filtertreiber erhalten Statusanzeigen an der FilterStatus--Funktion.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

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-