본문 바로가기

Language & API/WINDOWS DRIVER

[함수]IoGetCurrentIrpStackLocation

1
2
3
4
5
6
FORCEINLINE
__drv_aliasesMem
PIO_STACK_LOCATION
IoGetCurrentIrpStackLocation(
    _In_ PIRP Irp
)
cs


[파라미터]
Irp -> 디바이스 스택 정보를 가지고 있는 IRP의 포인터다. 


[반환값]
IRP의 IO_STACK_LOCATION 중 가장 최근(최상단, TOP)에 위치해 있는 구조체를 반환한다. 

[함수설명]
현재의 드라이브가 가지는 다바이스 스택의 가장 최근 위치를 구해주는 함수이다. 

[호출할때 요구되는 IRQL]
IRQL == ANY IRQL


아래 예제이다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
NTSTATUS
SAMPLE1_PnpDispatch
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
 
    PIO_STACK_LOCATION pStack;
 
    pStack = IoGetCurrentIrpStackLocation(Irp);
 
}
 
cs


'Language & API > WINDOWS DRIVER' 카테고리의 다른 글

[함수]IoCreateSymbolicLink  (0) 2016.07.25
[함수]IoSetDeviceInterfaceState  (0) 2016.07.25
[함수]IoRegisterDeviceInterface  (0) 2016.07.25
[자료구조]DEVICE_OBJECT  (0) 2016.07.25
[함수]IoAttachDeviceToDeviceStack  (0) 2016.07.25