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
|