diff --git a/src/WINNT/afsrdr/common/AFSRedirCommonDefines.h b/src/WINNT/afsrdr/common/AFSRedirCommonDefines.h index 26035a5981..4772fad573 100644 --- a/src/WINNT/afsrdr/common/AFSRedirCommonDefines.h +++ b/src/WINNT/afsrdr/common/AFSRedirCommonDefines.h @@ -202,7 +202,6 @@ static inline void AFS_ASSERT() { //#define AFS_VALIDATE_EXTENTS 0 static inline void AFSBreakPoint() { - AFSDumpTraceFilesFnc(); #if !defined(KD_DEBUGGER_ENABLED) #define KD_DEBUGGER_ENABLED DBG #endif // KD_DEBUGGER_ENABLED @@ -222,7 +221,7 @@ static inline void AFSBreakPoint() { #else static inline void AFSBreakPoint() { - AFSDumpTraceFilesFnc(); + NOTHING; } #define AFSPrint diff --git a/src/WINNT/afsrdr/kernel/fs/AFSCleanup.cpp b/src/WINNT/afsrdr/kernel/fs/AFSCleanup.cpp index 0402dacd44..96e7502bca 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSCleanup.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSCleanup.cpp @@ -102,12 +102,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSCleanup\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSClose.cpp b/src/WINNT/afsrdr/kernel/fs/AFSClose.cpp index 93ae387ea1..64e8168df3 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSClose.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSClose.cpp @@ -76,12 +76,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSClose\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSCommSupport.cpp b/src/WINNT/afsrdr/kernel/fs/AFSCommSupport.cpp index 0baab22237..b049a00b9b 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSCommSupport.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSCommSupport.cpp @@ -356,9 +356,11 @@ try_exit: FALSE); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation())) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation())) { + AFSDumpTraceFilesFnc(); + if( bReleasePool) { @@ -783,10 +785,12 @@ AFSProcessControlRequest( IN PIRP Irp) //try_exit: } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation())) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation())) { ntStatus = STATUS_UNSUCCESSFUL; + + AFSDumpTraceFilesFnc(); } if( bCompleteRequest) diff --git a/src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp b/src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp index 547c58be28..fde3259ec4 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp @@ -77,7 +77,7 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, @@ -85,6 +85,8 @@ try_exit: "EXCEPTION - AFSCreate\n"); ntStatus = STATUS_ACCESS_DENIED; + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSDevControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSDevControl.cpp index 31c29572fa..3c764d9260 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSDevControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSDevControl.cpp @@ -78,12 +78,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSDevControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSDirControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSDirControl.cpp index c4e2ff6dc3..0f9f9529a2 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSDirControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSDirControl.cpp @@ -107,12 +107,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSDirControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSEa.cpp b/src/WINNT/afsrdr/kernel/fs/AFSEa.cpp index adf90666ca..4c5a377053 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSEa.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSEa.cpp @@ -103,12 +103,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryEA\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -179,12 +181,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetEA\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSFSControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSFSControl.cpp index d2a486800e..f00eec0575 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSFSControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSFSControl.cpp @@ -96,12 +96,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSFSControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSFileInfo.cpp b/src/WINNT/afsrdr/kernel/fs/AFSFileInfo.cpp index cc3c950fda..9d3d921f36 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSFileInfo.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSFileInfo.cpp @@ -124,7 +124,7 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, @@ -132,6 +132,8 @@ try_exit: "EXCEPTION - AFSQueryFileInfo\n"); ntStatus = STATUS_UNSUCCESSFUL; + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -225,7 +227,7 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, @@ -233,6 +235,8 @@ try_exit: "EXCEPTION - AFSSetFileInfo\n"); ntStatus = STATUS_UNSUCCESSFUL; + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp index b92444f389..e5260775e5 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp @@ -51,7 +51,8 @@ // ULONG -AFSExceptionFilter( IN ULONG Code, +AFSExceptionFilter( IN CHAR *FunctionString, + IN ULONG Code, IN PEXCEPTION_POINTERS ExceptPtrs) { @@ -67,11 +68,13 @@ AFSExceptionFilter( IN ULONG Code, AFSDbgLogMsg( 0, 0, - "AFSExceptionFilter (Framework) - EXR %p CXR %p Code %08lX Address %p\n", + "AFSExceptionFilter (Framework) - EXR %p CXR %p Function %s Code %08lX Address %p Routine %p\n", ExceptRec, Context, + FunctionString, ExceptRec->ExceptionCode, - ExceptRec->ExceptionAddress); + ExceptRec->ExceptionAddress, + (void *)AFSExceptionFilter); DbgPrint("**** Exception Caught in AFS Redirector ****\n"); diff --git a/src/WINNT/afsrdr/kernel/fs/AFSInit.cpp b/src/WINNT/afsrdr/kernel/fs/AFSInit.cpp index 5ad3ba0985..83e22f79f7 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSInit.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSInit.cpp @@ -520,12 +520,14 @@ try_exit: ExDeleteResourceLite( &AFSDbgLogLock); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSRedirFs DriverEntry\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSInternalDevControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSInternalDevControl.cpp index 1853912e5b..d966f25606 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSInternalDevControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSInternalDevControl.cpp @@ -55,12 +55,14 @@ AFSInternalDevControl( IN PDEVICE_OBJECT DeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSInternalDevControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSLockControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSLockControl.cpp index c4a6184289..3de4fae28e 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSLockControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSLockControl.cpp @@ -93,13 +93,15 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( (ntStatus = GetExceptionCode()), GetExceptionInformation())) + __except( AFSExceptionFilter( __FUNCTION__, (ntStatus = GetExceptionCode()), GetExceptionInformation())) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSLockControl\n"); + AFSDumpTraceFilesFnc(); + AFSCompleteRequest( Irp, ntStatus); } diff --git a/src/WINNT/afsrdr/kernel/fs/AFSQuota.cpp b/src/WINNT/afsrdr/kernel/fs/AFSQuota.cpp index 423f200b60..7d139c50fe 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSQuota.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSQuota.cpp @@ -60,12 +60,14 @@ AFSQueryQuota( IN PDEVICE_OBJECT DeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryQuota\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -92,12 +94,14 @@ AFSSetQuota( IN PDEVICE_OBJECT DeviceObject, AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetQuota\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp b/src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp index 31d1e3442f..45ad910bd0 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp @@ -532,8 +532,11 @@ AFSInitializeRedirector( IN AFSRedirectorInitInfo *RedirInitInfo) pDevExt->Specific.RDR.CacheBaseAddress = MmGetSystemAddressForMdlSafe( pDevExt->Specific.RDR.CacheMdl, NormalPagePriority); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { + + AFSDumpTraceFilesFnc(); + IoFreeMdl( pDevExt->Specific.RDR.CacheMdl); pDevExt->Specific.RDR.CacheMdl = NULL; } diff --git a/src/WINNT/afsrdr/kernel/fs/AFSRead.cpp b/src/WINNT/afsrdr/kernel/fs/AFSRead.cpp index 877813eb10..6e987b4868 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSRead.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSRead.cpp @@ -101,9 +101,11 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { + AFSDumpTraceFilesFnc(); + ntStatus = STATUS_INSUFFICIENT_RESOURCES; } diff --git a/src/WINNT/afsrdr/kernel/fs/AFSSecurity.cpp b/src/WINNT/afsrdr/kernel/fs/AFSSecurity.cpp index b4a33e3103..d531aa9297 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSSecurity.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSSecurity.cpp @@ -120,12 +120,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetSecurity\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -213,12 +215,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQuerySecurity\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSShutdown.cpp b/src/WINNT/afsrdr/kernel/fs/AFSShutdown.cpp index 4fb66bf781..5e6fd9e77a 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSShutdown.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSShutdown.cpp @@ -78,12 +78,14 @@ AFSShutdown( IN PDEVICE_OBJECT DeviceObject, AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSShutdown\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSSystemControl.cpp b/src/WINNT/afsrdr/kernel/fs/AFSSystemControl.cpp index b80c2adc12..63817f3e94 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSSystemControl.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSSystemControl.cpp @@ -60,12 +60,14 @@ AFSSystemControl( IN PDEVICE_OBJECT DeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSystemControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSVolumeInfo.cpp b/src/WINNT/afsrdr/kernel/fs/AFSVolumeInfo.cpp index 9abf890ce2..485713d3cb 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSVolumeInfo.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSVolumeInfo.cpp @@ -97,12 +97,14 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryVolumeInfo\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -129,12 +131,14 @@ AFSSetVolumeInfo( IN PDEVICE_OBJECT DeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetVolumeInfo\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/AFSWrite.cpp b/src/WINNT/afsrdr/kernel/fs/AFSWrite.cpp index d2cfeadb92..342058765c 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSWrite.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSWrite.cpp @@ -105,10 +105,12 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { ntStatus = STATUS_INSUFFICIENT_RESOURCES; + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h b/src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h index 75300b54b6..5ae8604f8b 100644 --- a/src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h +++ b/src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h @@ -400,7 +400,8 @@ AFSSetQuota( IN PDEVICE_OBJECT DeviceObject, // ULONG -AFSExceptionFilter( IN ULONG Code, +AFSExceptionFilter( IN CHAR *FunctionString, + IN ULONG Code, IN PEXCEPTION_POINTERS ExceptPtrs); BOOLEAN diff --git a/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp b/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp index 612e499464..342c338ca7 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp @@ -1351,12 +1351,14 @@ try_exit: AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSCleanup\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSClose.cpp b/src/WINNT/afsrdr/kernel/lib/AFSClose.cpp index 469ba51549..62bcb21258 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSClose.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSClose.cpp @@ -686,12 +686,14 @@ try_exit: AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSClose\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp b/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp index 388495c9c0..3bb9e5f2fc 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp @@ -99,7 +99,7 @@ try_exit: NOTHING; } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, @@ -107,6 +107,8 @@ try_exit: "EXCEPTION - AFSCreate\n"); ntStatus = STATUS_ACCESS_DENIED; + + AFSDumpTraceFilesFnc(); } // diff --git a/src/WINNT/afsrdr/kernel/lib/AFSDevControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSDevControl.cpp index 3464552c20..627195eb44 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSDevControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSDevControl.cpp @@ -427,10 +427,12 @@ AFSDevControl( IN PDEVICE_OBJECT LibDeviceObject, //try_exit: } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation())) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation())) { ntStatus = STATUS_UNSUCCESSFUL; + + AFSDumpTraceFilesFnc(); } Irp->IoStatus.Status = ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp index cb8995840a..e7346f2940 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp @@ -89,12 +89,14 @@ AFSDirControl( IN PDEVICE_OBJECT LibDeviceObject, break; } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSDirControl\n"); + + AFSDumpTraceFilesFnc(); } if( ntStatus != STATUS_PENDING) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSEa.cpp b/src/WINNT/afsrdr/kernel/lib/AFSEa.cpp index 94fa398c20..49ff0cc3e1 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSEa.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSEa.cpp @@ -71,12 +71,14 @@ AFSQueryEA( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryEA\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -115,12 +117,14 @@ AFSSetEA( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetEA\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp b/src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp index b4823780f4..05610d39fb 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp @@ -668,12 +668,14 @@ BOOLEAN AFSDoExtentsMapRegion(IN AFSFcb *Fcb, entry = newEntry; } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSDoExtentsMapRegion\n"); + + AFSDumpTraceFilesFnc(); } try_exit: @@ -3604,12 +3606,14 @@ AFSMarkDirty( IN AFSFcb *Fcb, ulCount++; } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSMarkDirty\n"); + + AFSDumpTraceFilesFnc(); } AFSReleaseResource( &pNPFcb->Specific.File.DirtyExtentsListLock); @@ -4382,12 +4386,14 @@ AFSSetupMD5Hash( IN AFSFcb *Fcb, PsGetCurrentThread()); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetupMD5Hash\n"); + + AFSDumpTraceFilesFnc(); } AFSReleaseResource( &Fcb->NPFcb->Specific.File.ExtentsResource ); diff --git a/src/WINNT/afsrdr/kernel/lib/AFSFSControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSFSControl.cpp index b5768a9bd3..6715c95589 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSFSControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSFSControl.cpp @@ -77,12 +77,14 @@ AFSFSControl( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSFSControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp b/src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp index 6311a9dd1d..4a53c502a7 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp @@ -441,13 +441,15 @@ try_exit: } } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryFileInfo\n"); + AFSDumpTraceFilesFnc(); + ntStatus = STATUS_UNSUCCESSFUL; if( bReleaseMain) @@ -739,13 +741,15 @@ try_exit: } } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetFileInfo\n"); + AFSDumpTraceFilesFnc(); + ntStatus = STATUS_UNSUCCESSFUL; if( bReleaseMain) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index 0dca9fdd60..e25dc985e9 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -51,7 +51,8 @@ // ULONG -AFSExceptionFilter( IN ULONG Code, +AFSExceptionFilter( IN CHAR *FunctionString, + IN ULONG Code, IN PEXCEPTION_POINTERS ExceptPtrs) { @@ -67,9 +68,10 @@ AFSExceptionFilter( IN ULONG Code, AFSDbgLogMsg( 0, 0, - "AFSExceptionFilter (Library) - EXR %p CXR %p Code %08lX Address %p Routine %p\n", + "AFSExceptionFilter (Library) - EXR %p CXR %p Function %s Code %08lX Address %p Routine %p\n", ExceptRec, Context, + FunctionString, ExceptRec->ExceptionCode, ExceptRec->ExceptionAddress, (void *)AFSExceptionFilter); @@ -403,9 +405,11 @@ AFSLockSystemBuffer( IN PIRP Irp, pAddress = MmGetSystemAddressForMdlSafe( Irp->MdlAddress, NormalPagePriority ); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { + AFSDumpTraceFilesFnc(); + IoFreeMdl( Irp->MdlAddress ); Irp->MdlAddress = NULL; pAddress = NULL; @@ -455,9 +459,11 @@ AFSLockUserBuffer( IN void *UserBuffer, pAddress = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { + AFSDumpTraceFilesFnc(); + IoFreeMdl( pMdl); pMdl = NULL; pAddress = NULL; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSInit.cpp b/src/WINNT/afsrdr/kernel/lib/AFSInit.cpp index 98a59411f5..d8f3aff8fc 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSInit.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSInit.cpp @@ -286,10 +286,12 @@ try_exit: } } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSPrint( "EXCEPTION - AFS DriverEntry\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSInternalDevControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSInternalDevControl.cpp index 64e5e9c013..363216de7d 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSInternalDevControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSInternalDevControl.cpp @@ -55,12 +55,14 @@ AFSInternalDevControl( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSInternalDevControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSLockControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSLockControl.cpp index e54cb0014d..15459670b4 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSLockControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSLockControl.cpp @@ -299,13 +299,15 @@ try_exit: ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation())) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation())) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSLockControl\n"); + AFSDumpTraceFilesFnc(); + // // Again, there is little point in failing this request but pass back some type of failure status // diff --git a/src/WINNT/afsrdr/kernel/lib/AFSQuota.cpp b/src/WINNT/afsrdr/kernel/lib/AFSQuota.cpp index ab8a0ddb47..7816de6a7a 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSQuota.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSQuota.cpp @@ -60,12 +60,14 @@ AFSQueryQuota( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryQuota\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -92,12 +94,14 @@ AFSSetQuota( IN PDEVICE_OBJECT DeviceObject, AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetQuota\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSRead.cpp b/src/WINNT/afsrdr/kernel/lib/AFSRead.cpp index 660e90fccb..e0ac614d8e 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSRead.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSRead.cpp @@ -785,10 +785,12 @@ AFSRead( IN PDEVICE_OBJECT LibDeviceObject, ntStatus = AFSCommonRead( AFSRDRDeviceObject, Irp, NULL); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { ntStatus = STATUS_INSUFFICIENT_RESOURCES; + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSSecurity.cpp b/src/WINNT/afsrdr/kernel/lib/AFSSecurity.cpp index 5b178b643b..c15d32b8e8 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSSecurity.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSSecurity.cpp @@ -59,12 +59,14 @@ AFSSetSecurity( IN PDEVICE_OBJECT LibDeviceObject, AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetSecurity\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -144,12 +146,14 @@ try_exit: IoFreeMdl( pUserBufferMdl); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQuerySecurity\n"); + + AFSDumpTraceFilesFnc(); } AFSCompleteRequest( Irp, diff --git a/src/WINNT/afsrdr/kernel/lib/AFSShutdown.cpp b/src/WINNT/afsrdr/kernel/lib/AFSShutdown.cpp index 9bf6f67f5c..230f8afa50 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSShutdown.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSShutdown.cpp @@ -62,12 +62,14 @@ AFSShutdown( IN PDEVICE_OBJECT LibDeviceObject, AFSCompleteRequest( Irp, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSShutdown\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSSystemControl.cpp b/src/WINNT/afsrdr/kernel/lib/AFSSystemControl.cpp index 109e065a4e..6afcd95088 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSSystemControl.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSSystemControl.cpp @@ -60,12 +60,14 @@ AFSSystemControl( IN PDEVICE_OBJECT LibDeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSystemControl\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSVolumeInfo.cpp b/src/WINNT/afsrdr/kernel/lib/AFSVolumeInfo.cpp index 33e174bfee..6d6343faea 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSVolumeInfo.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSVolumeInfo.cpp @@ -203,12 +203,14 @@ try_exit: ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueryVolumeInfo\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -235,12 +237,14 @@ AFSSetVolumeInfo( IN PDEVICE_OBJECT DeviceObject, ntStatus); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSSetVolumeInfo\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp index ac83818463..64b9adaa93 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp @@ -2249,12 +2249,14 @@ try_exit: "AFSQueueFlushExtents Failed to queue request Status %08lX\n", ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueFlushExtents\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -2333,12 +2335,14 @@ try_exit: "AFSQueueAsyncRead Failed to queue request Status %08lX\n", ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueAsyncRead\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -2417,12 +2421,14 @@ try_exit: "AFSQueueAsyncWrite Failed to queue request Status %08lX\n", ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueAsyncWrite\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -2487,12 +2493,14 @@ try_exit: ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueGlobalRootEnumeration\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -2591,12 +2599,14 @@ try_exit: } } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueStartIos\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; @@ -2665,12 +2675,14 @@ try_exit: ntStatus); } } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { AFSDbgLogMsg( 0, 0, "EXCEPTION - AFSQueueInvalidateObject\n"); + + AFSDumpTraceFilesFnc(); } return ntStatus; diff --git a/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp b/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp index e4db03a869..177c6cf1f0 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp @@ -81,7 +81,7 @@ AFSWrite( IN PDEVICE_OBJECT LibDeviceObject, ntStatus = AFSCommonWrite( AFSRDRDeviceObject, Irp, NULL); } - __except( AFSExceptionFilter( GetExceptionCode(), GetExceptionInformation()) ) + __except( AFSExceptionFilter( __FUNCTION__, GetExceptionCode(), GetExceptionInformation()) ) { ntStatus = STATUS_INSUFFICIENT_RESOURCES; diff --git a/src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h b/src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h index f98494e2f7..39cb790c37 100644 --- a/src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h +++ b/src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h @@ -1043,7 +1043,8 @@ AFSSetQuota( IN PDEVICE_OBJECT DeviceObject, // ULONG -AFSExceptionFilter( IN ULONG Code, +AFSExceptionFilter( IN CHAR *FunctionString, + IN ULONG Code, IN PEXCEPTION_POINTERS ExceptPtrs); BOOLEAN