OpenFileMappingA-Funktion (winbase.h)
Öffnet ein benanntes Dateizuordnungsobjekt.
Syntax
HANDLE OpenFileMappingA(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] LPCSTR lpName
);
Parameter
[in] dwDesiredAccess
Der Zugriff auf das Dateizuordnungsobjekt. Dieser Zugriff wird mit jedem Sicherheitsdeskriptor für das Zieldateizuordnungsobjekt überprüft. Eine Liste der Werte finden Sie unter Dateizuordnungssicherheit und -zugriffsrechte.
[in] bInheritHandle
Wenn dieser Parameter TRUE ist, kann ein prozess, der von der CreateProcess-Funktion erstellt wurde, das Handle erben. Andernfalls kann das Handle nicht geerbt werden.
[in] lpName
Der Name des zu öffnenden Dateizuordnungsobjekts. Wenn ein geöffnetes Handle für ein Dateizuordnungsobjekt mit diesem Namen vorhanden ist und der Sicherheitsdeskriptor des Zuordnungsobjekts nicht mit dem dwDesiredAccess-Parameter in Konflikt steht, ist der Open-Vorgang erfolgreich. Der Name kann ein Präfix "Global\" oder "Local\" aufweisen, um ein Objekt explizit im globalen Oder Sitzungsnamespace zu öffnen. Der Rest des Namens kann ein beliebiges Zeichen mit Ausnahme des umgekehrten Schrägstrichs (\) enthalten. Weitere Informationen finden Sie unter Kernelobjektnamespaces. Der schnelle Benutzerwechsel wird mithilfe von Terminaldienstesitzungen implementiert. Der erste Benutzer, der sich anmeldet, verwendet Sitzung 0, der nächste Benutzer, der sich anmeldet, Sitzung 1 usw. Kernelobjektnamen müssen den Richtlinien für Terminaldienste entsprechen, damit Anwendungen mehrere Benutzer unterstützen können.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein geöffnetes Handle für das angegebene Dateizuordnungsobjekt.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Das Von OpenFileMapping zurückgegebene Handle kann mit jeder Funktion verwendet werden, die ein Handle für ein Dateizuordnungsobjekt erfordert.
Wenn Sie eine Datei über eine zugeordnete Ansicht ändern, wird der Zeitstempel der letzten Änderung möglicherweise nicht automatisch aktualisiert. Bei Bedarf sollte der Aufrufer SetFileTime verwenden, um den Zeitstempel festzulegen.
Wenn es nicht mehr benötigt wird, sollte der Aufrufer das von OpenFileMapping zurückgegebene Handle mit einem Aufruf von CloseHandle aufrufen.
In Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.
Technologie | Unterstützt |
---|---|
SMB 3.0-Protokoll (Server Message Block) | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) | Ja |
Dateisystem mit freigegebenen Clustervolumes (CsvFS) | Ja |
Robustes Dateisystem (Resilient File System, ReFS) | Ja |
Beispiele
Ein Beispiel finden Sie unter Erstellen von benanntem freigegebenem Arbeitsspeicher.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h, Memoryapi.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Speicherverwaltungsfunktionen