메뉴 건너뛰기

그외 개발정보


안녕하세요 인터럽트 루틴에 대한 질문이 있어서...
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 에서 하드웨어 인터럽트가 발생되지 않으면
    >인터럽트 서비스 루틴에 들어 갈 수 없는건가요??
    >
    >인터럽트 서비스 루틴은 하드웨어 인터럽트가 발생해야지 실행되는 건가요??
    >
    >답변 부탁드립니다.
    >
    >제대로 이해가 되지 않아서...
    >

제목 날짜
mouclass 접근.. 3 2010.03.13
[TIP] NEXUS(넥서스) 5x 루팅 방법입니다. 2016.01.05
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
간만에 질문하나 드립니다... 1 2005.11.01
드라이버 설치시 에러.... 1 2005.11.14
ado 연결.. 1 2005.11.19
PLX칩의 로컬어드레스 라인으로 칩을 Enable하는 방법 1 2005.12.01
ado 연결과 저장 1 2005.12.05
ado사용 mdb에 저장 2 2005.12.12
인터럽트 루틴에 대한 문의 2 2006.01.12
인터럽트에 대한 질문 하나더 드립니다. 1 2006.01.25
usb 정보 얻기 1 2006.03.31
프로세스 숨기기 4 2006.06.09
필터 드라이버 질문입니다. 1 2006.07.12
강좌를 보다가 파일이 필요해서요.. 1 2006.07.14
ㅜㅜ.. os 커널 만들기 질문이요.. 1 2006.07.16
단순한 질문을 드리는 것 같아 송구하지만요.... 1 2006.07.17
한 가지만 더 올리겠습니다. 1 2006.07.18
감사합니다. 1 2006.07.18
민망 민망 .. ^^;;; 또 질문이요.. 1 2006.07.19
마우스 필터 드라이버관련 질문입니다. 2 2006.07.19
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
전에 질문드렸던 내용에 대한 자답입니다. 1 2006.07.25
태그 목록
위로