- GetLastError(Windows)는 어디에 기록될까 . . . . 9 matches
#keywords Windows, Win32API, GetLastError
윈도우 API를 사용하다 실패하면 GetLastError()를 먼저 살펴보게 된다.
DWORD WINAPI GetLastError(void);
GetLastError를 사용하면 가장 최근 실패한 에러코드를 반환한다. 따라서 API 실행이 실패한 이후 다른 API를 호출하면 GetLastError 값도 바뀔(덮어 쓸) 수 있기 때문에 실패한 API를 사용한 직후에 GetLastError를 사용해야 정확한 값을 알 수 있다. GetLastError는 '''현재 스레드의 마지막 에러 코드'''를 반환한다. 따라서 멀티 스레드로 동작중이라고 해도 GetLastError 값이 덮어 써질 일은 없다.
즉, Win32 API는 실패하면 스레드 환경 블록(TEB)의 LastErrorValue에 에러코드를 기록한다. GetLastError를 호출하면 TEB의 LastErrorValue 값을 반환한다.
- C++/서비스 상태 쿼리 . . . . 3 matches
(dwError = GetLastError() ) == ERROR_MORE_DATA)
dwError = GetLastError();
// _T("%s GetActiveStatus() fail, GetLastError=%d"), szServiceName, dwError);
- C++/cryptohash . . . . 2 matches
m_lasterror = errorinfo_t(GetLastError(), "Failed to acquire cryptographic context.");
m_lasterror = errorinfo_t(GetLastError(), "Failed to acquire cryptographic context.");
- Blog/2011-12 . . . . 1 match
=== GetLastError() 윈도우 에러 코드 ===
- C++/(Windows)CreateMutex로 중복 실행 제어 . . . . 1 match
dwError = ::GetLastError();
- C++/SafeTerminateProcess . . . . 1 match
if (hRT == NULL) dwErr = GetLastError();
- C++/현재 로그인한 사용자의 SID 구하기 . . . . 1 match
if( GetLastError() == ERROR_INSUFFICIENT_BUFFER )
- 유용한 Reference 사이트들 . . . . 1 match
=== GetLastError() 윈도우 에러 코드 ===
Found 8 matching pages out of 1230 total pages (0 pages are searched)
You can also click here to search title.