컴파일 에러 좀 봐주세요
글쓴이: oliverlee / 작성시간: 수, 2014/10/08 - 11:02오전
visual Studio 6.0(Windows XP)에서 프로그램 연습을 하고 있습니다.
윈도우 사용자가 Admin 인지 아닌지 알아내는 프로그램을 만들기 위해
어제 질문을 올렸고, CheckTokenMembership() 함수를 이용하게 되었습니다.
아래와 같이 코드를 작성했는데,
컴파일 도중
error C2065: 'CheckTokenMembership' : Undeclared identifier 라는 에러 메시지가 나왔습니다.
헤더파일은 include 했고,
"Project-Settings-Link-Project Options"에 advapi32.lib(MSDN에서는 Advapi32.lib 라고 되어 있긴 한데요)가 있는 것을 확인 했는데,
왜 이런 에러가 나는 걸까요?
어떻게 해결해야 할까요
#include<Winbase.h> BOOL IsUserAdmin(VOID); int main() { IsUserAdmin(); return 0; } BOOL IsUserAdmin(VOID) { BOOL b; SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; PSID AdministratorsGroup; b = AllocateAndInitializeSid( &NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup); if(b) { if (!CheckTokenMembership( NULL, AdministratorsGroup, &b)) { b = FALSE; } FreeSid(AdministratorsGroup); } return(b); }
Forums:
흠...
http://social.msdn.microsoft.com/Forums/vstudio/en-US/2eaf7697-1b35-4ee9-b3f5-1f326337f870/checktokenmembership
위 링크 참조... 모르는건 구글형님이 최고인지라...
일단 CheckTokenMembership이 winbase에 있는거 맞나요???
xp에 visual studio 6면 없을 수도 있겠네요... 여하튼
해당 함수 checkTokenMembership 라이브러리랑 헤드 잘 추가해보세요.
댓글 달기