일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 클라우드 소비자
- Error 1720
- 커뮤니티 클라우드
- 클라우드 보안 취약성
- DHCP 설치
- dhcp
- 정수형 데이터타입
- VMWare vSphere
- VMWare View Connection Serve
- 운영관리제어의 축소
- DHCP 설정
- Community Cloud
- 온디맨드식
- 클라우드 서비스 소유자
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 온 프레미스
- IT 자원
- 자원 풀링
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- Virtual Private Cloud
- 수직적 확장
- 클라우드 제공자
- 클라우드 자원 관리자
- 제한된 이식성
- View Connection
- 멀티테넌시
- 가상 프라이빗 클라우드
- 수평적 확장
- VMware
- Today
- Total
한 걸음씩..
[Device Driver] 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 Object 자료구조
typedef struct _DEVICE_OBJECT {
CSHORT Type;
USHORT Size;
LONG ReferenceCount;
// DDEVICE_OBJECT를 생성한 드라이버의 DriverObject
struct _DRIVER_OBJECT *DriverObject;
// 같은 드라이버에 의해서 생성된 다른 DeviceObject를 가리키는 포인터
struct _DEVICE_OBJECT *NextDevice;
// 현재 DeviceObject와 같이 속해있는 상위의 DeviceObject 포인터
struct _DEVICE_OBJECT *AttachedDevice;
// DriverStartIo 루틴이 처리중인 Irp를 기억하는 곳
struct _IRP *CurrentIrp;
PIO_TIMER Timer;
ULONG Flags;
ULONG Characteristics;
__volatile PVPB Vpb;
PVOID DeviceExtension;
DEVICE_TYPE DeviceType;
// 현재 DeviceObject가 포함된 디바이스 스택상에서 자신의 위치
CCHAR StackSize;
union {
LIST_ENTRY ListEntry;
WAIT_CONTEXT_BLOCK Wcb;
} Queue;
ULONG AlignmentRequirement;
// IRP 명령어를 Queue에 담는 용도로 사용되는 구조체
KDEVICE_QUEUE DeviceQueue;
KDPC Dpc;
ULONG ActiveThreadCount;
PSECURITY_DESCRIPTOR SecurityDescriptor;
KEVENT DeviceLock;
USHORT SectorSize;
USHORT Spare1;
struct _DEVOBJ_EXTENSION * DeviceObjectExtension;
PVOID Reserved;
} DEVICE_OBJECT, *PDEVICE_OBJECT;
출처 : 디바이스 드라이버 구조와 원리 그리고 제작 노하우
'프로그래밍' 카테고리의 다른 글
[MFC] 윈도우 핸들 정리 (0) | 2013.10.01 |
---|---|
[Windows] 현재 로그인한 유저 이름 알아오기 (0) | 2013.09.06 |
[Device Driver] Driver Object 자료구조 (0) | 2013.09.04 |
[Device Driver] IRP Dispatch Routine (0) | 2013.09.03 |
[Device Driver] AddDevice routine (0) | 2013.09.02 |