90 lines
1.5 KiB
C
90 lines
1.5 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
context.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains the context handling routines
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Neal Christiansen (nealch) 08-Jan-2001
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _CONTEXT_H_
|
||
|
#define _CONTEXT_H_
|
||
|
|
||
|
VOID
|
||
|
SrInitContextCtrl (
|
||
|
IN PSR_DEVICE_EXTENSION pExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrCleanupContextCtrl(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrDeleteAllContexts(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrDeleteContext(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension,
|
||
|
IN PSR_STREAM_CONTEXT pFileContext
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrLinkContext(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension,
|
||
|
IN PFILE_OBJECT pFileObject,
|
||
|
IN OUT PSR_STREAM_CONTEXT *ppFileContext
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
SrCreateContext (
|
||
|
IN PSR_DEVICE_EXTENSION pExtension,
|
||
|
IN PFILE_OBJECT pFileObject,
|
||
|
IN SR_EVENT_TYPE EventType,
|
||
|
IN USHORT FileAttributes,
|
||
|
OUT PSR_STREAM_CONTEXT *pRetContext
|
||
|
);
|
||
|
|
||
|
#define SrFreeContext( pCtx ) \
|
||
|
(ASSERT((pCtx)->UseCount == 0), \
|
||
|
ExFreePool( (pCtx) ))
|
||
|
|
||
|
NTSTATUS
|
||
|
SrGetContext(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension,
|
||
|
IN PFILE_OBJECT pFileObject,
|
||
|
IN SR_EVENT_TYPE EventType,
|
||
|
OUT PSR_STREAM_CONTEXT *pRetContext
|
||
|
);
|
||
|
|
||
|
PSR_STREAM_CONTEXT
|
||
|
SrFindExistingContext(
|
||
|
IN PSR_DEVICE_EXTENSION pExtension,
|
||
|
IN PFILE_OBJECT pFileObject
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrMakeContextUninteresting (
|
||
|
IN PSR_STREAM_CONTEXT pFileContext
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SrReleaseContext(
|
||
|
IN PSR_STREAM_CONTEXT pFileContext
|
||
|
);
|
||
|
|
||
|
#endif
|