일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- dhcp
- Virtual Private Cloud
- 가상 프라이빗 클라우드
- 운영관리제어의 축소
- 클라우드 자원 관리자
- IT 자원
- 클라우드 서비스 소유자
- VMware
- 초대장 나눠드립니다
- 초대장 배포
- 수직적 확장
- 수평적 확장
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 자원 풀링
- 제한된 이식성
- 온 프레미스
- Error 1720
- 온디맨드식
- 멀티테넌시
- 클라우드 소비자
- 초대장 나눠드립니다.
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 클라우드 보안 취약성
- 클라우드 제공자
- 티스토리 초대장
- 커뮤니티 클라우드
- Community Cloud
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- DHCP 설치
- 티스토리 초대장삭제
- Today
- Total
목록프로그래밍 (42)
한 걸음씩..
할당 속도가 빠르고 사용법이 간단해 디바이스 드라이버에서 가장 많이 사용된다. #include char *buff; buff = kmalloc(1024, GFP_KERNEL); if( buff != NULL ){kfree( buff );} else{printk( "kmalloc error\n ); } 사용법은 malloc(), free()함수와 유사하다. kmalloc()함수를 사용할 때는 할당 가능한 크기가 32xPAGE_SIZE라는 점에 주의해야 한다. 대부분의 시스템에서 PAGE_SIZE의 크기는 4096이므로 131072Byte 이상은 메모리를 할 당할 수 없다. malloc()함수와 다른점은 메모리 할 당시점에 처리 방식을 매개변수 값으로 준다. GFP_KERNEL : 동적 메모리 할당이 항상 ..
PsSetLoadImageNotifyRoutine, PsRemoveLoadImageNotifyRoutine 함수를 사용하면 새롭게 Load 되는 프로세스 정보를 알 수 있다. 하지만 현재 시스템의 모든 프로세스 정보를 알아낼 수는 없다! 현재 시스템의 모든 프로세스를 알아내기 위해서는 ZwQuerySystemInformation 함수를 사용하면 된다. UnDocument 함수이기 때문에 NTSTATUS ZwQuerySystemInformation( ULONG SystemInformationClass, PVOID SystemInformation, ULONG SystemInformationLength, PULONG ReturnLength ); 위와 같은 정의를 미리 해 줘야 한다. 사용방법은 아래와 같다. ..
/************************************* VxWorks에서 Critical Section이 없기 때문에* 세마포어를 이용하여 구현* 이걸 왜 만들었더라? 그냥 세마포어 쓰면 될 껄..************************************/ /*세마포어를 크리티컬 섹션이란 이름으로 재 정의*/typedef SEM_IDCRITICAL_SECTION;typedef SEM_ID*LPTCRITICAL_SECTION; /* 함수 원형 작성 */BOOL CreateCriticalSection( LPTCRITICAL_SECTION CriticalSection );BOOL DeleteCriticalSection( LPTCRITICAL_SECTION CriticalSection );..
프로그램 개발 중 문자열 변환과 관련된 부분을 처리하는 경우가 있다. 검색중 아래와 같은 내용을 찾아 참고 하면 좋을 것 같다. KSC5601 한글 완성형 표준(한글 2,350자 표현) 한국공업표준 정보처리분야(C)의 5601번 표준안 KSC5636 영문자에 대한 표준 한국공업표준 정보처리분야(C)의 5636번 표준안 기존 ASCII Code에서 역슬래쉬(\)를 원(\) 표시로 대체 EUC-KR Bell Laboratories에서 유닉스 상에서 영문자 이외의 문자를 지원하기 위해 제안한 확장 유닉스 코드(Extend UNIX Code)중 한글 인코딩 방식 영문은 KSC5636로 처리하고 한글은 KSC5601로 처리 EUC-KR = KSC5601 + KSC5636
SendInput 에 Ctrl , Esc , Shift , Alt 등을 사용한다면 원하는 문자를 보낸후에 KEYEVENTF_KEYUP 옵션을 주고 다시 한번 보내야 정상적으로 반응을 한다. 키를 2의 조합 키로 보낸다면 KEYEVENTF_KEYUP를 사용하지 않아도 정상적으로 반응을 하지만 조합키가 2개 이상일 경우 KEYEVENTF_KEYUP 처리를 반드시 해야만 반응을 한다. INPUT input[3] = { 0 , }; ::ZeroMemory(input, sizeof(input)); //KEY_DOWN input[0].type = INPUT_KEYBOARD; input[1].type = INPUT_KEYBOARD; input[2].type = INPUT_KEYBOARD; input[0].ki.wVk..
FILE* pFile = NULL; UCHAR TestBuffer[5] = { 0xFF, 0x55, 0x0A, 0x00, 0x00 }; pFile = fopen( "C:\\Test.wav", "w" ); if ( pFile == NULL ) { return 0; } fputc( TestBuffer[0], pFile ); fputc( TestBuffer[1], pFile ); fputc( TestBuffer[2], pFile ); fputc( TestBuffer[3], pFile ); fputc( TestBuffer[4], pFile ); fclose( pFile ); 위와 같은 예제를 돌려 봤을 때 wav 파일의 내부에 아래와 같은 데이터가 기록된다. 0xFF, 0x55, 0x0D, 0x0A, 0x00,..
exe, dll 모두 정상적으로 만들어 졌는데도 LoadLibrary 가 실패하면서 ERROR_SXS_CANT_GEN_ACTCTX 에러가 발생한다면 아래와 같은 사항을 점검해 보시길.. VS Project Property Page - Configuration Properties - General - Use of MFC 속성을 exe 와 dll 모두 맞춰 줘야 한다. 아마 위와 같은 에러가 난 상황이라면 dll 과 exe 가 서로 다른 속성을 가졌기 때문일 것이다.
이유는 프로젝트 설정을 x64이식성 검사를 켜놓아서 뜨는 경고 메시지 이다. (프로젝트 속성 -> C/C++ -> 64비트 이식성 문제점 검색 -> '아니요') 64비트로 가면 자료형들이 64비트 시스템에 맞추어 크기가 늘어나는데 예를 들어 char Tmp[4] = {"TEST"};for(int k = 0 ; k
The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer 위와 같은 에러 메시지가 뜨는 경우가 있는데 이것은 함수 호출 규약이 안맞기 때문이다. 그래서 다음과 같이 프로젝트 옵션에서 수정한다. C/C++ 탭에서 고급 -> 호출 규칙에서 Calling Convention을 cdecl과 stdcall 둘 중 하나로 설정하면 된다.
주 원인은 컨트롤쪽에 포커스가 가 있어서 폼쪽 이벤트가 안걸리는 것이 문제 이다. Mseesage 관련은 포커스가 폼에 있어야 메시지가 온다. 이럴때 사용자 정의 이벤트를 사용해야 한다. BOOL PreTranslateMessage(MSG* pMsg){BOOL bCtrl = FALSE;BOOL bAlt = FALSE;BOOL bShift = FALSE;BYTE keyState[256] = { 0 , }; switch ( pMsg->message ){case WM_KEYDOWN:{GetKeyboardState( keyState );bCtrl = ( keyState[VK_LCONTROL] & 0x80 ) != 0 ? TRUE : FALSE;bAlt = ( keyState[VK_LMENU] & 0x80 ) !..