DB 유니코드는 지원 안되나? 예제는 멀티바이트로 진행함. 1. ODBC 데이타 원본 만들기 2. DB연결 SQLRETURN SQLAllocHandle( SQLSMALLINT 핸들타입, SQLHANDLE 부모핸들, SQLHANDLE* 새로만들어질핸들의주소); SQL_HANDLE_ENV 환경핸들 SQL_HANDLE_DBC 연결핸들 SQL_HANDLE_STMT 명령핸들 SQL_HANDLE_DESC 설명자핸들 3. 환경핸들 할당 시 여러 환경 정보 설정하기 SQLRETURN SQLSetEnvAttr( SQLHENV 환경핸들 SQLINTEGER 설정할 환경속성 SQLPOINTER 속성과 관련된 포인터 SQLINTEGER 속성 값이 문자일 경우 Value 값의 길이); 4. 데이터 소스 연결하기 SQLRETURN..
메모리 맵 파일 하드디스크에 있는 파일을 가상 메모리 주소 공간에 직접 매핑하여 파일을 메모리처럼 사용하는 기법 실행파일(*.exe)과 DLL 등과 같이 무거운 실행파일을 메모리에 로드할 필요없이 바로 가상메모리로 매핑해서 실행하도록하면 유용하다. 그래서 대용량 가상메모리 할당 또는 대용량 파일처리에 적합하다. 또한, 동일한 메모리 맵 파일을 이용하여 프로세스간 데이타 공유 가능하다. 1. 파일 매핑 객체 생성 HANDLE CreateFileMapping( HANDLE 메모리에 매핑할 대상 파일의 핸들, LPSECURITY_ATTRIBUTES 보안속성, // 보통 NULL DWORD 접근속성, DWORD 파일 매핑에 사용할 메모리 길이 중 상위 32비트, // 0 DWORD 파일 매핑에 사용할 메모리 길..
메모리 윈도우(OS)는 각 프로세스에 4GB 가상메모리를 할당. (32비트) 프로세스는 자신의 고유 영역 외 다른 영역은 접근 안됨. 가상메모리 물리적 메모리 용량이 부족하면 하드디스크 일부를 메모리로 사용하는 기법 당장 사용하지 않는 메모리에 있는 DATA를 하드디스크의 페이징 파일이라는 곳에 옮겨 사용 가능한 물리적인 메모리를 늘려주는 방식 물리적 메모리 + 하드디스크 페이징파일 = 가상메모리 페이지(4KB) 단위로 할당/해제 관리됨 (4KB 보다 작은 경우 낭비되는 단점) 가상메모리 할당 LPVOID VirtualAlloc( LPVOID 할당하려는메모리주소, // NULL이면 자동할당 DWORD 메모리크기를BYTE단위로지정, DWORD 할당방법, // MEM_RESERVE | MEM_COMMIT D..
상태바 윈도우 하단부분에 가로 형태로 붙어 있는 윈도우 HWND CreateStatusWindow( LONG 상태바스타일, LPCTSTR 상태바출력문자열, HWND 부모윈도우핸들, UINT 상태바윈도우ID); WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | CCS_BOTTOM 1. 문자열 리소스에 메뉴에 대한 문자열을 추가한다. IDM_EXIT 105 프로그램을 종료합니다. 2. 메뉴 선택되면 이벤트발생하는 WM_MENUSELECT 에서 상태바에 문자열 리스소를 출력하면된다. 3. 메시지루프 바로앞에 InitCommonControls(); 추가 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ..