본문내용 바로가기
무료배송 이벤트 소득공제

윈도우 USB 디바이스 드라이버

에이콘 윈도우 시스템 프로그래밍 시리즈 10
하마다 켄이치로 지음 | 최강민 옮김 | 에이콘출판 | 2011년 04월 15일 출간
  • 정가 : 40,000원
    판매가 : 36,000 [10%↓ 4,000원 할인]
  • 통합포인트 :
    [기본적립] 2,000원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 3만원 이상 구매 시 2~4% 추가적립
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(17일,화) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9788960771925(8960771929)
쪽수 920쪽
크기 188 * 250 * 40 mm /1770g 판형알림
이 책의 원서/번역서 Windows Vistaデバイスドライバプログラミング/浜田 憲-郞

책소개

이 책이 속한 분야

「에이콘 윈도우 시스템 프로그래밍 시리즈」 제10권 『윈도우 USB 디바이스 드라이버』. 이 책은 USB용 윈도우 디바이스 드라이버의 개발 방법을 주로 다룬다. USB에 관한 기초 지식뿐만 아니라 USB용 저장 장치 드라이버 개발에 필요한 대용량 저장 장치 클래스를 설명하였다. 단계별로 드라이버 작성에 필요한 지식을 설명하고 검증을 통해 그 지식을 확인하는 형태로 구성되어 있어 독자들이 쉽게 배울 수 있도록 구성하였다.

이 책의 총서

저자소개

저자 : 하마다 켄이치로

저자 하마다 켄이치로는 중학교 시절 MZ-1200이란 PC를 손에 넣은 이래 베이식, 기계어, FORM, WICS 등을 경험한 후 얄팍하지만 두루두루 다양한 언어를 탐하는 어중간한 오타쿠가 됐다. 전문학교 졸업 후 시스템 하우스에 취직했으나 연필로 회로설계를 하는 것이 싫어 좌절하기도 했다. 그 후 어셈블러나 C 코딩을 하거나, VxWorks 애플리케이션, 비주얼 베이식 애플리케이션을 작성하며, 무선 제어기 수리와 영업직까지 맡고 있는 자신을 발견하고 엔지니어 길에서 벗어났다는 생각에 98년에 전직해 USB를 시작으로 임베디드 분야로 진로를 바꿨다. 정리 해고가 두려워 어느 OS벤더 회사로 전직했으나 훨씬 고수준의 업무에 늘 쫓기고 있다. 『Windows XP 디바이스 드라이버 프로그래밍 입문과 실전』(기술평론사, 2003년), 『입문 UPnP』(일본 브레인웨어, 2007년) 등을 집필한 바 있다.

역자 : 최강민

역자 최강민은 임베디드 시스템 컨설팅 및 개발 회사인 디오이즈에서 각종 임베디드 소프트웨어 개발 업무를 담당했으며, 현재는 uITRON 사양의 RTOS 개발 회사인 MiSPO에서 근무 중이며, RTOS 포팅과 미들웨어 개발 업무를 담당 중이다.

목차

