FSTWikiDiff for 1.1 WdmApi
Login:
Password:
Join
E D R S I H P RSS
FrontPage|FindPage|TitleIndex|RecentChanges

Difference between r1.1 and the current

@@ -1,6 +1,41 @@
= WDM API =
-- [김도집] [[DateTime(2005-10-18T00:30:2918)]]

[[TableOfContents]]

== 개요 == 
그냥 정리 차원에서 작성하는 것이다. 
분류 기준도 없으며, 자세한 설명도 없으며, 그냥 임의대로 정리한 것이다. 
== 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 섹션이 끝났다.|| 
 
== 드라이버 등록 == 
== 플러그 앤 플레이 (PnP) == 
== 디스패치 (Dispatch) == 
== 메모리 == 
=== ExFreePool === 
{{{ 
if (Buffer != NULL) 
ExFreePool(Buffer); 
}}} 
== 동기화 == 
=== 스핀락 === 
==== KeInitializeSpinLock ==== 
{{{ 
KeInitializeSpinLock(&BufferLock); 
}}}



WDM API #

-- 김도집 2025/01/12T06:51:56

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);

last modified 2005-10-18 09:42:02
ShowPage|FindPage|DeletePage|LikePages Valid XHTML 1.0! Valid CSS! powered by MoniWiki
0.0229 sec