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) |