일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker-compose
- 리눅스
- 드라이버
- docker
- 우분투
- 루비
- VMware
- window size
- DevOps
- Openswan
- golang
- VPN
- driver
- Chef
- QT
- 패키지
- VIM
- AWS
- ssh command
- docker container
- port
- docker registry
- sudo
- ubuntu
- RUBY
- ssh
- 방화벽체크
- Linux
- opsworks
- 도커
- Today
- Total
목록드라이버 (3)
구리의 창고
1. 먼저 VisualDDK폴더 안에 있는 target을 VMWare(타겟머신)로 복사한다. 2. vminstall.exe 를 실행하면 아래와 같은 창이 뜨는데, Install 버튼을 눌러서 설치 후 재부팅한다. 3. 부팅 할 OS를 선택하는 창이 뜨면 VS2008 메뉴에 [디버그 – Driver Launch Settings]를 클릭해주고 아래와 같이 설정한다. 4. Launch를 누르면 아래 창에서 대기를 하고 OS를 선택하는 창에서 VirtualKD가 적혀있는 항목을 선택해서 부팅한다. 5. 부팅이 완료되면 VMWare에 DDKLaunchMonitor란 프로그램이 실행되는데 표시된 아이피를 4번 과정에 있는 Driver stopping in progress 창에서 Target machine hostn..
MSC_VER 는 vs c++ 컴파일러 버전을 나타내는 상수이다. 버전별 값 1000 : Visual C++ 4.x 1100 : Visual C++ 5 1200 : Visual C++ 6 1300 : Visual C++ NET 1310 : Visual C++ NET 2003 1400 : Visual C++ NET 2005 1500 : Visual C++ NET 2008 사용법) #if _MSC_VER == 1500 //code #else if _MSC_VER = 1400 //code #endif
1. application이 driver 에게 버전 요청 winioctl.h 에 정의된 함수인 DeviceIoControl()를 사용한다. 사용 예시는 아래와 같다. DWORD dwRet; ULONG Version; DeviceIoControl( hDevice, IOCTL_CMD_VERSION, &Version, sizeof(ULONG), &Version, sizeof(ULONG), &dwRet, NULL ); 2. driver는 ioctl 이벤트가 일어나면 이를 감지하고 적절한 case 문으로 이벤트를 처리한다 그럼 드라이버에서는 irp stack에 뭐가 왔나 체크를한다. PIO_STACK_LOCATIONirpStack ; ULONG outputBufferLength; irpStack= IoGetCur..