NdisGetRoutineAddress-Funktion (ndis.h)
Die NdisGetRoutineAddress Funktion gibt die Adresse einer Routine zurück, die dem Namen der Routine gegeben ist.
Syntax
PVOID NdisGetRoutineAddress(
[in] PNDIS_STRING NdisRoutineName
);
Parameter
[in] NdisRoutineName
Ein Zeiger auf eine UNICODE_STRING-Struktur, die die Zeichenfolge angibt, die den Namen einer Routine enthält.
Rückgabewert
Gibt die Adresse der Routine zurück, deren Name bei NdisRoutineName angegeben wird, wenn die Routine verfügbar ist; andernfalls NULL-.
Bemerkungen
Ein NDIS-Treiber kann NdisGetRoutineAddress verwenden, um die Adresse einer exportierten NDIS-Routine abzurufen. Der Treiber kann dann diese Adresse verwenden, um die NDIS-Routine aufzurufen.
Ein NDIS-Treiber kann NdisGetRoutineAddress verwenden, wenn der Treiber abwärtskompatibel bleiben muss. Wenn ein solcher Treiber beispielsweise eine NDIS-Routine importiert, die nicht von der derzeit ausgeführten Version von NDIS exportiert wird, lädt der E/A-Manager den Treiber nicht auf dem Betriebssystem. Der Treiber kann jedoch zuerst NdisGetRoutineAddress verwenden, um zu bestimmen, ob die Routine in der derzeit ausgeführten Version von NDIS verfügbar ist. Falls verfügbar, wird die Adresse der Routine zurückgegeben. Der Treiber kann dann die Adresse verwenden, um die Routine aufzurufen. Wenn nicht verfügbar, wird NULL- zurückgegeben. Der Treiber kann die Routine nicht aufrufen, aber der Treiber wird weiterhin auf dem Betriebssystem geladen.
Es wird keine Leistungsverbesserung erzielt, indem die Adresse verwendet wird, die von NdisGetRoutineAddress zurückgegeben wird, anstatt die angegebene Routine anhand des Namens aufzurufen. Schreiben Sie daher keinen NDIS-Treiber, um NdisGetRoutineAddress zu verwenden, wenn Sie wissen, dass die NDIS-Version, mit der der Treiber ausgeführt wird, die angegebene Routine exportiert.
In der Regel ruft ein NDIS-Treiber NdisGetRoutineAddress in seiner DriverEntry- Routine auf.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisGetRoutineAddress (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisGetRoutineAddress (NDIS 5.1)) in Windows XP. |
Zielplattform- | Universal |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis) |