일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- View Connection
- 클라우드 자원 관리자
- 수직적 확장
- 제한된 이식성
- Error 1720
- VMWare View Connection Serve
- Community Cloud
- 온 프레미스
- 클라우드 제공자
- 클라우드 소비자
- dhcp
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 자원 풀링
- VMware
- 커뮤니티 클라우드
- IT 자원
- VMWare vSphere
- 운영관리제어의 축소
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 가상 프라이빗 클라우드
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- 멀티테넌시
- 클라우드 서비스 소유자
- 수평적 확장
- 온디맨드식
- DHCP 설정
- Today
- Total
목록분류 전체보기 (106)
한 걸음씩..
데이터 모델은 표준 데이터 타입에 할당되는 크기를 정의합니다. 관련된 헤더파일은 아래와 같습니다. - limits.h - stdint.h - inttypes.h 위 헤더파일에는 데이터 타입의 Max / Min Size 등의 정의 및 매크로, Function을 포함하고 있습니다. 사용하는 플랫폼에서 지원하는 데이터모델을 이해해야 표현되는 값의 범위와 정수타입의 크기에 관한 에러를 피할 수 있습니다.
/************************************* CString 의 Tokenize 멤버 함수와 동일한 * 기능을 하는 API* Str Param의 내용을 var Param으로 Token* CStringArray 변수에 담는다************************************/ int SplitString(CString str, CString var, CStringArray &strs ){int count = 0; CString tempStr = str; int length = str.GetLength(); while(length){int find = tempStr.Find(var);if(find != -1){CString temp = tempStr.Left(find);..
/************************************* 3단계 User Name 얻어오는 방법 * GetUserName API를 통해 얻어오는 * 방법과 환경변수를 참조하여 얻어오는 방법* 두 가지를 사용하였으나 최근 System 권한으로* 실행 시 User Name을 SYSTEM으로 얻어오는* 오류를 발견하여 WTSQuerySessionInformation * API를 통해 얻어오는 방법 추가************************************/ #include #pragma comment( lib, "Wtsapi32.lib" ) bool GetLogOnUserName( TCHAR * pOutUserName ){DWORDSize = UNLEN * 2;LPTSTRpStr = N..
서비스 검색SERVICE_STATUS Status;SC_HANDLE hSCM = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );SC_HANDLE hService = OpenService( hSCM, _T("검색할 서비스 명"), SC_MANAGER_ALL_ACCESS );//현재 서비스의 상태를 알아온다QueryServiceStatus( hService, &Status ); CloseServiceHandle(hService);CloseServiceHandle(hSCM); 서비스 수정SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);SC_HANDLE hService = OpenService(hS..
Injection DLL에서 Target Process ( Exe ) 의 Process ID를 구하려고 써칭 중 알게된 사항이다. 인젝션된 DLL은 프로세스 내부의 거의 모든 영역에 자유롭게 접근이 가능하다. 따라서 그 프로세스가 윈도우를 가지고 있다면 인젝션된 DLL 내부에서도 그 윈도우의 핸들을 얻는것이 가능하다. //DLL에서 현재 ProcessID를 구하면 Target Process 를 구할 수 있다.DWORD CurrentPID = GetCurrentProcessId(); HWND CurrentWnd = GetWinHandle( CurrentPID ); 참고 사이트 : http://blog.naver.com/PostView.nhn?blogId=kzh8055&logNo=140098905124
/************************************* HIcon To HBitmap* HIcon To CBitmap************************************/ HBITMAPConvertIconToHBitmap( HICON hIcon );void ConvertIconToCBitmap( HICON hIcon, CBitmap *pOutBitmap ); HBITMAP ConvertIconToHBitmap( HICON hIcon ) {ICONINFO IconInfo;GetIconInfo( hIcon, &IconInfo ); HBITMAP hbmp = (HBITMAP)CopyImage( IconInfo.hbmColor, IMAGE_BITMAP, 16, 16, 0 ); Dele..
DECLARE_DYNCREATE IMPLEMENT_DYNCREATE 보통 어떤 클래스를 동적으로 생성 시 new연산자를 사용하여 생성하고 delete 연산자로 메모리에서 해제한다 그러나 CObject 를 상속받는 클래스들은 생성자가 protected로 선언되어 있기 때문에 위의 방법으로 생성하고 해제 할 수 없다 생성자가 protected로 선언된 이유는 자기 스스로 파괴되는 객체에 대한 명확한 사용법을 제시하기 위함이다. 자기 스스로 파괴되는 객체의 경우 정적으로 선언하여 사용하면 메모리에서 제거되는 시도를 두 번 하기 때문이다. 스스로 파괴되는 객체의 경우 반드시 동적으로 생성하여야 하고 프로그래머가 정적으로 선언하는 실수를 방지하기 위해 protected 멤버로 선언한다. 생성자를 protected..
MessageMap 매크로 함수 #define DECLARE_MESSAGE_MAP() private: static const AFX_MSGMAP_ENTRY _messageEntries[]; // 메시지 배열 변수 생성 protected: static AFX_DATA const AFX_MSGMAP messageMap; // 메시지 맵 생성 static const AFX_MSGMAP* PASCAL _GetBaseMessageMap(); virtual const AFX_MSGMAP* GetMessageMap() const; const AFX_MSGMAP* PASCAL CMainWindow::_GetBaseMessageMap() { return &CFrameWnd::messageMap; //부모 메시지 맵 주소..
핸들이란 구체적인 어떤 대상에 붙여진 번호이며 문법적으로는 32비트(또는 64비트)의 정수값이다. 핸들은 중복되지 않아야 하므로 운영체제가 발급하고 사용자는 사용하기만 할 수 있다. HANDLE hProcess HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, GetCurrentProcessId()); 프로세스 생성 시 OS 내부적으로 커널 오브젝트를 생성하며 그 프로세스에 대한 정보를 채워지게 된다. 일반적으로 커널 오브젝트에 접근은 불가능 하지만 위 사용법을 통해 커널 오브젝트의 번호(핸들)을 가져와서 접근할 수 있다 HINSTANCE hInstance int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hP..
Windows 환경에서 로그인 중인 유저 이름을 알아올 수 있다. WinAPI 사용하는 방법 C++BOOL WINAPI GetUserName( _Out_ LPTSTR lpBuffer, _Inout_ LPDWORD lpnSize ); ParameterslpBuffer [out]A pointer to the buffer to receive the user's logon name. If this buffer is not large enough to contain the entire user name, the function fails. A buffer size of (UNLEN + 1) characters will hold the maximum length user name including the termi..