본문 바로가기

코드82

[펌]디바이스 드라이버 시작 Development Tools 1. WDK/DDK - this is the proper Driver Development SDK given by Microsoft, latest edition can be dowloaded http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx 2. Visual Studio 2008/2010 - you can also develop without VS, but I always prefer all the Comforts given by a such advanced IDE, especially in presence of complex device drivers. 3. DDKWizard - DDKWizard is a so-called.. 2014. 8. 19.
파일 핸들에 대한 접근 경로 얻기 BOOL GetFileNameFromHandle(HANDLE hFile, WCHAR* lpwPath, DWORD ccSize) { BOOL bRet = FALSE; HANDLE hFileMap; DWORD dwFileSizeHi = 0; WCHAR ntName[1024] = {0,}; hFileMap = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 1, NULL); if(!hFileMap) goto $cleanup; PVOID pMem = NULL; MAPVIEWOFFILE_(pMem, hFileMap, FILE_MAP_READ, 0, 0, 1); if(!pMem) goto $cleanup; if(!GetMappedFileNameW (GetCurrentProce.. 2014. 8. 13.
윈도우 종료 이벤트 받기 MFC 프로그래밍을 하다보면 윈도우 종료시 이벤트를 처리하기 위해 아래의 OnEndSession을 사용해서 많이 처리 하게 됩니다. afx_msg void OnEndSession( BOOL bEnding ); 하지만 해당 맴버 함수는 섹션이 종료 될 때, 즉 로그 오프나 시스템 종료 될때는 판단 할 수 없습니다. 로그 오프나 시스템 종료 시를 판단 하기 위해서는 OnQueryEndSession을 사용하게 됩니다. afx_msg BOOL OnQueryEndSession( ); 하지만 위의 맴버 함수 해당 프로그램의 처리 상태에 대해 리턴하는 것이지 지금 로그 오프인지, 시스테 종료인지에 대해 알려주지 않습니다. 구분하기 위해선 윈도우 핸들러를 직접 생성해서 아래와 같이 WM_QUERYENDSESSION을 .. 2014. 7. 31.
64비트 환경에서 32비트 프로세스에서 64비트 경로 얻기 Wow64EnableWow64FsRedirection() 실제 64비트 윈도우에서 동작하는 32비트 응용 프로그램을 개발하다 보면 앞서 설명한 64비트 윈도우에서 제공하는 파일시스템 접근경로 변경 방식이 문제가 될 경우가 있다. 예를 들어 필자가 개발하는 안티바이러스 프로그램의 경우 악성코드가 시스템 디렉토리에 감염되어 치료를 시도하는데 원하는 경로가 아닌 접근경로 변경이 된 SysWOW64 밑을 접근하게 된다면 원하는 파일에 접근을 할 수 없기 때문에 문제가 된다. 즉, 전체적인 파일시스템을 접근경로 변경이 되지 않는 일반적인 상태로 접근하고 싶을 때는 Wow64EnableWow64FsRedirection() 함수를 사용해서 파일시스템 접근경로 변경을 끄면 된다. 을 참조하면, 32비트 프로세스에서 파.. 2014. 1. 28.
커널 드라이버 안전모드 확인 Windows 운영 체제 커널 InitSafeBootMode라는 ULONG 변수에 포인터를 내보냅니다. 이 변수는 안전 모드 설정이 포함 되어 있습니다. 다음 표에서 다른 값에 대 한 모드입니다. 표 축소표 확대 값 모드 1 SAFEBOOT_MINIMAL 2 SAFEBOOT_NETWORK 3 * SAFEBOOT_DSREPAIR * 참고값 3 Windows 도메인 컨트롤러에만 적용 됩니다. extern PULONG InitSafeBootMode; 시스템 안전 모드에서 실행 중인지 여부를 확인 하려면 InitSafeBootMode 값을 확인 해야 합니다. if (*InitSafeBootMode > 0){ // The system is in Safe Mode. // Take appropriate action... 2014. 1. 9.
mfc class referent http://msdn.microsoft.com/ko-kr/library/bk77x1wx(v=vs.80).aspx The following classes are included in the MFC Library. Class Header file CAnimateCtrl afxcmn.h CArchive afx.h CArchiveException afx.h CArray afxtempl.h CAsyncMonikerFile afxole.h CAsyncSocket afxsock.h CBitmap afxwin.h CBitmapButton afxext.h CBrush afxwin.h CButton afxwin.h CByteArray afxcoll.h CCachedDataPathProperty afxctl.h CCheck.. 2013. 6. 27.