Share via


OpenFileMappingFromApp 함수(memoryapi.h)

명명된 파일 매핑 개체를 엽니다.

구문

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

매개 변수

[in] DesiredAccess

파일 매핑 개체에 대한 액세스 권한입니다. 이 액세스는 대상 파일 매핑 개체의 보안 설명자에 대해 검사됩니다. 값 목록은 파일 매핑 보안 및 액세스 권한을 참조하세요. 앱에 codeGeneration 기능이 있는 경우에만 FILE_MAP_EXECUTE 액세스에 대한 파일 매핑 개체를 열 수 있습니다.

[in] InheritHandle

이 매개 변수가 TRUE이면 CreateProcess 함수에서 만든 프로세스가 핸들을 상속할 수 있습니다. 그렇지 않으면 핸들을 상속할 수 없습니다.

[in] Name

열 파일 매핑 개체의 이름입니다. 이 이름으로 파일 매핑 개체에 대한 열린 핸들이 있고 매핑 개체의 보안 설명자가 DesiredAccess 매개 변수와 충돌하지 않으면 열기 작업이 성공합니다. 이름에는 전역 또는 세션 네임스페이스에서 개체를 명시적으로 여는 "전역" 또는 "로컬" 접두사를 가질 수 있습니다. 이름의 나머지 부분에는 백슬래시 문자(\)를 제외한 모든 문자가 포함될 수 있습니다. 자세한 내용은 커널 개체 네임스페이스를 참조하세요. 빠른 사용자 전환은 터미널 서비스 세션을 사용하여 구현됩니다. 로그온하는 첫 번째 사용자는 세션 0을 사용하고, 로그온할 다음 사용자는 세션 1 등을 사용합니다. 커널 개체 이름은 애플리케이션이 여러 사용자를 지원할 수 있도록 터미널 서비스에 대해 설명된 지침을 따라야 합니다.

반환 값

함수가 성공하면 반환 값은 지정된 파일 매핑 개체에 대한 열린 핸들입니다.

함수가 실패하면 반환 값은 NULL입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

JIT(Just-In-Time) 기능을 사용하여 Windows 스토어 앱에서 OpenFileMappingFromApp 을 호출하여 JIT 기능을 사용할 수 있습니다. 앱은 JIT 기능을 사용하려면 앱 매니페스트 파일에 codeGeneration 기능을 포함해야 합니다. OpenFileMappingFromApp을 사용하면 Windows 스토어 앱이 .NET Framework MemoryMappedFile 클래스를 사용할 수 있습니다.

OpenFileMappingFromApp이 반환하는 핸들은 파일 매핑 개체에 대한 핸들이 필요한 모든 함수와 함께 사용할 수 있습니다.

매핑된 보기를 통해 파일을 수정하는 경우 마지막 수정 타임스탬프가 자동으로 업데이트되지 않을 수 있습니다. 필요한 경우 호출자는 SetFileTime 을 사용하여 타임스탬프를 설정해야 합니다.

더 이상 필요하지 않은 경우 호출자는 CloseHandle을 호출하여 OpenFileMappingFromApp에서 반환된 핸들을 릴리스를 호출해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 memoryapi.h(Windows.h 포함)
라이브러리 WindowsApp.lib
DLL Kernel32.dll

참고 항목

CreateFileMapping

파일 매핑 함수

메모리 관리 함수

OpenFileMapping

파일 및 메모리 공유