메뉴 건너뛰기

그외 개발정보


안녕하세요 인터럽트 루틴에 대한 질문이 있어서...
PCI 시리얼통신 카드를 만들어서...
드라이버를 작성하고 있는데...
StartIoRoutine( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )
{
.....................
KeSynchronizeExecution( DeviceExtension->InterruptObject,
(PKSYNCHRONIZE_ROUTINE)XxTransmit,
DeviceExtension ));
....................
}

XxTransmit 로 하드웨어 인터럽트를 발생시켜
인터럽트 서비스 루틴인
BOOLEAN OnInterrupt(PKINTERRUPT InterruptObject, PDEVICE_EXTENSION pdx)
{
}
을 실행하려고 합니다.

이때 XxTransmit 에서 하드웨어 인터럽트가 발생되지 않으면
인터럽트 서비스 루틴에 들어 갈 수 없는건가요??

인터럽트 서비스 루틴은 하드웨어 인터럽트가 발생해야지 실행되는 건가요??

답변 부탁드립니다.

제대로 이해가 되지 않아서...




  • >안녕하세요.
    >
    >네, 드라이버의 인터럽트 핸들러 루틴은 하드웨어 인터럽트와 제대로 연결되었을 때 호출 됩니다.
    >하드웨어에서 강제로 인터럽트를 띄워 드라이버의 인터럽트 서비스 루틴의 코드가 동작하는지 확인해 보실수도 있습니다.
    >
    >도움이 되었길 바라겠습니다.
    >
    >>안녕하세요 인터럽트 루틴에 대한 질문이 있어서...
    >>PCI 시리얼통신 카드를 만들어서...
    >>드라이버를 작성하고 있는데...
    >>StartIoRoutine( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )
    >>{
    >>.....................
    >>KeSynchronizeExecution( DeviceExtension->InterruptObject,
    >>(PKSYNCHRONIZE_ROUTINE)XxTransmit,
    >>DeviceExtension ));
    >>....................
    >>}
    >>
    >>XxTransmit 로 하드웨어 인터럽트를 발생시켜
    >>인터럽트 서비스 루틴인
    >>BOOLEAN OnInterrupt(PKINTERRUPT InterruptObject, PDEVICE_EXTENSION pdx)
    >>{
    >>}
    >>을 실행하려고 합니다.
    >>
    >>이때 XxTransmit 에서 하드웨어 인터럽트가 발생되지 않으면
    >>인터럽트 서비스 루틴에 들어 갈 수 없는건가요??
    >>
    >>인터럽트 서비스 루틴은 하드웨어 인터럽트가 발생해야지 실행되는 건가요??
    >>
    >>답변 부탁드립니다.
    >>
    >>제대로 이해가 되지 않아서...
    >>
    >
    >

  • profile
    안녕하세요.

    네, 드라이버의 인터럽트 핸들러 루틴은 하드웨어 인터럽트와 제대로 연결되었을 때 호출 됩니다.
    하드웨어에서 강제로 인터럽트를 띄워 드라이버의 인터럽트 서비스 루틴의 코드가 동작하는지 확인해 보실수도 있습니다.

    도움이 되었길 바라겠습니다.

    >안녕하세요 인터럽트 루틴에 대한 질문이 있어서...
    >PCI 시리얼통신 카드를 만들어서...
    >드라이버를 작성하고 있는데...
    >StartIoRoutine( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )
    >{
    >.....................
    >KeSynchronizeExecution( DeviceExtension->InterruptObject,
    >(PKSYNCHRONIZE_ROUTINE)XxTransmit,
    >DeviceExtension ));
    >....................
    >}
    >
    >XxTransmit 로 하드웨어 인터럽트를 발생시켜
    >인터럽트 서비스 루틴인
    >BOOLEAN OnInterrupt(PKINTERRUPT InterruptObject, PDEVICE_EXTENSION pdx)
    >{
    >}
    >을 실행하려고 합니다.
    >
    >이때 XxTransmit 에서 하드웨어 인터럽트가 발생되지 않으면
    >인터럽트 서비스 루틴에 들어 갈 수 없는건가요??
    >
    >인터럽트 서비스 루틴은 하드웨어 인터럽트가 발생해야지 실행되는 건가요??
    >
    >답변 부탁드립니다.
    >
    >제대로 이해가 되지 않아서...
    >

제목 날짜
[TIP] NEXUS(넥서스) 5x 루팅 방법입니다. 2016.01.05
mouclass 접근.. 3 2010.03.13
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
"pc용 dos의 설계 및 구현" 책의 diskette 화일을 구합니다. 1 2009.11.10
232통신 데이타 질문 1 2003.09.08
ado 연결.. 1 2005.11.19
ado 연결과 저장 1 2005.12.05
ado사용 mdb에 저장 2 2005.12.12
CD-ROM WRITE에관한 질문입니다.. 1 2006.12.29
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
DeviceIoControl 사용법 1 2003.11.05
Directshow 지원하는 드라이버 개발관련에 대해서... 1 2004.11.25
DMA관련 질문... 1 2003.11.05
GSector 플로피->하드로 쓰기가 가능한가요? 1 2007.01.26
GUNClient Download Control 질문 1 2007.06.08
gunshadow 처럼 1 2007.01.26
https 패킷 디버깅 5 2012.04.30
inf 파일을 이용한 드라이버 자동 설치 2 2003.09.23
keyboard filter에 쓰기 기능 3 2003.09.06
mouclass 접근.. 3 2010.03.13
OS 개발관련 사이트 링크 모음 2003.03.14
os를 공부하고 있습니다. 1 2009.12.14
PCI to ISA Bridge를 사용한 경우 드라이버는? 1 2002.11.19
태그 목록
위로