2025-04-27 07:49:33 -04:00

41 lines
804 B
C

typedef VOID (*BUFFER_FREE_ROUTINE)(
struct _IRCOMM_BUFFER *Buffer
);
typedef struct _IRCOMM_BUFFER {
SINGLE_LIST_ENTRY ListEntry;
PVOID BufferPool;
BUFFER_FREE_ROUTINE FreeBuffer;
PVOID Context;
PVOID Context2;
PMDL Mdl;
PIRP Irp;
ULONG BufferLength;
UCHAR Data[1];
} IRCOMM_BUFFER, *PIRCOMM_BUFFER;
typedef PVOID BUFFER_POOL_HANDLE;
BUFFER_POOL_HANDLE
CreateBufferPool(
ULONG StackDepth,
ULONG BufferSize,
ULONG BufferCount
);
VOID
FreeBufferPool(
BUFFER_POOL_HANDLE Handle
);
PIRCOMM_BUFFER
GetBuffer(
BUFFER_POOL_HANDLE Handle
);