본문 바로가기

전체 글292

[kernel] void sleep( int dwms) 함수 만들기 void Sleep( ULONG dwms ) { KEVENT Event; LARGE_INTEGER sMs; KeInitializeEvent( &Event, NotificationEvent, FALSE ); sMs= RtlConvertLongToLargeInteger( dwms * -1 * 10000 ); KeWaitForSingleObject( &Event, Executive, KernelMode, FALSE, &sMs); } 간단한 딜레이를 주기 위해 위와 같은 함수를 만들어 사용하면 편하다..^^:; 2008. 10. 15.
[MFC] 디렉토리 창 띄우기.. int CALLBACK MyBrowseCallbackProc( HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData ) { switch (uMsg) { case BFFM_INITIALIZED: ::SendMessage( hwnd, BFFM_SETSELECTION, TRUE, lpData ); break; } return 0; } void CEmptyMFCDlg::DirectoryBrowerFunction() { // Folder 찾기 LPITEMIDLIST pidl; BROWSEINFO bi; char root[MAX_PATH] = {0,}; char defaultd[MAX_PATH] = {0,}; memcpy( defaultd , "c:\\WinDDK\\" , MA.. 2008. 10. 14.
Data Conversions 형 변환.. http://69.10.233.10/KB/cpp/data_conversions.aspx 드라이버 개발할땐 몰랐는데.. App는 자료들이 엄청 많구나.. 2008. 10. 14.
프로그래머의 새 길을 다시 쓰겠다.. .. 이제 시작이다.. .. 2년간 디바이스 드라이버 회사를 다녔다.. .. 지금은 .. 보안회사에 다닌다.. 화이팅!!! 2008. 10. 10.
GUID를 문자열로... 문자열을 GUID로  먼저 GUID를 만드는 함수는 저번에 설명한바와 같이 CoCreateGuid()가 있다. 그리고 이렇게 생성된 GUID(128bit)를 우리가 알아볼수 있는 문자열로 바꾸는 함수가 StringFromGUID2()이다. int StringFromGUID2(REFGUID rguid, LPOLESTR lpsz, int cbMax); REFGUID rguid : 입력될 GUID 구조체의 포인터 LPOLESTR lpsz : 리턴될 OLECHAR (미리 버퍼를 할당해야한다.) int cbMax : lpsz 에 할당된 버퍼의 크기 위함수를 이용하여 우리가 임의로 만든 GUID를 String으로 바꾸어 출력해 보자. GUID guid; // GUID가 저장될 구조체 wchar_t wszCLSID[129]; // G.. 2008. 10. 9.
Vc 2005 버전 Error 어제 선임분 라이브러리 쓸려다 엉뚱한 에러가 나왔다... 결론은 Vc2005 sp1을 안깔아서 생긴문제...아무렴..컴파일도 안되나..ㅡㅡ;; 컴파일 에러 "fatal error C1900: 'P1' 버전 '20060201'과(와) 'P2' 버전 '20050411' 사이에 Il이 일치하지 않습니다." sp1 설치 후.. 꾸준히 업데이트를 확인하자..^^:; 2008. 10. 7.