1장 WDM 디바이스 드라이버 기초
___1.1 디바이스 드라이버 입문
______1.1.1 디바이스 드라이버의 정의
______1.1.2 추상화 인터페이스 제공
______1.1.3 디바이스 드라이버의 계층 구조
______1.1.4 디클래스 드라이버와 벤더 드라이버
___1.2 윈도우 디바이스 드라이버
______1.2.1 윈도우의 간략한 역사
______1.2.2 윈도우 비스타의 커널 구성(2가지 모드)
______1.2.3 윈도우 비스타가 지원하는 3가지 종류의 드라이버
___1.3 디바이스 드라이버 개발 입문
______1.3.1 디바이스 드라이버 실행
______1.3.2 디바이스 드라이버 개발 환경 구축
______1.3.3 WDK 폴더 구성
______1.3.4 WDK를 사용한 빌드 방법
______1.3.5 디버그 환경 구축
______1.3.6 디바이스 드라이버 프로그래밍 입문
______1.3.7 디바이스 드라이버 빌드
______1.3.8 INF 파일 작성
______1.3.9 드라이버 셋업
______1.3.10 INF 파일 구조
______1.3.11 레지스트리와 디바이스 드라이버 관련 설정
___1.4 WDM의 기본
______1.4.1 DriverEntry 함수
______1.4.2 펑션 드라이버에 등록해야 하는 함수
______1.4.3 이벤트부터 하위 드라이버와의 통신
______1.4.4 WDM의 핵이 되는 4가지 구조체
______1.4.5 메모리 할당과 해제
______1.4.6 MajorFunction 작성 방법
______1.4.7 스켈톤 드라이버 작성
___1.5 AddDevice 디바이스 초기화 처리
______1.5.1 AddDevice 함수에 작성해야 할 것
______1.5.2 AddDevice 함수 코드
______1.5.3 AddDevice 함수의 검증
___1.6 플러그앤플레이
______1.6.1 플러그앤플레이 개요
______1.6.2 플러그앤플레이 구현
______1.6.3 플러그앤플레이 검증
___1.7 전원 관리
______1.7.1 전원 관리를 구현하지 않을 경우
______1.7.2 전원 관리 처리의 개요
______1.7.3 전원 관리 처리 구현
______1.7.4 전원 관리 처리 검증
___1.8 애플리케이션에서 디바이스 제어
______1.8.1 애플리케이션에서 열기/닫기
______1.8.2 IRP_MJ_CREATE, IRP_MJ_CLOSE 처리
______1.8.3 애플리케이션에서 읽고 쓰기
______1.8.4 읽기/쓰기 검증
______1.8.5 디바이스 제어 코드 작성법
______1.8.6 디바이스 제어 코드 검증
___1.9 정리

2장 USB 저장 장치의 기초
___2.1 USB의 개요
______2.1.1 USB의 특징
______2.1.2 주소
______2.1.3 4가지 전송 방식과 엔드포인트
______2.1.4 하드웨어 개요
___2.2 USB 프로토콜 계층의 개요
______2.2.1 패킷
______2.2.2 트랜잭션
______2.2.3 각종 전송 데이터
___2.3 USB 디바이스의 구성과 디스크립터
______2.3.1 USB 디바이스의 구성
______2.3.2 리틀 엔디언
______2.3.3 디스크립터
______2.3.4 디바이스 디스크립터
______2.3.5 컨피규레이션 디스크립터
______2.3.6 인터페이스 디스크립터
______2.3.7 엔드포인트 디스크립터
______2.3.8 문자열 디스크립터
______2.3.9 디바이스 쿼리 디스크립터, 기타 속도 컨피규레이션 디스크립터
___2.4 리퀘스트
______2.4.1 GET_STATUS
______2.4.2 CLEAR_FEATURE
______2.4.3 SET_FEATURE
______2.4.4 SET_ADDRESS
______2.4.5 GET_DESCRIPTOR
______2.4.6 GET_CONFIGURATION
______2.4.7 SET_CONFIGURATION
______2.4.8 GET_INTERFACE
______2.4.9 SET_INTERFACE
______2.4.10 클래스 리퀘스트와 벤더 리퀘스트
___2.5 USB 디바이스로서의 동작
___2.6 대용량 저장 장치 클래스
______2.6.1 대용량 저장 장치 클래스의 개요
______2.6.2 CB/CBI 프로토콜
______2.6.3 벌크 전용 프로토콜
______2.6.4 디스크 접근
______2.6.5 SCSI 규격의 개요
___2.7 정리

