WdmApi

WDM API #

-- 김도집 2025/01/12T03:52:16

Contents

1 WDM API
1.1 개요
1.2 pragma
1.3 드라이버 등록
1.4 플러그 앤 플레이 (?PnP)
1.5 디스패치 (Dispatch)
1.6 메모리
1.6.1 ?ExFreePool
1.7 동기화
1.7.1 스핀락
1.7.1.1 ?KeInitializeSpinLock

1.1 개요 #

그냥 정리 차원에서 작성하는 것이다. 분류 기준도 없으며, 자세한 설명도 없으며, 그냥 임의대로 정리한 것이다.

1.2 pragma #

디바이스 드라이버 소스를 보다보면 #pragma로 시작하는 것들이 있다.

사용 예는 다음과 같다.
#pragma code_seg{"INIT") // start INIT section
 ...
#pragma code_seg() // end INIT section

간략하게 정리하면 다음과 같다.
pragma설명
code_seg("INIT")INIT 섹션을 시작한다.
code_seg()INIT 섹션이 끝났다.
code_seg("PAGE")PAGE 섹션을 시작한다.
code_seg()PAGE 섹션이 끝났다.

1.3 드라이버 등록 #

1.4 플러그 앤 플레이 (?PnP) #

1.5 디스패치 (Dispatch) #

1.6 메모리 #

1.6.1 ?ExFreePool #

if (Buffer != NULL)
  ExFreePool(Buffer);

1.7 동기화 #

1.7.1 스핀락 #

1.7.1.1 ?KeInitializeSpinLock #

KeInitializeSpinLock(&BufferLock);
Retrieved from http://fst.or.kr/wiki/wiki.php/WdmApi
last modified 2005-10-18 09:42:02