[ros-diffs] [pschweitzer] 35664: Implemented FsRtlTeardownPerStreamContexts
pschweitzer at svn.reactos.org
pschweitzer at svn.reactos.org
Tue Aug 26 12:45:01 CEST 2008
Author: pschweitzer
Date: Tue Aug 26 05:45:00 2008
New Revision: 35664
URL: http://svn.reactos.org/svn/reactos?rev=35664&view=rev
Log:
Implemented FsRtlTeardownPerStreamContexts
Modified:
branches/pierre-fsd/ntoskrnl/fsrtl/filtrctx.c
Modified: branches/pierre-fsd/ntoskrnl/fsrtl/filtrctx.c
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/ntoskrnl/fsrtl/filtrctx.c?rev=35664&r1=35663&r2=35664&view=diff
==============================================================================
--- branches/pierre-fsd/ntoskrnl/fsrtl/filtrctx.c [iso-8859-1] (original)
+++ branches/pierre-fsd/ntoskrnl/fsrtl/filtrctx.c [iso-8859-1] Tue Aug 26 05:45:00 2008
@@ -3,7 +3,7 @@
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fsrtl/filtrctx.c
* PURPOSE: File Stream Filter Context support for File System Drivers
- * PROGRAMMERS: None.
+ * PROGRAMMERS: Pierre Schweitzer (heis_spiter at hotmail.com)
*/
/* INCLUDES ******************************************************************/
@@ -203,12 +203,24 @@
}
/*
- * @unimplemented
+ * @implemented
*/
VOID
NTAPI
FsRtlTeardownPerStreamContexts(IN PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader)
{
- KEBUGCHECK(0);
-}
-
+ PLIST_ENTRY NextEntry;
+ PFSRTL_PER_STREAM_CONTEXT PerStreamContext;
+
+ ExAcquireFastMutex(AdvancedHeader->FastMutex);
+ for (NextEntry = AdvancedHeader->FilterContexts.Flink;
+ NextEntry != &(AdvancedHeader->FilterContexts);
+ NextEntry = NextEntry->Flink)
+ {
+ PerStreamContext = CONTAINING_RECORD(NextEntry, FSRTL_PER_STREAM_CONTEXT, Links);
+ (*PerStreamContext->FreeCallback)(PerStreamContext);
+ }
+ InitializeListHead(&(AdvancedHeader->FilterContexts));
+ ExReleaseFastMutex(AdvancedHeader->FastMutex);
+}
+
More information about the Ros-diffs
mailing list