일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 초대장 배포
- 온 프레미스
- 수평적 확장
- 클라우드 제공자
- 티스토리 초대장삭제
- IT 자원
- 가상 프라이빗 클라우드
- 클라우드 소비자
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- Error 1720
- 커뮤니티 클라우드
- Virtual Private Cloud
- 수직적 확장
- 초대장 나눠드립니다
- dhcp
- 초대장 나눠드립니다.
- 자원 풀링
- 클라우드 보안 취약성
- 멀티테넌시
- VMware
- 운영관리제어의 축소
- 온디맨드식
- Community Cloud
- 제한된 이식성
- 티스토리 초대장
- 클라우드 서비스 소유자
- 클라우드 자원 관리자
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- DHCP 설치
- Today
- Total
목록프로그래밍 (42)
한 걸음씩..
Memory Fault 발생 시 Error Handling 을 위한 Code. SEH (Standard Exception Handling) : __try ~ __except 혹은 __try ~ __finally 구문 __try 구문은 C++의 try ~ catch 구문과는 다른 구문이다. __try 구문을 사용하면 Memory Fault를 포함한 모든 Exception을 핸들링 할 수 있다. 출처 1 : http://serious-code.net/moin.cgi/SEH 출처 2 : http://kuaaan.tistory.com/103
PC 내부 Beep 음을 울리게 하는 코드 Debug용으로 사용 NTSTATUS DriverEntry( PDRIVER_OBJECT pDriverObject, PUNICODE_STRING RegistryPath ) { //.... pDriverObject->MajorFunction[IRP_MJ_CREATE]= PCIDrv_CreateClose; pDriverObject->MajorFunction[IRP_MJ_CLOSE]= PCIDrv_CreateClose; return STATUS_SUCCESS; } NTSTATUS PCIDrv_CreateClose( IN PDEVICE_OBJECT pFunctionDeviceObject, IN PIRP pIrp ) { //.......... PIO_STACK_LOCATI..
1. 공통사항 ( IOCTL 정의 Drv / App 추가 )#define IOCTL_TEST_PORT_ALLOW_ACCESS CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0800, METHOD_BUFFERED, FILE_ANY_ACCESS)#define IOCTL_TEST_PORT_ACCESS_DENIED CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0801, METHOD_BUFFERED, FILE_ANY_ACCESS) 2. Driver 에서..// IOPM 구조 정의#defineIOPM_SIZE0x2000typedef UCHAR IOPM[IOPM_SIZE];IOPM *IOPM_local = 0; //Undocument API 함수 원형 정의void Ke386SetIoAccess..
Toaster 소스 공부 중..1. C:\WinDDK\7600.16385.1\src\general\toaster\wdm\bus [ build ]2. 레거시 하드웨어 추가 -> BusEnum.sys3. C:\WinDDK\7600.16385.1\src\general\toaster\exe [ build ] 4. enum -p 1 -> 장치 등록5. C:\WinDDK\7600.16385.1\src\general\toaster\wdm\func\featured1 [ build ]6. 장치관리자 ->Toaster Bus Enumerator -> Microsoft_Eliyas_Toaster_01 -> 드라이버 소프트웨어 업데이트7. toaster.sys 드라이버 등록위 과정 중 4번 enum 에서 Error 발생C:\..
//각각 헤더파일 include #include "MainFrm.h" //메인프레임 헤더파일 #include "ClassDoc.h" //Doc클래스 헤더파일 #include "ClassView.h" //View를 include 할때는 반드시 Doc 헤더파일이 위에잇어야한다 #include "Class.h" //APP Class 의 헤더파일 void CClassView::OnMenuView() //뷰클래스 CClassApp *pApp=(CClassApp *)AfxGetApp(); //View -> App CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd(); //View -> MainFrm CClassDoc *pDoc=(CClassDoc *)pMain->GetActiveDo..
인라인 어셈블리 언어 디버깅 1) 레지스터 -> 데이터를 저장할 수 있는 작은 영역. 파일을 저장하기엔 너무 작고, 대신 프로그램이 실행되는 동안 어떤 정보를 저장하기 위해 사용. CPU는 메모리에 있는 데이터보다 레지스터에 있는 데이터에 훨씬 더 빨리 접근할 수 있음. -> 일반적인 목적을 위한 레지스터는 16비트로 되어있으며 8비트 레지스터로 나누어질 수 있음. -> 32bit 레지스터 EAX : 곱셈, 나눗셈, 함수의 리턴값 저장용도로 쓰임 EBX : ESI나 EDI와 같이 결합하여 인덱스에 사용됨 ECX : 반복명령어 사용시 반복 카운터로 사용됨 EDX : EAX와 같이 쓰이며 부호 확장 명령 등에 쓰임 ESI : 데이터복사나 조작 시 source date의 주소가 저장됨 EDI : 복사 작업 시..
프로젝트 도중 PCI장치의 Base Address를 임의로 할당 해 줘야 하는 일이 발생하여 다른 PCI장치들이 사용하지 않는 영역을 구하고 물리 메모리를 필요한만큼 할당하기 위해 Application에 기능 구현 1. PCI장치가 사용하는 물리 메모리 영역은 E00000000 ~ FFFFFFFF 까지 이다.2. 모든 PCI장치들의 리소스 정보는 레지스트리에서 확인할 수 있다. HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\PnP Manager\PnpManager - 예를 들어 PCI Lan Card 의 정보[ 속성->자세히->실제 장치 개체 이름 ]을 확인하면 [ \Device\NTPNP_PCI0014 ] 라는 값을 확인할 수 있다. - 이를 위 레지스트리에서 확인하게 되면 [..
PCI Bridge의 특정 register를 수정할 때 사용하였음..PCI_COMMON_CONFIG를 사용한 방법으로 변경이 되지 않아 아래와 같은 방법을 사용 1. 사용 구조체 #pragma pack(1)typedef struct _CONFIG_DATA_CHECK{ union { struct { int UnUse0 : 1; int UnUse1 : 1; int RegisterNumber : 6; int FunctionNumber : 3; int DeviceNumber : 5; int BusNumber : 8; int Reserved : 7; int EnableBit : 1; } nDataBit; ULONG nData; } u;} CONFIG_DATA_CHECK, *PCONFIG_DATA_CHECK; ty..
SendInput 에 Ctrl , Esc , Shift , Alt 등을 사용한다면원하는 문자를 보낸후에 KEYEVENTF_KEYUP 옵션을 주고 다시 한번 보내야 정상적으로 반응을 한다.키를 2의 조합 키로 보낸다면 KEYEVENTF_KEYUP를 사용하지 않아도 정상적으로 반응을 하지만조합키가 2개 이상일 경우 KEYEVENTF_KEYUP 처리를 반드시 해야만 반응을 한다. Example) 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]...
APP 에서 구분해서 설치할 수도 있지만 INF 자체에서 OS 버전을 구분하도록 만들 수도 있다. WDK Help 메뉴얼 에서 INF Manufacturer Section를 살펴보면 자세한 설명이 나와있습니다. [Manufacturer] %MyName% = MyName,NT.6.0,NTx86.5.1..[MyName.NT.6.0] ; Empty section, so this INF does not support. ; NT 6.0 and later...[MyName.NTx86.5.1] ; Used for NT 5.1 and later . ; (but not NT 6.0 due to the NT.6.0 entry) %MyDev% = InstallB,hwid ..[MyName] ; Empty section, s..