일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리 초대장삭제
- VMware
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 클라우드 보안 취약성
- 운영관리제어의 축소
- 가상 프라이빗 클라우드
- Community Cloud
- IT 자원
- dhcp
- 자원 풀링
- 초대장 나눠드립니다.
- 온 프레미스
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- 클라우드 서비스 소유자
- 초대장 배포
- 수평적 확장
- 멀티테넌시
- Error 1720
- 초대장 나눠드립니다
- 클라우드 소비자
- DHCP 설치
- Virtual Private Cloud
- 온디맨드식
- 클라우드 제공자
- 제한된 이식성
- 커뮤니티 클라우드
- 클라우드 자원 관리자
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 티스토리 초대장
- 수직적 확장
- Today
- Total
목록프로그래밍 (42)
한 걸음씩..
데이터 모델은 표준 데이터 타입에 할당되는 크기를 정의합니다. 관련된 헤더파일은 아래와 같습니다. - limits.h - stdint.h - inttypes.h 위 헤더파일에는 데이터 타입의 Max / Min Size 등의 정의 및 매크로, Function을 포함하고 있습니다. 사용하는 플랫폼에서 지원하는 데이터모델을 이해해야 표현되는 값의 범위와 정수타입의 크기에 관한 에러를 피할 수 있습니다.
/************************************* 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..
Device Object Driver는 자신이 참여하는 모든 Device Stack을 위해서 DeviceObject를 생성하게 된다생성된 모든 Driver의 DeviceObject는 Driver의 DriverObject를 통해 모두 찾을 수 있다. 1. DriverObject->DeviceObject // 가장 최근에 드라이버가 생성한 DeviceObject 2. DriverObject->DeviceObject->NextDevice //1의 DeviceObject 보다 바로 전에 생성했던 DeviceObject 3. DriverObject->DeviceObject->NextDevice->NextDevice //2의 DeviceObject 보다 바로 전에 생성했던 DeviceObject Device Obj..