Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

205 lines
4.6 KiB

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
);