NdisMapFile-Funktion (ndis.h)
Die NdisMapFile-Funktion ordnet eine bereits geöffnete Datei einem Puffer zu, auf den der Aufrufer zugegriffen werden kann, wenn die Datei derzeit nicht zugeordnet ist.
Syntax
void NdisMapFile(
[out] PNDIS_STATUS Status,
[out] PVOID *MappedBuffer,
[in] NDIS_HANDLE FileHandle
);
Parameter
[out] Status
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion den status des Zuordnungsvorgangs zurückgibt. Dies kann eine der folgenden Sein:
NDIS_STATUS_SUCCESS
Der Aufrufer hat exklusiven Zugriff auf den Dateiinhalt, bis die NdisUnmapFile-Funktion aufgerufen wird.
NDIS_STATUS_ALREADY_MAPPED
Der Aufrufer kann derzeit nicht auf den Dateiinhalt zugreifen.
[out] MappedBuffer
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion die virtuelle Basisadresse des zugeordneten Dateiinhalts oder NULL zurückgibt.
[in] FileHandle
Das Handle, das von einem vorherigen Aufruf der NdisOpenFile-Funktion zurückgegeben wurde.
Rückgabewert
Keine
Bemerkungen
NdisMapFile ordnet einen virtuellen Adressbereich mit einer geöffneten Datei zu(n), damit der Treiber auf den Dateiinhalt zugreifen kann. Mit NdisMapFile kann jederzeit nur eine Zuordnung einer bestimmten Datei ausstehend sein. Folglich erhält ein erfolgreicher Aufrufer exklusiven Zugriff auf die Dateidaten, bis NdisUnmapFile oder die NdisCloseFile-Funktion aufgerufen wird.
Ein Miniporttreiber kann eine solche geöffnete Datei nach Bedarf zuordnen und die Zuordnung aufheben, indem er abwechselnd Aufrufe von NdisMapFile und NdisUnmapFile verwendet. Ein Aufruf von NdisCloseFile gibt fileHandle frei und hebt die Zuordnung des Puffers auf, der den Dateiinhalt enthält.
Ein Miniporttreiber kann NdisMapFile nur während der Initialisierung aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisMapFile (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisMapFile (NDIS 5.1)) in Windows XP. |
Zielplattform | Universell |
Header | ndis.h (Video.h einschließen) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis) |