Поделиться через


Функция OpenFileMappingA (winbase.h)

Открывает именованный объект сопоставления файлов.

Синтаксис

HANDLE OpenFileMappingA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

Параметры

[in] dwDesiredAccess

Доступ к объекту сопоставления файлов. Этот доступ проверяется на соответствие любому дескриптору безопасности в целевом объекте сопоставления файлов. Список значений см. в разделе Безопасность сопоставления файлов и права доступа.

[in] bInheritHandle

Если этот параметр имеет значение TRUE, процесс, созданный функцией CreateProcess, может наследовать дескриптор; В противном случае дескриптор не может быть унаследован.

[in] lpName

Имя открываемого объекта сопоставления файлов. Если имеется открытый дескриптор для объекта сопоставления файлов с этим именем и дескриптор безопасности в объекте сопоставления не конфликтует с параметром dwDesiredAccess , операция открытия завершается успешно. Имя может иметь префикс "Global\" или "Local\" для явного открытия объекта в глобальном пространстве имен или пространстве имен сеанса. Оставшаяся часть имени может содержать любой символ, кроме символа обратной косой черты (\). Дополнительные сведения см. в разделе Пространства имен объектов ядра. Быстрое переключение пользователей реализуется с помощью сеансов служб терминалов. Первый пользователь, в который выполняется вход, использует сеанс 0, следующий пользователь для входа использует сеанс 1 и т. д. Имена объектов ядра должны соответствовать рекомендациям, описанным для служб терминалов, чтобы приложения могли поддерживать нескольких пользователей.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение представляет собой открытый дескриптор для указанного объекта сопоставления файлов.

Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Дескриптор, возвращаемый OpenFileMapping , можно использовать с любой функцией, требующей дескриптора для объекта сопоставления файлов.

При изменении файла с помощью сопоставленного представления метка времени последнего изменения может не обновляться автоматически. При необходимости вызывающий объект должен использовать SetFileTime для задания метки времени.

Если он больше не нужен, вызывающий объект должен вызвать дескриптор, возвращенный Методом OpenFileMapping , с вызовом CloseHandle.

В Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0 Да
SMB 3.0 Transparent Failover (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да
 

Примеры

Пример см. в разделе Создание именованной общей памяти.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h, Memoryapi.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CreateFileMapping

Функции сопоставления файлов

Функции управления памятью

Общий доступ к файлам и памяти