28 #undef DECLSPEC_IMPORT 29 #define DECLSPEC_IMPORT 230 Irp->Tail.Overlay.DriverContext[3] =
Csq;
294 Irp->Tail.Overlay.DriverContext[3] = 0;
370 Irp->Tail.Overlay.DriverContext[3] = 0;
431 Irp->Tail.Overlay.DriverContext[3] = 0;
_In_ PIO_CSQ_INSERT_IRP CsqInsertIrp
PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
#define _IRQL_uses_cancel_
IO_CSQ_REMOVE_IRP * PIO_CSQ_REMOVE_IRP
NTSTATUS NTAPI IoCsqInitializeEx(_Out_ PIO_CSQ Csq, _In_ PIO_CSQ_INSERT_IRP_EX CsqInsertIrpEx, _In_ PIO_CSQ_REMOVE_IRP CsqRemoveIrp, _In_ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp, _In_ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock, _In_ PIO_CSQ_RELEASE_LOCK CsqReleaseLock, _In_ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp)
Set up a CSQ struct to initialize the queue (extended version)
IO_CSQ_ACQUIRE_LOCK * PIO_CSQ_ACQUIRE_LOCK
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK _In_ PIO_CSQ_RELEASE_LOCK CsqReleaseLock
IoSetCancelRoutine(Irp, CancelRoutine)
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS NTAPI IoCsqInsertIrpEx(_Inout_ PIO_CSQ Csq, _Inout_ PIRP Irp, _Out_opt_ PIO_CSQ_IRP_CONTEXT Context, _In_opt_ PVOID InsertContext)
Insert an IRP into the CSQ, with additional tracking context.
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp
IO_CSQ_PEEK_NEXT_IRP * PIO_CSQ_PEEK_NEXT_IRP
NTSTATUS NTAPI CsqInsertIrpEx(PIO_CSQ Csq, PIRP Irp, PVOID InsertContext)
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP CsqRemoveIrp
_In_ PIRP _In_ PVOID InsertContext
#define InterlockedExchangePointer(Target, Value)
#define IO_TYPE_CSQ_IRP_CONTEXT
PIRP NTAPI IoCsqRemoveNextIrp(_Inout_ PIO_CSQ Csq, _In_opt_ PVOID PeekContext)
IoCsqRemoveNextIrp - Removes the next IRP from the queue.
PIO_CSQ_REMOVE_IRP CsqRemoveIrp
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK _In_ PIO_CSQ_RELEASE_LOCK _In_ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
VOID NTAPI IoCsqInsertIrp(_Inout_ PIO_CSQ Csq, _Inout_ PIRP Irp, _Out_opt_ PIO_CSQ_IRP_CONTEXT Context)
Insert an IRP into the CSQ.
_Function_class_(DRIVER_CANCEL)
Cancel routine that is installed on any IRP that this library manages.
NTSTATUS NTAPI IoCsqInitialize(_Out_ PIO_CSQ Csq, _In_ PIO_CSQ_INSERT_IRP CsqInsertIrp, _In_ PIO_CSQ_REMOVE_IRP CsqRemoveIrp, _In_ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp, _In_ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock, _In_ PIO_CSQ_RELEASE_LOCK CsqReleaseLock, _In_ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp)
Set up a CSQ struct to initialize the queue.
PIO_CSQ_INSERT_IRP CsqInsertIrp
PIO_CSQ_RELEASE_LOCK CsqReleaseLock
IO_CSQ_INSERT_IRP * PIO_CSQ_INSERT_IRP
PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
VOID NTAPI IoReleaseCancelSpinLock(IN KIRQL Irql)
struct _IO_CSQ_IRP_CONTEXT * PIO_CSQ_IRP_CONTEXT
PIRP NTAPI IoCsqRemoveIrp(_Inout_ PIO_CSQ Csq, _Inout_ PIO_CSQ_IRP_CONTEXT Context)
Remove anb IRP from the queue.
IO_CSQ_RELEASE_LOCK * PIO_CSQ_RELEASE_LOCK
_In_opt_ PIRP _In_opt_ PVOID PeekContext
struct tagContext Context
IO_CSQ_INSERT_IRP_EX * PIO_CSQ_INSERT_IRP_EX
IO_CSQ_COMPLETE_CANCELED_IRP * PIO_CSQ_COMPLETE_CANCELED_IRP
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock