Функция 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 |
См. также
Функции управления памятью