안녕하세요
winxp는 winnt계열의 운영체제이고요 winme는 win95계열 운영체제 입니다.
winnt계열은 드라이버 없이 하드웨어를 '건드릴수'없습니다.
win95에서 outportb같은 함수로 프린트포트등을 제어할 수 있지만 winnt계열에선 안되죠.
io제어에 대한 권한은 cpu의 eflags 레지스터 안의 iopl값이 0이면 커널만 건드릴수 있고요 3이면 유저도 건드릴수 있습니다.
nt는 0으로 세팅되어 있는거죠.
이걸 3으로 바꿀수도 있는데 바꾸는 작업 역시 커널만 할수 있습니다.
물론 커널모드 프로그램으로 바꿔야겠죠.
이건 윈도우api수준의 문제가 아니라 ddk,어셈블리수준의 문제입니다.
저도 이쪽은 잘 몰라서 설명을 못해드리겠네요.
대신 참고서적을 알려드릴게요.
"windows 구조와 원리 그리고 codes", 정덕영저, 가남사
추신> 전 가남사와 아무런 관련이 없습니다
질문... 님이 쓰신 글 :
: HID 클래스를 이용한 USB 제어에서...
:
: http://www.soft-gems.net/Controls.php 이곳에서
: 델파이 와 빌더 HID 컴포넌트를 받을 수 있습니다.
:
: 설치하고 테스트 해보시면...
: USB 마우스가 있으시다면 데이터가 들어오는 것을 보시수있습니다.
:
: .... 쪕....
:
: 그런데 동작이 XP... 그이상에선 USB의 Pnp는 확인이 되는데 데이타 입력이 안들어 오더군요
:
: 윈도우 Me에서는 데이터 입력이 아주 잘 들어오는데...
:
: 헉... 아무래도 HID클래스나 함수가 어떻해 된것같은데... 쪕.. 잘 몰라서...
:
: USB를 사용하려면 유용하실겁니다.
:
: XP... 나 그 이상에서 동작이 안되는 이유가 뭘까요?
:
: 위 URL 을 접속해서 설치 하시구 테스트 해보세욥 윈도우 ME에서는 아주 잘 됩니다 ^^;
|