HyperDbg Debugger
Loading...
Searching...
No Matches
PlatformIo.c File Reference

Implementation of cross platform APIs for I/O Request Packet (IRP) management. More...

#include "pch.h"

Functions

PIO_STACK_LOCATION PlatformIoGetCurrentIrpStackLocation (PIRP Irp)
 Get the current I/O stack location from an IRP.
VOID PlatformIoCompleteRequest (PIRP Irp, CCHAR PriorityBoost)
 Complete an IRP and release it back to the I/O manager.
VOID PlatformIoMarkIrpPending (PIRP Irp)
 Mark the current IRP stack location as pending.

Detailed Description

Implementation of cross platform APIs for I/O Request Packet (IRP) management.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.19
Date
2026-05-09

Function Documentation

◆ PlatformIoCompleteRequest()

VOID PlatformIoCompleteRequest ( PIRP Irp,
CCHAR PriorityBoost )

Complete an IRP and release it back to the I/O manager.

Parameters
IrpPointer to the IRP to complete
PriorityBoostPriority boost value (e.g., IO_NO_INCREMENT)
Returns
VOID
51{
52#if defined(_WIN32) || defined(_WIN64)
53
54 IoCompleteRequest(Irp, PriorityBoost);
55
56#elif defined(__linux__)
57
58# error "Not yet implemented"
59
60#else
61
62# error "Unsupported platform"
63
64#endif
65}

◆ PlatformIoGetCurrentIrpStackLocation()

PIO_STACK_LOCATION PlatformIoGetCurrentIrpStackLocation ( PIRP Irp)

Get the current I/O stack location from an IRP.

Parameters
IrpPointer to the IRP (I/O Request Packet)
Returns
PIO_STACK_LOCATION Pointer to the current stack location
26{
27#if defined(_WIN32) || defined(_WIN64)
28
29 return IoGetCurrentIrpStackLocation(Irp);
30
31#elif defined(__linux__)
32
33# error "Not yet implemented"
34
35#else
36
37# error "Unsupported platform"
38
39#endif
40}

◆ PlatformIoMarkIrpPending()

VOID PlatformIoMarkIrpPending ( PIRP Irp)

Mark the current IRP stack location as pending.

Parameters
IrpPointer to the IRP to mark as pending
Returns
VOID
75{
76#if defined(_WIN32) || defined(_WIN64)
77
78 IoMarkIrpPending(Irp);
79
80#elif defined(__linux__)
81
82# error "Not yet implemented"
83
84#else
85
86# error "Unsupported platform"
87
88#endif
89}