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


Функция OpenFileMappingFromApp (memoryapi.h)

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

Синтаксис

HANDLE OpenFileMappingFromApp(
  [in] ULONG  DesiredAccess,
  [in] BOOL   InheritHandle,
  [in] PCWSTR Name
);

Параметры

[in] DesiredAccess

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

[in] InheritHandle

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

[in] Name

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

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

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

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

Комментарии

Вы можете вызывать OpenFileMappingFromApp из приложений Магазина Windows с возможностями JIT(JIT), чтобы использовать функции JIT. Чтобы использовать возможности JIT, приложение должно включать возможность codeGeneration в файл манифеста приложения. OpenFileMappingFromApp позволяет приложениям Магазина Windows использовать класс MemoryMappedFile в платформа .NET Framework.

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

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

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

Требования

   
Минимальная версия клиента Windows 10 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2016 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header memoryapi.h (включая Windows.h)
Библиотека WindowsApp.lib
DLL Kernel32.dll

См. также

CreateFileMapping

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

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

OpenFileMapping

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