3장 KMDF 디바이스 드라이버 개발
___3.1 KMDF 개요
______3.1.1 공통 부분의 라이브러리화
______3.1.2 KMDF의 기본 구성
______3.1.3 주요 구조체(오브젝트)
___3.2 KMDF 입문
______3.2.1 KMDF 기본 코드
______3.2.2 KMDF용 INF 파일 작성
______3.2.3 KMDF 드라이버 작성
______3.2.4 KMDF 드라이버 빌드와 실습
______3.2.5 플러그앤플레이와 전원 관리
___3.3 KMDF 드라이버의 기본 오브젝트
______3.3.1 WDF_OBJECT_ATTRIBUTES 구조체
______3.3.2 WDFQUEUE 오브젝트
______3.3.3 WDFREQUEST 오브젝트
______3.3.4 WDFFILEOBJECT 오브젝트
______3.3.5 WDFMEMORY 오브젝트
___3.4 KMDF 드라이버 개발의 기본
______3.4.1 애플리케이션에서 접근
______3.4.2 데이터 읽기/쓰기
______3.4.3 디바이스 제어
___3.5 윈도우의 USB 드라이버 개요
______3.5.1 USB 호스트 드라이버의 구조
______3.5.2 KMDF의 USB 기본 처리
___3.6 USB 디바이스의 초기화와 종료
______3.6.1 KMDF의 USB 초기화, 종료 처리
______3.6.2 컨피규레이션 디스크립터 얻기
______3.6.3 WDFUSBPIPE 오브젝트 얻기
______3.6.4 초기화와 종료 처리 코드
___3.7 USB 디바이스 제어
______3.7.1 디바이스 드라이버의 사양
______3.7.2 DeviceIoControl의 제어 코드 정의
______3.7.3 컨피규레이션 디스크립터 얻기
______3.7.4 컨피규레이션 디스크립터 확인
___3.8 클래스 리퀘스트 발행
______3.8.1 클래스 리퀘스트 발행 순서
______3.8.2 클래스 리퀘스트 발행 코드
___3.9 벌크 전송 처리
______3.9.1 벌크 전송 처리 구현 방법
______3.9.2 벌크 전송 구현
___3.10 SCSI 명령어 처리
______3.10.1 SCSI 명령어 발행
______3.10.2 INQUIRY 처리
______3.10.3 SCSI 명령어 발행 실습
___3.11 미디어 용량 측정
______3.11.1 READ_CAPACITY 처리
______3.11.2 파이프 리셋 처리
______3.11.3 REQUEST_SENSE 처리
___3.12 미디어 리더 프로그램
______3.12.1 MBR
______3.12.2 READ10 명령어로 읽기
______3.12.3 MBR 읽기 실습
___3.13 정리

