Freigeben über


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 Geöffneten Dateivorgangs zurückgibt. Dies kann eine der folgenden Sein:

NDIS_STATUS_SUCCESS

Das Handle bei FileHandle ist für einen nachfolgenden Aufruf von NdisMapFilegültig.

NDIS_STATUS_FILE_NOT_FOUND

Die angegebene Zeichenfolge bei FileName keinen Namen im Systemobjektnamespace angegeben.

NDIS_STATUS_RESOURCES

NDIS konnte die zum Öffnen der Datei erforderlichen Ressourcen nicht zuordnen und einen Puffer für den Dateiinhalt zuordnen.

NDIS_STATUS_ERROR_READING_FILE

Die Daten der angegebenen Datei konnten für den nachfolgenden Zugriff durch den Aufrufer nicht in den Systemspeicher gelesen werden.

[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 verläuft.

[out] FileLength

Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion die Anzahl der Daten in der geöffneten Datei schreibt, wenn der Aufruf erfolgreich verläuft.

[in] FileName

Ein Zeiger auf einen NDIS_STRING Typ, der eine initialisierte Zählungszeichenfolge enthält, im Systemstandardzeichensatz, wobei die zu öffnende Datei benannt wird. Für Windows 2000 und höhere Treiber enthält diese Zeichenfolge Unicode-Zeichen. 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 angibt.

Rückgabewert

Nichts

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 auch Speicher zum Speichern von Dateiinhalten für den nachfolgenden Aufruf des Treibers an die NdisMapFile--Funktion zu.

Ein Miniporttreiber sollte NdisOpenFile- nur von der funktion MiniportInitialize Ex aufrufen.

Wenn NdisOpenFile- zurückgibt, kann der Miniporttreiber auf Dateidaten zugreifen, indem NdisMapFile-aufgerufen wird. Sie kann die NdisUnmapFile--Funktion aufrufen, um die Datei auszulagern, sodass 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
NdisCloseFile Funktion.

Anmerkung

NdisOpenFile, NdisCloseFile, NdisMapFile und NdisUnmapFile- werden auf ARM64 nicht unterstützt. Ersetzen Sie diese Funktionen auf ARM64 durch Aufrufe von ZwCreateFile-, ZwReadFile-oder anderen ähnlichen Vorgängen.

Anforderungen

Anforderung Wert
mindestens unterstützte 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- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln Irql_Miscellaneous_Function(ndis)

Siehe auch

MiniportInitializeEx-

NdisCloseFile

NdisMapFile-

NdisUnmapFile-

UNICODE_STRING