22#define BugCheckFileId (CDFS_BUG_CHECK_PREFXSUP)
43#pragma alloc_text(PAGE, CdFindNameLink)
44#pragma alloc_text(PAGE, CdFindPrefix)
45#pragma alloc_text(PAGE, CdInsertNameLink)
46#pragma alloc_text(PAGE, CdInsertPrefix)
47#pragma alloc_text(PAGE, CdRemovePrefix)
105 if (ShortNameMatch) {
155 Name->FileName.Length * 2,
162 if (NameBuffer ==
NULL) {
return; }
171 Name->FileName.Length,
191 Name->FileName.Buffer,
192 Name->FileName.Length );
353 if ((LocalRemainingName.
Length == 0) ||
374 &(*CurrentFcb)->IgnoreCaseRoot,
389 &(*CurrentFcb)->ExactCaseRoot,
401 if (NameLink ==
NULL) {
return; }
439 CdLockVcb( IrpContext, IrpContext->Vcb );
440 PrefixEntry->
Fcb->FcbReference += 1;
446 CdLockVcb( IrpContext, IrpContext->Vcb );
447 PrefixEntry->
Fcb->FcbReference -= 1;
501 while (Links !=
NULL) {
528 }
else if (Comparison ==
LessThan) {
BOOLEAN CdInsertNameLink(_In_ PIRP_CONTEXT IrpContext, _Inout_ PRTL_SPLAY_LINKS *RootNode, _In_ PNAME_LINK NameLink)
VOID CdInsertPrefix(_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ PCD_NAME Name, _In_ BOOLEAN IgnoreCase, _In_ BOOLEAN ShortNameMatch, _Inout_ PFCB ParentFcb)
PNAME_LINK CdFindNameLink(_In_ PIRP_CONTEXT IrpContext, _In_ PRTL_SPLAY_LINKS *RootNode, _In_ PUNICODE_STRING Name)
VOID CdRemovePrefix(_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb)
FSRTL_COMPARISON_RESULT CdFullCompareNames(_In_ PIRP_CONTEXT IrpContext, _In_ PUNICODE_STRING NameA, _In_ PUNICODE_STRING NameB)
VOID CdDissectName(_In_ PIRP_CONTEXT IrpContext, _Inout_ PUNICODE_STRING RemainingName, _Out_ PUNICODE_STRING FinalName)
#define CdReleaseFcb(IC, F)
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
#define CdUnlockVcb(IC, V)
#define CdAcquireFcbExclusive(IC, F, I)
_Inout_ PFCB * CurrentFcb
#define CdRaiseStatus(IC, S)
PREFIX_ENTRY * PPREFIX_ENTRY
#define IRP_CONTEXT_FLAG_WAIT
#define PREFIX_FLAG_IGNORE_CASE_IN_TREE
#define PREFIX_FLAG_EXACT_CASE_IN_TREE
#define BYTE_COUNT_EMBEDDED_NAME
#define _Requires_lock_held_(lock)
#define SafeNodeType(Ptr)
#define CDFS_NTC_FCB_INDEX
#define ExAllocatePoolWithTag(hernya, size, tag)
#define ClearFlag(_F, _SF)
enum _FSRTL_COMPARISON_RESULT FSRTL_COMPARISON_RESULT
#define Add2Ptr(PTR, INC)
PCONFIGURATION_COMPONENT_DATA RootNode
#define UNREFERENCED_PARAMETER(P)
PREFIX_ENTRY FileNamePrefix
PPREFIX_ENTRY ShortNamePrefix
WCHAR FileNameBuffer[BYTE_COUNT_EMBEDDED_NAME]
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define RtlRightChild(Links)
#define RtlLeftChild(Links)
NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlSplay(_Inout_ PRTL_SPLAY_LINKS Links)
#define RtlInsertAsRightChild(ParentLinks, ChildLinks)
NTSYSAPI PRTL_SPLAY_LINKS NTAPI RtlDelete(_In_ PRTL_SPLAY_LINKS Links)
#define RtlInitializeSplayLinks(Links)
#define RtlInsertAsLeftChild(ParentLinks, ChildLinks)