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 을 사용하여 타임스탬프를 설정해야 합니다.

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

Windows Server 2012 이 함수는 다음 기술에서 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜 Yes
SMB 3.0 TFO(투명 장애 조치(failover)) Yes
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 Yes
CsvFS(클러스터 공유 볼륨 파일 시스템) Yes
ReFS(Resilient File System)
 

예제

예제는 명명된 공유 메모리 만들기를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h, Memoryapi.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CreateFileMapping

파일 매핑 함수

메모리 관리 함수

파일 및 메모리 공유