2012-01-19 6 views
8

DaemonTools : 실제 장치 (이전 예의 DVD-ROM)로 시스템에 표시되지만 대신 파일에서 데이터를 읽는 소프트웨어를 작성하려고합니다. 내 요구 사항은 DVD-ROM에만 국한되지 않습니다. 첫 번째 목표는 Windows 용 조이스틱/게임 패드입니다.가상 장치 코딩 시작점

저는 웹 개발자이기 때문에 어디서 그런 프로젝트를 시작할 수 있는지 잘 모릅니다. 나는 그것이 C/C++로 작성되어야한다고 믿지만 그 외에는 어디에서 시작해야할지 모른다.

누구나 이와 같은 시도를했는데 시작 팁을 줄 수 있습니까?

+0

게임 패드를 어떻게 사용하겠습니까? 게임 응용 프로그램 등을로드 한 후에는 더 이상 가상 (이해할 수있는대로) 게임 세트로 포커스 세트 나 제어 기능을 사용할 수 없습니다. –

+0

lan/internet/TCP를 통해 다른 컴퓨터에서 "게임 패드"를 제어하면 어떨까요? –

+0

이론적으로 가능해야하지만 가상 솔루션을 개발하는 주된 이유는 제품 등의 하드웨어 비용을 절약하는 것입니다. 그러나이 경우 게임 패드를 살 필요는 없지만 실행할 다른 PC를 구입해야합니다 이미 가지고 있지 않다면 켜십시오. 나는 이것이 단지 프로젝트 일 뿐이라고 생각하지만, 코딩을하기 전에 구현이 어떻게 작동 할 것인지 생각할 가치가있다.) –

답변

8

대부분의 드라이버는 C 또는 C++로 작성되었으므로 해당 언어를 모르는 경우 시작하기 전에 익숙해 져야합니다. Windows 프로그래밍은 초보자에게 혼란을 줄 수있는 많은 흥미로운 바로 가기를 사용합니다. 예를 들어 PVOIDs (typedef void* PVOID) 및 LPVOID (typedef void* far LPVOD;)입니다. 당신은 많은 것들을 사용할 것이기 때문에 구조뿐만 아니라 개념으로서의 포인터에 만족해야 할 것입니다. 나는 C/C++을 수행하는 Windows 스타일에 익숙해지기위한 연습으로 정말 간단한 win32 응용 프로그램을 작성하도록 제안합니다.

다음 호출 포트는 Windows Driver Kit을 탐색하는 것입니다. 구체적으로 말하면 Windows 용 드라이버를 빌드해야합니다. 이 단계에서 조언 할 수있는 능력은 실제로하고있는 일과 사용 가능한 하드웨어 또는 하드웨어를 실제로 사용하고 있는지 여부에 달려 있습니다. 하드웨어를 구동하는 방법을 알아야하며 거기에서 드라이버를 작성하는 적절한 방법을 선택해야합니다. 달성해야 할 항목에 따라 몇 가지 다른 유형의 드라이버가 있으며 플러그를 꽂을 수도 있습니다 이 중 하나.

Windows 드라이버 키트에는 가상 토스터를 구현하는 드라이버를 포함하여 상당히 많은 샘플이 포함되어 있습니다. 이들은 출발점을 제공해야합니다.

가상 컴퓨터에서이 테스트를 수행하는 것이 좋습니다. 드라이버가 성공적으로 빌드되었지만 런타임 오류가 발생하면 커널 모드에있는 경우 결과가 완전히 충돌 할 수 있습니다. 따라서 가상 시스템이 손상된 경우 가상 시스템을 되돌릴 수 있고 시스템 재시작을 기다릴 필요가 없으므로 약간의 고통을 덜 수 있습니다. 또한 가상 직렬 케이블을 사용하면 디버깅이 쉬워집니다.


꽤 큰 사업이다, 그래서 당신이 시작하기 전에, 좀 더 철저하게 Windows 개발을 연구 것이다 - 당신이 먼저 Windows API를 사용하여 할 수없는 확인, 다음 사용자 모드를 보라 드라이버 프레임 워크, 마침내 그리고 필요할 경우에만 커널 수준의 내용을 살펴보십시오.

+0

+1 이와 같은 질문에 대한 많은 대답은 "하지 않는다". 이 일을하는 것이 좋지 않을 수도 있지만 귀하의 대답은 매우 유익했습니다. –