IN PIRP Irp)
{
+ UNREFERENCED_PARAMETER(LibDeviceObject);
NTSTATUS ntStatus = STATUS_SUCCESS;
- AFSDeviceExt *pDeviceExt = (AFSDeviceExt *)AFSRDRDeviceObject->DeviceExtension;
IO_STACK_LOCATION *pIrpSp;
- FS_INFORMATION_CLASS FsInformationClass;
+ FS_INFORMATION_CLASS FsInformationClass = FileFsMaximumInformation;
void *pBuffer = NULL;
ULONG ulLength = 0;
BOOLEAN bReleaseResource = FALSE;
pVolumeCB = pObjectInfo->VolumeCB;
- ASSERT( pObjectInfo->FileType == AFS_FILE_TYPE_DIRECTORY &&
- pObjectInfo->FileId.Vnode == 1);
-
ulLength = pIrpSp->Parameters.QueryVolume.Length;
FsInformationClass = pIrpSp->Parameters.QueryVolume.FsInformationClass;
pBuffer = Irp->AssociatedIrp.SystemBuffer;
AFSDbgLogMsg( 0,
0,
- "EXCEPTION - AFSQueryVolumeInfo FO %08lX InfoClass %d FCB %08lX ObjectInfo %08lX VolCB %08lX\n",
+ "EXCEPTION - AFSQueryVolumeInfo FO %p InfoClass %d FCB %p ObjectInfo %p VolCB %p\n",
pFileObject,
FsInformationClass,
pFcb,
IN PIRP Irp)
{
+ UNREFERENCED_PARAMETER(DeviceObject);
NTSTATUS ntStatus = STATUS_SUCCESS;
IO_STACK_LOCATION *pIrpSp;
AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
AFS_TRACE_LEVEL_WARNING,
- "AFSSetVolumeInfo Entry for FO %08lX\n", pIrpSp->FileObject);
+ "AFSSetVolumeInfo Entry for FO %p\n", pIrpSp->FileObject);
AFSCompleteRequest( Irp,
ntStatus);
if( *Length >= (LONG)sizeof( FILE_FS_DEVICE_INFORMATION))
{
+ //
+ // This value is used to determine the return type of
+ // Win32 GetFileType(). Returning FILE_DEVICE_NETWORK_FILE_SYSTEM
+ // results in GetFileType returning FILE_TYPE_UNKNOWN which breaks
+ // msys-based applications. They treat all files as character
+ // special devices instead of files.
+ //
+
Buffer->DeviceType = FILE_DEVICE_DISK;
Buffer->Characteristics = VolumeInfo->Characteristics;
IN PFILE_FS_ATTRIBUTE_INFORMATION Buffer,
IN OUT PULONG Length)
{
+ UNREFERENCED_PARAMETER(VolumeInfo);
NTSTATUS ntStatus = STATUS_SUCCESS;
RtlZeroMemory( Buffer,
Buffer->FileSystemAttributes = (FILE_CASE_PRESERVED_NAMES |
FILE_UNICODE_ON_DISK |
+ FILE_SUPPORTS_HARD_LINKS |
FILE_SUPPORTS_REPARSE_POINTS);
Buffer->MaximumComponentNameLength = 255;