일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- if
- Threads
- SetKeyDelay
- EnvSet
- MouseClick
- 함수
- if(식)
- 식
- ControlGetText
- 배열
- Menu
- Var:=식
- IfWinExist
- SetTitleMatchMode
- Blocks
- autohotkey
- DetectHiddenWindows
- SetEnv
- EnvMult
- EnvDiv
- ControlSend
- SetMouseDelay
- StringGetPos
- SetControlDelay
- API
- EnvSub
- IfInString
- EnvAdd
- 식의 설명
- IF (식)
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
OpenMutex(A) 본문
OpenMutex(A)
기존의 이름 뮤텍스 오브젝트를 오픈하고, 그 핸들을 취득합니다.
HANDLE OpenMutexA( DWORD fdwAccess, // 오브젝트에 대한 액세스 요구 BOOL fbInherit, // 계승 가능하게 할까의 플래그 PCTSTR pszName // 뮤텍스 오브젝트의 이름 );
KERNEL32.DLL
인수
- fdwAccess
-
오브젝트에 대한 액세스 요구를 지정합니다.이하의 값을 지정합니다.
0x00100000 (SYNCHRONIZE) Windows NT/2000/XP: WaitForSingleObject 등의 대기 함수나 ReleaseMutex 함수로의 뮤텍스 핸들의 사용을 요구합니다. 0x001F0001 (MUTEX_ALL_ACCESS) 뮤텍스 오브젝트에 대해서 가능한 모든 액세스를 요구합니다. - fbInherit
-
호출 프로세스에 의해서 작성된 child process에 오브젝트를 계승시킬지를 지정합니다. 1 (TRUE) (을)를 지정하면, 핸들을 계승합니다. 0 (FALSE) (을)를 지정하면, 핸들을 계승하지 않습니다
- pszName
-
뮤텍스 오브젝트의 이름을 나타내는 문자열의 주소를 지정합니다.대문자·소문자가 구별됩니다.
터미널 서비스: 터미널 서버에서는, 글로벌 또는 세션의 네임 스페이스(이름 공간)에서 명시적으로 뮤텍스 오브젝트를 관리시키기 위해서, "Global\" 또는 "Local\" 의 프레픽스를 붙일 수 있습니다.나머지의 이름은, backslash(일본어 환경에서는 엔기호) 「 \ 」이외의 모든 문자를 사용할 수 있습니다.
Windows NT/2000/XP: 고속의 유저 변환은 터미널 서비스 세션을 사용해 행해집니다.최초의 유저에서는 세션 0 하지만, 다음의 유저에서는 세션 1 하지만, 과 같이 사용됩니다.어플리케이션이 복수의 유저를 서포트할 수 있도록 하려면 , 커넬 오브젝트의 이름은, 터미널 서비스의 가이드 라인에 따라서 않으면 안됩니다.
Windows 2000: 터미널 서비스가 실행되어 있지 않은 경우에는, "Global\" 및 "Local\" 의 프레픽스는 무시됩니다.나머지의 이름은, backslash 「 \ 」이외의 모든 문자를 사용할 수 있습니다.
Windows NT 4.0 이전: backslash 「 \ 」이외의 모든 문자를 사용할 수 있습니다.
Windows 95/98/Me: backslash 「 \ 」이외의 모든 문자를 사용할 수 있습니다.공문자열 "" 도, 오브젝트의 이름으로서 유효합니다.
반환값
성공하면, 뮤텍스 오브젝트의 핸들이 돌아갑니다.
실패하면 0 (NULL) 하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.
해설
OpenMutex 함수는, 같은 뮤텍스 오브젝트를 복수의 프로세스로 오픈할 수 있도록(듯이) 합니다.이 함수는, 지정된 이름의 뮤텍스 오브젝트가 벌써 CreateMutex 함수로 작성되고 있었을 경우에게만 성공합니다.
핸들을 클로우즈 하려면 , CloseHandle 함수를 사용합니다.프로세스의 종료시에는, 시스템이 자동적으로 핸들을 클로우즈 합니다.마지막 핸들이 클로우즈 되면, 뮤텍스 오브젝트는 파기됩니다.
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
PathAddExtension(A) (0) | 2007.11.08 |
---|---|
PathAddBackslash(A) (0) | 2007.11.08 |
MultiByteToWideChar (0) | 2007.11.08 |
MsgWaitForMultipleObjects (1) | 2007.11.08 |
MoveWindow (0) | 2007.11.08 |