diff --git a/channels/drive/client/drive_file.c b/channels/drive/client/drive_file.c index 319c86360..cac5682b0 100644 --- a/channels/drive/client/drive_file.c +++ b/channels/drive/client/drive_file.c @@ -503,6 +503,8 @@ static BOOL drive_file_query_from_handle_information(const DRIVE_FILE* file, default: /* Unhandled FsInformationClass */ + WLog_WARN(TAG, "Unhandled FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); return FALSE; } @@ -568,6 +570,8 @@ static BOOL drive_file_query_from_attributes(const DRIVE_FILE* file, default: /* Unhandled FsInformationClass */ + WLog_WARN(TAG, "Unhandled FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); return FALSE; } @@ -822,6 +826,8 @@ BOOL drive_file_set_information(DRIVE_FILE* file, UINT32 FsInformationClass, UIN break; default: + WLog_WARN(TAG, "Unhandled FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); return FALSE; } @@ -1003,7 +1009,8 @@ BOOL drive_file_query_directory(DRIVE_FILE* file, UINT32 FsInformationClass, BYT break; default: - WLog_ERR(TAG, "unhandled FsInformationClass %" PRIu32, FsInformationClass); + WLog_WARN(TAG, "Unhandled FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); /* Unhandled FsInformationClass */ goto out_fail; } diff --git a/channels/drive/client/drive_main.c b/channels/drive/client/drive_main.c index 817178248..c7530e4ac 100644 --- a/channels/drive/client/drive_main.c +++ b/channels/drive/client/drive_main.c @@ -570,6 +570,8 @@ static UINT drive_process_irp_query_volume_information(DRIVE_DEVICE* drive, IRP* break; default: + WLog_WARN(TAG, "Unhandled FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); irp->IoStatus = STATUS_UNSUCCESSFUL; Stream_Write_UINT32(output, 0); /* Length */ break; @@ -587,15 +589,15 @@ static UINT drive_process_irp_query_volume_information(DRIVE_DEVICE* drive, IRP* */ static UINT drive_process_irp_silent_ignore(DRIVE_DEVICE* drive, IRP* irp) { - UINT32 FsInformationClass = 0; - if (!drive || !irp || !irp->output || !irp->Complete) return ERROR_INVALID_PARAMETER; if (!Stream_CheckAndLogRequiredLength(TAG, irp->input, 4)) return ERROR_INVALID_DATA; - Stream_Read_UINT32(irp->input, FsInformationClass); + const uint32_t FsInformationClass = Stream_Get_UINT32(irp->input); + WLog_VRB(TAG, "Silently ignore FSInformationClass %s [0x%08" PRIx32 "]", + FSInformationClass2Tag(FsInformationClass), FsInformationClass); Stream_Write_UINT32(irp->output, 0); /* Length */ return irp->Complete(irp); }