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

Weitere Informationen

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING