You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
804 B
40 lines
804 B
|
|
typedef VOID (*BUFFER_FREE_ROUTINE)(
|
|
struct _IRCOMM_BUFFER *Buffer
|
|
);
|
|
|
|
typedef struct _IRCOMM_BUFFER {
|
|
|
|
SLIST_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
|
|
);
|