// The following are masks for the predefined standard access types
//
#define DELETE (0x00010000L)
#define READ_CONTROL (0x00020000L)
#define WRITE_DAC (0x00040000L)
#define WRITE_OWNER (0x00080000L)
#define SYNCHRONIZE (0x00100000L)
#define STANDARD_RIGHTS_REQUIRED (0x000F0000L)
#define STANDARD_RIGHTS_READ (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
#define STANDARD_RIGHTS_ALL (0x001F0000L)
#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
//
// AccessSystemAcl access type
//
#define ACCESS_SYSTEM_SECURITY (0x01000000L)
//
// MaximumAllowed access type
//
#define MAXIMUM_ALLOWED (0x02000000L)
//
// These are the generic rights.
//
#define GENERIC_READ (0x80000000L)
#define GENERIC_WRITE (0x40000000L)
#define GENERIC_EXECUTE (0x20000000L)
#define GENERIC_ALL (0x10000000L)
//
// Define the generic mapping array. This is used to denote the
// mapping of each generic access right to a specific access mask.
//
typedef struct _GENERIC_MAPPING {
ACCESS_MASK GenericRead;
ACCESS_MASK GenericWrite;
ACCESS_MASK GenericExecute;
ACCESS_MASK GenericAll;
} GENERIC_MAPPING;
typedef GENERIC_MAPPING *PGENERIC_MAPPING;
- 출처 : Winnt.h
dwMilliseconds
- 밀리 초 단위의 대기 시간 간격을 설정한다.
- 0을 설정 시 바로 반환되며, 0이 아닌 시간을 입력 했을 시 지정한 시간만큼을 대기한다.
- 값을 INFINITE로 설정 시 지정 객체의 종료 또는 시그널 상태로 전환될 때 반환된다.
Return value : 성공 시 WAIT_ABANDONED(0x00000080L), WAIT_OBJECT_0(0x00000000L), WAIT_TIMEOUT(0x00000102L) 값 중 하나가 반환되고, 실패 시 WAIT_FAILED(0xFFFFFFFF)가 반환된다.
- WAIT_ABANDONED : 뮤텍스 객체 사용 시 발생
- WAIT_OBJECT_0 : 대기 하고 있는 객체의 종료 또는 시그널 상태로 전환 시 발생