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