diff --git a/ProjectedFSLib.Managed.API/IDirectoryEnumerationResults.h b/ProjectedFSLib.Managed.API/IDirectoryEnumerationResults.h
index 678afcd..76f24a1 100644
--- a/ProjectedFSLib.Managed.API/IDirectoryEnumerationResults.h
+++ b/ProjectedFSLib.Managed.API/IDirectoryEnumerationResults.h
@@ -36,6 +36,13 @@ public interface class IDirectoryEnumerationResults
/// provider returns HResult.InsufficientBuffer from the GetDirectoryEnumerationCallback
/// method.
///
+ ///
+ /// IMPORTANT: File and directory names passed to this method must be in the sort
+ /// specified by PrjFileNameCompare
+ /// (see https://docs.microsoft.com/en-us/windows/win32/api/projectedfslib/nf-projectedfslib-prjfilenamecompare ),
+ /// or else names can be duplicated or missing from the enumeration results presented to the
+ /// process enumerating the filesystem.
+ ///
///
/// The name of the file or directory.
/// The size of the file.
@@ -69,6 +76,13 @@ public interface class IDirectoryEnumerationResults
/// provider returns HResult.InsufficientBuffer from the GetDirectoryEnumerationCallback
/// method.
///
+ ///
+ /// IMPORTANT: File and directory names passed to this method must be in the sort
+ /// specified by PrjFileNameCompare
+ /// (see https://docs.microsoft.com/en-us/windows/win32/api/projectedfslib/nf-projectedfslib-prjfilenamecompare ),
+ /// or else names can be duplicated or missing from the enumeration results presented to the
+ /// process enumerating the filesystem.
+ ///
///
/// The name of the file or directory.
/// The size of the file.
diff --git a/ProjectedFSLib.Managed.API/IRequiredCallbacks.h b/ProjectedFSLib.Managed.API/IRequiredCallbacks.h
index 2aa7dcc..781f4fd 100644
--- a/ProjectedFSLib.Managed.API/IRequiredCallbacks.h
+++ b/ProjectedFSLib.Managed.API/IRequiredCallbacks.h
@@ -87,6 +87,11 @@ public interface class IRequiredCallbacks {
/// If no entries match the search expression specified in ,
/// or if all the entries in the directory were added in a previous invocation of this callback,
/// the provider must return .
+ /// IMPORTANT: The provider must ensure file and directory names returned from this
+ /// callback are in the sort order specified by PrjFileNameCompare
+ /// (see https://docs.microsoft.com/en-us/windows/win32/api/projectedfslib/nf-projectedfslib-prjfilenamecompare ),
+ /// or else names can be duplicated or missing from the enumeration results presented to the
+ /// process enumerating the filesystem.
///
///
/// A value that uniquely identifies an invocation of the callback.
@@ -119,6 +124,11 @@ public interface class IRequiredCallbacks {
/// If the provider returns from this method, then it must pass
/// this value to ProjFS.VirtualizationInstance.CompleteCommand to provide the
/// enumeration results.
+ /// IMPORTANT: File and directory names passed to this parameter must be in the sort
+ /// order specified by PrjFileNameCompare
+ /// (see https://docs.microsoft.com/en-us/windows/win32/api/projectedfslib/nf-projectedfslib-prjfilenamecompare ),
+ /// or else names can be duplicated or missing from the enumeration results presented to the
+ /// process enumerating the filesystem.
///
///
/// if the provider successfully completes the operation.