4장 UMDF 디바이스 드라이버 개발
___4.1 UMDF 드라이버의 개요
______4.1.1 UMDF의 개념
______4.1.2 UMDF의 디바이스 제어 처리 흐름
______4.1.3 UMDF 드라이버 개발을 위한 준비
___4.2 DLL 개발과 설치
______4.2.1 UMDF를 설치하기 위한 INF 파일
______4.2.2 UMDF 드라이버가 DLL인 이유
______4.2.3 DLL 필수 구현 함수
______4.2.4 디버그를 위한 WPP
______4.2.5 UMDF 드라이버 스켈톤 코드
______4.2.6 UMDF 빌드 필수 파일
______4.2.7 DLL 설치
___4.3 UCOM의 기본 동작과 IDriverEntry 인터페이스
______4.3.1 COM 개론
______4.3.2 C++에서의 Interface 정의
______4.3.3 IUnknown 구현
______4.3.4 IClassFactory 구현
______4.3.5 MIDriverEntry부터 디바이스 클래스의 임시 구현
______4.3.6 COM 모듈의 동작 실습
___4.4 플러그앤플레이와 전원 관리
______4.4.1 UMDF 디바이스 드라이버의 기본 구조
______4.4.2 IPnpCallbackHardware 인터페이스
______4.4.3 IPnpCallback 인터페이스
______4.4.4 디바이스 클래스 구현
______4.4.5 디바이스 클래스 생성 코드
______4.4.6 플러그앤플레이와 전원 관리 실습
___4.5 UCOM 드라이버의 기본 제어
______4.5.1 프레임워크(I/O 관리자)의 리퀘스트에 응답
______4.5.2 애플리케이션의 접근부터 큐 클래스 구현
______4.5.3 디바이스 읽기/쓰기부터 IWDFMemory 인터페이스
______4.5.4 DeviceIoControl 함수로 제어
___4.6 디바이스의 제어 처리
______4.6.1 IWDFIoRequest와 IWDFIoTarget
______4.6.2 IWDFIoRequest::Send 함수로 디바이스 제어
______4.6.3 새 리퀘스트를 작성해 제어
___4.7 USB 디바이스 초기화
______4.7.1 UMDF의 USB 기본 처리
______4.7.2 UMDF 디바이스 드라이버의 USB 초기화
______4.7.3 초기화 처리를 위한 준비
______4.7.4 IWDFUsbTargetDevice 얻기
______4.7.5 IWDFUsbInterface 얻기
______4.7.6 IWDFUsbTargetPipe 얻기
______4.7.7 SetPipePolicy로 통신 설정
______4.7.8 USB 디바이스의 초기화와 종료 처리
______4.7.9 USB 디바이스의 초기화와 종료 처리 구현
___4.8 디바이스 드라이버의 사양
___4.9 컨피규레이션 디스크립터 얻기
______4.9.1 컨피규레이션 디스크립터를 얻는 코드
______4.9.2 OnDeviceIoControl 함수 수정
______4.9.3 컨피규레이션 디스크립터 확인
___4.10 클래스 리퀘스트 발행 처리
______4.10.1 제어 전송 처리 구현
______4.10.2 클래스 리퀘스트 발행 처리 구현
______4.10.3 OnDeviceIoControl 함수 수정
___4.11 벌크 전송 처리
______4.11.1 IRequestCallbackRequestCompletion 인터페이스 상속
______4.11.2 ForwardFormattedRequest와 OnCompletion 함수의 구현
______4.11.3 OnRead와 OnWrite 함수의 구현
______4.11.4 드라이버 빌드와 검증용 윈도우 PC에 복사
___4.12 SCSI 명령어 처리
______4.12.1 INQUIRY 명령어 확인
______4.12.2 READ_CAPACITY 명령어 확인
___4.13 미디어 리더 프로그램
___4.14 정리

부록
A 릴리즈 버전 드라이버 작성
B 64비트 PC에서 동작
___B.1 INF 파일
___B.2 64비트 환경에서 실행하는 방법
C 서명(KMCS)
D GUID 생성
E Driver Install Frameworks API 이용
F 참고 문헌

출판사 서평

윈도우 환경에서 WDM은 물론, 그 후속 드라이버 모델인 KMDF와 UMDF를 이용해 USB 저장 장치 드라이버를 작성하는 방법에 대해 설명한다. 또한 동일한 기능의 드라이버를 각각의 드라이버 모델로 재구성하여 설명하므로 드라이버 모델 간의 개발 방법에 대한 차이를 더 잘 이해할 수 있을 것이다. USB 디바이스 드라이버에 처음 입문하거나 기존 USB 드라이버를 최신 드라이버 모델로 재구성해야 하는 개발자라면 반드시 읽어야 할 필독서다.

이 책의 구성
■ 1장에서는 오래 전부터 있었던 윈도우 표준 드라이버 모델인 WDM을 사... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

  • 이남호
    23,310원
  • 윤인성
    16,200원
  • 이남호
    23,310원
  • 박응용
    16,920원
  • 길벗R&D
    18,900원
더보기+

이 분야의 신간

  • 로버트 C. 마틴
    26,100원
  • 김민준
    37,800원
  • 홍태성
    17,100원
  • 한정희
    18,000원
  • 이현열
    22,500원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품