|
|
typedef REDIR_STATISTICS MRX_DAV_STATISTICS; typedef PREDIR_STATISTICS PMRX_DAV_STATISTICS;
extern MRX_DAV_STATISTICS MRxDAVStatistics;
VOID MRxDAVCreateFileInfoCache( PRX_CONTEXT RxContext, PDAV_USERMODE_CREATE_RETURNED_FILEINFO FileInfo, NTSTATUS Status );
VOID MRxDAVCreateFileInfoCacheWithName( PUNICODE_STRING FileName, PMRX_NET_ROOT NetRoot, PFILE_BASIC_INFORMATION Basic, PFILE_STANDARD_INFORMATION Standard, NTSTATUS Status );
VOID MRxDAVCreateBasicFileInfoCache( PRX_CONTEXT RxContext, PFILE_BASIC_INFORMATION Basic, NTSTATUS Status );
VOID MRxDAVCreateBasicFileInfoCacheWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot, PFILE_BASIC_INFORMATION Basic, NTSTATUS Status );
VOID MRxDAVCreateStandardFileInfoCache( PRX_CONTEXT RxContext, PFILE_STANDARD_INFORMATION Standard, NTSTATUS Status );
VOID MRxDAVCreateStandardFileInfoCacheWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot, PFILE_STANDARD_INFORMATION Standard, NTSTATUS Status );
VOID MRxDAVUpdateFileInfoCacheFromDelete( PRX_CONTEXT RxContext );
VOID MRxDAVUpdateFileInfoCacheStatus( PRX_CONTEXT RxContext, NTSTATUS Status );
VOID MRxDAVUpdateBasicFileInfoCacheStatus( PRX_CONTEXT RxContext, NTSTATUS Status );
VOID MRxDAVUpdateStandardFileInfoCacheStatus( PRX_CONTEXT RxContext, NTSTATUS Status );
VOID MRxDAVInvalidateFileInfoCache( PRX_CONTEXT RxContext );
VOID MRxDAVInvalidateFileInfoCacheWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot );
VOID MRxDAVInvalidateBasicFileInfoCache( PRX_CONTEXT RxContext );
VOID MRxDAVInvalidateBasicFileInfoCacheWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot );
VOID MRxDAVInvalidateStandardFileInfoCache( PRX_CONTEXT RxContext );
VOID MRxDAVInvalidateStandardFileInfoCacheWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot );
VOID MRxDAVUpdateFileInfoCacheFileSize( PRX_CONTEXT RxContext, PLARGE_INTEGER FileSize );
VOID MRxDAVUpdateBasicFileInfoCache( PRX_CONTEXT RxContext, ULONG FileAttributes, PLARGE_INTEGER pLastWriteTime );
VOID MRxDAVUpdateBasicFileInfoCacheAll( PRX_CONTEXT RxContext, PFILE_BASIC_INFORMATION Basic );
VOID MRxDAVUpdateStandardFileInfoCache( PRX_CONTEXT RxContext, PFILE_STANDARD_INFORMATION Standard, BOOLEAN IsDirectory );
BOOLEAN MRxDAVIsFileInfoCacheFound( PRX_CONTEXT RxContext, PDAV_USERMODE_CREATE_RETURNED_FILEINFO FileInfo, NTSTATUS *Status, PUNICODE_STRING OriginalFileName ); /*
// these file attributes may be different between streams on a file
ULONG StreamAttributes = FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_SPARSE_FILE; */ BOOLEAN MRxDAVIsBasicFileInfoCacheFound( PRX_CONTEXT RxContext, PFILE_BASIC_INFORMATION Basic, NTSTATUS *Status, PUNICODE_STRING OriginalFileName );
BOOLEAN MRxDAVIsStandardFileInfoCacheFound( PRX_CONTEXT RxContext, PFILE_STANDARD_INFORMATION Standard, NTSTATUS *Status, PUNICODE_STRING OriginalFileName );
NTSTATUS MRxDAVGetFileInfoCacheStatus( PRX_CONTEXT RxContext );
BOOLEAN MRxDAVIsFileNotFoundCached( PRX_CONTEXT RxContext );
BOOLEAN MRxDAVIsFileNotFoundCachedWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot );
VOID MRxDAVCacheFileNotFound( PRX_CONTEXT RxContext );
VOID MRxDAVCacheFileNotFoundWithName( PUNICODE_STRING OriginalFileName, PMRX_NET_ROOT NetRoot );
VOID MRxDAVCacheFileNotFoundFromQueryDirectory( PRX_CONTEXT RxContext );
VOID MRxDAVInvalidateFileNotFoundCache( PRX_CONTEXT RxContext );
VOID MRxDAVInvalidateFileNotFoundCacheForRename( PRX_CONTEXT RxContext );
|