NdisOpenFile-Funktion (ndis.h)
Die NdisOpenFile-Funktion gibt ein Handle für eine geöffnete Datei zurück.
Syntax
void NdisOpenFile(
[out] PNDIS_STATUS Status,
[out] PNDIS_HANDLE FileHandle,
[out] PUINT FileLength,
[in] PNDIS_STRING FileName,
[in] NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);
Parameter
[out] Status
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion den status des Vorgangs zum Öffnen der Datei zurückgibt. Dies kann eine der folgenden Sein:
NDIS_STATUS_SUCCESS
Das Handle bei FileHandle ist für einen nachfolgenden Aufruf von NdisMapFile gültig.
NDIS_STATUS_FILE_NOT_FOUND
Die angegebene Zeichenfolge unter FileName hat keinen Namen angegeben, der im Systemobjektnamespace gefunden wurde.
NDIS_STATUS_RESOURCES
NDIS konnte nicht die Ressourcen zuordnen, die zum Öffnen der Datei und zum Zuweisen eines Puffers für den Dateiinhalt erforderlich waren.
NDIS_STATUS_ERROR_READING_FILE
Die Daten der angegebenen Datei konnten nicht in den Systemspeicher eingelesen werden, um anschließend vom Aufrufer darauf zugreifen zu können.
[out] FileHandle
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion das Handle der geöffneten Datei zurückgibt, wenn der Aufruf erfolgreich ist.
[out] FileLength
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion die Anzahl der Datenbytes in die geöffnete Datei schreibt, wenn der Aufruf erfolgreich ist.
[in] FileName
Ein Zeiger auf einen NDIS_STRING Typ, der eine initialisierte Zeichenfolge mit Zählung im Standardzeichensatz des Systems enthält, wobei die zu öffnende Datei benannt wird. Bei Treibern unter Windows 2000 und höher enthält diese Zeichenfolge Unicode-Zeichen. Das heißt, für Windows 2000 und höher definiert NDIS den NDIS_STRING-Typ als UNICODE_STRING Typ.
[in] HighestAcceptableAddress
Die höchste physische Adresse, in der die Dateidaten gespeichert werden können, oder gibt -1 an, wenn der Treiber keine Einschränkungen festlegt.
Rückgabewert
Keine
Bemerkungen
NdisOpenFile öffnet eine Datenträgerdatei, in der Regel eine Datei, die der Treiber später herunterladen wird, um eine intelligente NIC zu programmieren. NdisOpenFile ordnet außerdem Speicher zum Speichern von Dateiinhalten für den nachfolgenden Aufruf der NdisMapFile-Funktion des Treibers zu.
Ein Miniporttreiber sollte NdisOpenFile nur über die MiniportInitializeEx-Funktion aufrufen.
Wenn NdisOpenFile zurückgegeben wird, kann der Miniporttreiber auf Dateidaten zugreifen, indem er NdisMapFile aufruft. Es kann die NdisUnmapFile-Funktion aufrufen, um die Datei auszublättern, damit ressourcen nicht unnötig verbraucht werden, während der Treiber nicht auf die Dateidaten zugreift. Wenn die Verwendung der Datei abgeschlossen ist, muss MiniportInitializeEx die aufrufen.
NdisCloseFile-Funktion .
Hinweis
NdisOpenFile, NdisCloseFile, NdisMapFile und NdisUnmapFile werden auf ARM64 nicht unterstützt. Ersetzen Sie in ARM64 diese Funktionen durch Aufrufe von ZwCreateFile, ZwReadFile oder anderen ähnlichen Vorgängen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisOpenFile (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisOpenFile (NDIS 5.1)) in Windows XP. |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis) |