pObjectInfoCB->FileAttributes = DirEnumEntry->FileAttributes;
- if( pObjectInfoCB->FileType == AFS_FILE_TYPE_MOUNTPOINT ||
- pObjectInfoCB->FileType == AFS_FILE_TYPE_SYMLINK ||
+ if( pObjectInfoCB->FileType == AFS_FILE_TYPE_MOUNTPOINT)
+ {
+
+ pObjectInfoCB->FileAttributes = (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+
+ if (pObjectInfoCB->FileType == AFS_FILE_TYPE_SYMLINK ||
pObjectInfoCB->FileType == AFS_FILE_TYPE_DFSLINK)
{
- pObjectInfoCB->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ pObjectInfoCB->FileAttributes = FILE_ATTRIBUTE_REPARSE_POINT;
}
pObjectInfoCB->EaSize = DirEnumEntry->EaSize;
DirEntry->ObjectInformation->FileAttributes = pDirEntry->FileAttributes;
- if( pDirEntry->FileType == AFS_FILE_TYPE_MOUNTPOINT ||
- pDirEntry->FileType == AFS_FILE_TYPE_SYMLINK ||
+ if( pDirEntry->FileType == AFS_FILE_TYPE_MOUNTPOINT)
+ {
+
+ DirEntry->ObjectInformation->FileAttributes = (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+
+ if( pDirEntry->FileType == AFS_FILE_TYPE_SYMLINK ||
pDirEntry->FileType == AFS_FILE_TYPE_DFSLINK)
{
- DirEntry->ObjectInformation->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ DirEntry->ObjectInformation->FileAttributes = FILE_ATTRIBUTE_REPARSE_POINT;
}
DirEntry->ObjectInformation->EaSize = pDirEntry->EaSize;
DirEntry->ObjectInformation->FileAttributes = pDirEntry->FileAttributes;
- if( pDirEntry->FileType == AFS_FILE_TYPE_MOUNTPOINT ||
- pDirEntry->FileType == AFS_FILE_TYPE_SYMLINK ||
+ if( pDirEntry->FileType == AFS_FILE_TYPE_MOUNTPOINT)
+ {
+
+ DirEntry->ObjectInformation->FileAttributes = (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+
+ if( pDirEntry->FileType == AFS_FILE_TYPE_SYMLINK ||
pDirEntry->FileType == AFS_FILE_TYPE_DFSLINK)
{
- DirEntry->ObjectInformation->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ DirEntry->ObjectInformation->FileAttributes = FILE_ATTRIBUTE_REPARSE_POINT;
}
DirEntry->ObjectInformation->EaSize = pDirEntry->EaSize;
pObjectInfo->FileAttributes = DirEnumEntry->FileAttributes;
- if( pObjectInfo->FileType == AFS_FILE_TYPE_MOUNTPOINT ||
- pObjectInfo->FileType == AFS_FILE_TYPE_SYMLINK ||
+ if( pObjectInfo->FileType == AFS_FILE_TYPE_MOUNTPOINT)
+ {
+
+ pObjectInfo->FileAttributes = (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+
+ if( pObjectInfo->FileType == AFS_FILE_TYPE_SYMLINK ||
pObjectInfo->FileType == AFS_FILE_TYPE_DFSLINK)
{
- pObjectInfo->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ pObjectInfo->FileAttributes = FILE_ATTRIBUTE_REPARSE_POINT;
}
pObjectInfo->EaSize = DirEnumEntry->EaSize;
if( pDirectoryEntry->ObjectInformation->FileType == AFS_FILE_TYPE_MOUNTPOINT)
{
- FileInfo->FileAttributes |= (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
+ FileInfo->FileAttributes = (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT);
}
else if( pDirectoryEntry->ObjectInformation->FileType == AFS_FILE_TYPE_SYMLINK ||
pDirectoryEntry->ObjectInformation->FileType == AFS_FILE_TYPE_DFSLINK)
{
- FileInfo->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ if ( FileInfo->FileAttributes == FILE_ATTRIBUTE_NORMAL)
+ {
+
+ FileInfo->FileAttributes = FILE_ATTRIBUTE_REPARSE_POINT;
+ }
+ else
+ {
+
+ FileInfo->FileAttributes |= FILE_ATTRIBUTE_REPARSE_POINT;
+ }
}
FileInfo->AllocationSize = pDirectoryEntry->ObjectInformation->AllocationSize;
ParentPath->Length -= sizeof( WCHAR);
return;
-}
\ No newline at end of file
+}