Freigeben über


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

CreateFileMapping

Dateizuordnungsfunktionen

Speicherverwaltungsfunktionen

Freigeben von Dateien und Arbeitsspeicher