![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cKernel.h>
Public Member Functions | |
NTSTATUS | get_IoStatus () const |
SIZE_T | get_IoInformationSize () const |
PVOID | get_AssocSystemBuffer () const |
void | FreeIrp () |
void | RemoveIrpFromQueue () |
PDRIVER_CANCEL | SetCancelRoutine (PDRIVER_CANCEL pCancelRoutine=nullptr) |
BOOLEAN | CancelIrp () |
void | MarkIrpPending () |
void | CompleteRequest (CCHAR cPriorityBoost=IO_NO_INCREMENT) |
void | CompleteRequestStatus (NTSTATUS lStatus=STATUS_SUCCESS, ULONG_PTR uInformation=0, CCHAR cPriorityBoost=IO_NO_INCREMENT) |
NTSTATUS | CallDriver (IN PDEVICE_OBJECT pDeviceObject) |
PIO_STACK_LOCATION | get_StackLocation () const |
void | SkipStackLocation () |
NTSTATUS | SkipStackLocation (PDEVICE_OBJECT pLowerDeviceObject) |
PIO_STACK_LOCATION | get_NextStackLocation () const |
void | CopyStackLocationToNext () |
void | SetNextStackLocation () |
void | SetCompletionRoutine (PIO_COMPLETION_ROUTINE pRoutine, void *pCompletionContext, UCHAR uControlFlags) |
void | SetCompletionRoutine (PIO_COMPLETION_ROUTINE pRoutine, void *pCompletionContext, bool bInvokeOnSuccess, bool bInvokeOnError, bool bInvokeOnCancel) |
Overload _IRP Add functional methods to the IRP can come from IoAllocateIrp()
|
inline |
|
inline |
|
inline |
PriorityBoost = IO_SERIAL_INCREMENT, etc IofCompleteRequest
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
ULONG_PTR being used as a size. (can sometimes be a pointer)
|
inline |
|
inline |
|
inline |
|
inline |
'PendingReturned' flag ? and 'IoStatus.Status' = STATUS_PENDING ?
|
inline |
|
inline |
|
inline |
Macro to use SL_INVOKE_ON_SUCCESS flags
|
inline |
similar to the IoSetCompletionRoutine macro uControlFlags = SL_INVOKE_ON_SUCCESS SL_INVOKE_ON_ERROR SL_INVOKE_ON_CANCEL
|
inline |
|
inline |
|
inline |
skip this and pass to the next device in the stack.