본문 바로가기

분류 전체보기292

0128 - File I/O (2) - Thread Ver. *스레드 기반으로 파일 I/O하기. Thread에서 사용할 파일 I/O에 관한 정보구조체 typedef struct _COPY_FILE{ TCHAR szSrcFile[MAX_PATH+_MAX_FNAME]; TCHAR szDestFile[MAX_PATH+_MAX_FNAME]; LPVOID pDlg; } -pDlg를 넣는 이유는? WorkerThread가 실행되기 전에 Dialog를 만들어두고 그 대화상자의 주소를 넘겨주기 위해서. (ProgressBar Dialog는 Main Dialog에 속해있어야한다. Thread한테 속해있는것이 아니라.) *Thread에서 사용할 함수 DWORD WINAPI ThreadCopyFile(LPVOID pParam){ COPY_FILE File; memcpy(&File, .. 2009. 1. 28.
0123 - 파일 I/O *파일객체로 생성해서 그곳에 메모리 write하면 파일에 write한거임. *이 파일 I/O를 잘하면 좋다.. device도 파일이라는 사실을 잊지말자... *CreateFile을 잘 건드릴줄 안다면... 대략 좋다. *File I/O의 가장큰 장점은 추상화 이다. 2009. 1. 23.
0123 - 서비스 프로그래밍(3) and 사용자 세션관리 * 서비스 프로그램과 사용자 프로그램의 IPC -> 서비스프로그램은 메모리에 write가능하다. 그런데 사용자는 접근을 못한다. -> 서비스가 일시적으로 권한을 떨어뜨려서 작성하자. -> 이걸 SD(Security Descriptor)를 수정해서 권한을 떨궈. 단 이것은 Admin그룹만 가능하게 해야한다. 그런데 만약 EVERYONE으로하면 뚫릴수 있다. -> 이거는 소켓이 편한데 소켓을 못써먹을경우 천상 공유메모리를 사용하여야하는데... -> 이벤트 누가받을수있어?를 고려해야한다. *권한먹기용 SD예제 SetSampleServiceStatus(SERVICE_START_PENDING, NO_ERROR, 0); SECURITY_ATTRIBUTES SA = {0}; SA.bInheritHandle = FAL.. 2009. 1. 23.
0122 - 서비스프로그래밍 (2). 서비스프로그램등록/제거 1. Install Service Program void CServiceManagerDlg::OnButtonInstall() { // TODO: Add your control notification handler code here SC_HANDLE hServiceManager = NULL; SC_HANDLE hService = NULL; TCHAR szPath[MAX_PATH+_MAX_FNAME] = {0}; //step //1. 운영체제의 서비스매니저에 연결 hServiceManager = ::OpenSCManager(NULL, NULL,SC_MANAGER_CREATE_SERVICE); if(hServiceManager == NULL){ AfxMessageBox(_T("Error: Failed to o.. 2009. 1. 22.
0122 - 서비스 프로그래밍 (1) *서비스프로그래밍 -메인이있긴하나 메인이메인이아니다. -함수호출하지않고 콜백함수가있다. -제약이 많지만 권한이 시스템 권한이다. 2009. 1. 22.
0121 *레지스트리 : 기존의 ini파일을 옮겨놓은것 *레지스트리 함수 1)Create HKEY hKey= ::RegCreateKeyEx(HKEY_CURRENT_USER,내키경로 , 0, NULL, REG_OPTION_NON_VOLITILE, KEY_ALL_ACCESS, NULL, &hKey, NULL); //오픈해줌 ->이건 나중에 중복되면 Open해줌 hKey를 사용후에는 반드시 닫을것 2)write ::RegSetValueKey(key핸들, key값, NULL, REG_SZ, (BYTE*)문자열,문자열길이*sizeof(TCHAR) 3) Open ::RegOpenKeyEx(HANDLE hkey, LPCSTR subkey, DWORD option, REGSAM regsam, &hKey) *UAC의 권한과정 알.. 2009. 1. 21.
728x90