Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
lowio.h
Abstract:
This module defines all of the structures and prototypes for Low IO.
Author:
Joe Linn (JoeLinn) 8-17-94
Revision History:
--*/
#ifndef _RXLOWIO_
#define _RXLOWIO_
#include "mrx.h" // mini redirector related definitions ....
#ifndef WIN9X
extern FAST_MUTEX RxLowIoPagingIoSyncMutex; #endif
#define RxLowIoIsMdlLocked(MDL) ( \
RxMdlIsLocked((MDL)) || RxMdlSourceIsNonPaged((MDL)) \ )
#define RxLowIoIsBufferLocked(LOWIOCONTEXT) \
( ((LOWIOCONTEXT)->Operation > LOWIO_OP_WRITE ) || \ ((LOWIOCONTEXT)->ParamsFor.ReadWrite.Buffer == NULL) || \ ( \ ((LOWIOCONTEXT)->ParamsFor.ReadWrite.Buffer != NULL) && \ RxLowIoIsMdlLocked(((LOWIOCONTEXT)->ParamsFor.ReadWrite.Buffer)) \ ) \ )
typedef struct _LOWIO_PER_FCB_INFO { LIST_ENTRY PagingIoReadsOutstanding; LIST_ENTRY PagingIoWritesOutstanding; } LOWIO_PER_FCB_INFO, *PLOWIO_PER_FCB_INFO;
PVOID NTAPI RxLowIoGetBufferAddress ( IN PRX_CONTEXT RxContext );
NTSTATUS NTAPI RxLowIoPopulateFsctlInfo ( IN PRX_CONTEXT RxContext, IN PIRP Irp );
NTSTATUS NTAPI RxLowIoSubmit ( IN PRX_CONTEXT RxContext, IN PIRP Irp, IN PFCB Fcb, IN PLOWIO_COMPLETION_ROUTINE CompletionRoutine );
NTSTATUS NTAPI RxLowIoCompletion ( PRX_CONTEXT RxContext );
VOID NTAPI RxInitializeLowIoContext ( IN PRX_CONTEXT RxContext, IN ULONG Operation, OUT PLOWIO_CONTEXT LowIoContext );
VOID RxInitializeLowIoPerFcbInfo ( PLOWIO_PER_FCB_INFO LowIoPerFcbInfo );
#endif // _RXLOWIO_
|