본문 바로가기

Programming60

Windows 버전 구별 - GetVerion() GetVersion에 대한 리턴 값(DWORD)으로 Build Number, Major Version, Minor Version가 들어 있음. _______________________________________| build number | minor | major | --------------------------------------- DWORD dwVersion = 0; DWORD dwMajorVersion = 0; DWORD dwMinorVersion = 0; DWORD dwBuild = 0; dwVersion = GetVersion(); dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOW.. 2014. 1. 21.
Windows API - 서비스 제어 시스템 시작시 실행해야 될 서비스 목록을 레지스트리에 기록 (서비스 데이터베이스)-> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\ 1) OpenSCManager2) OpenService or CreateService3) StartService or ControlService or DeleteService [참고] : http://blog.naver.com/superchangho/70083473739 [ 서비스 생성, 실행, 삭제 ] SC_HANDLE WINAPI OpenSCManager( _In_opt_ LPCTSTR lpMachineName, // 접속할 컴퓨터 (NULL) _In_opt_ LPCTSTR lpDatabaseName, // 서비스DB 이름.. 2014. 1. 21.
메모리 접근 [ 메모리 접근 검사 ] [ 디스크립터(세그먼트) 검사 ] - GDT의 Segment Descriptor검사 해당 페이지 테이블 전체에 적용되는 속성 [ 페이지-테이블 엔트리 ] - 하나의 메모리 페이지에 대응.- U비트(2번째 비트) : 0이면 해당 페이지는 커널에 의해서만 접근 가능.- W비트(1번째 비트) : 0이면 해당 메모리 영역은 읽기 전용 영역.- P비트(0번째 비트) : 0이면 해당 메모리 페이지는 현재 디스크로 페이지 아웃됨. 2014. 1. 19.
WDK빌드 환경 ( + Visual Studio ) ===== Windows XP, Visual Studio 2010 ===== [ OSR Online에서 DDKBUILD ] [출처] 비주얼 스튜디오 환경에서 드라이버 개발 (VS2003, DDKBUILD)|작성자 제풍 1. ddkbuild에 설정된 이름으로 환경 변수를 추가해준다. (재부팅 필요) XP의 경우 "WXPBASE" -> "C:\WINDDK\7600.16385.1" 2. 비주얼 스튜디오에 메이크 파일 프로젝트 생성 3. 빌드 속성 NMake탭에 명령줄 추가. - ddkbuild -WXP checked . - ddkbuild -WXP checked . -cZ 4. VC++ 디렉토리에 포함 디렉토리, 라이브러리 디렉토리 추가 - 포함 디렉토리 C:\WINDDK\7600.16385.1\INC\DDK.. 2014. 1. 13.