Display available file systems in usage screen

svn path=/trunk/; revision=24253
This commit is contained in:
Hervé Poussineau 2006-09-24 12:50:51 +00:00
parent c492ac0ccc
commit 9cea0fddde
7 changed files with 61 additions and 24 deletions

View file

@ -14,7 +14,7 @@ STRINGTABLE DISCARDABLE
STRING_HELP, "Usage: %S drive: [-FS:file-system] [-V:label] [-Q] [-A:size] [-C]\n\n\
[Datenträger:] Legt das Laufwerk zum Formatieren fest.\n\
-FS:file-system Legt das Dateisystem fest (z.B. FAT).\n\
-FS:file-system Legt das Dateisystem fest (%s).\n\
-V:label Legt den Datentraegernamen fest.\n\
-Q Fuehre Schnellformatierung durch.\n\
-A:size Ueberschreibe Anweisung fuer Standartblockgroesse. Es wird dringend\n\

View file

@ -9,7 +9,7 @@ STRINGTABLE DISCARDABLE
{
STRING_HELP, "Usage: %S drive: [-FS:file-system] [-V:label] [-Q] [-A:size] [-C]\n\n\
[drive:] Specifies the drive to format.\n\
-FS:file-system Specifies the type of file system (e.g. FAT).\n\
-FS:file-system Specifies the type of file system (%s).\n\
-V:label Specifies volume label.\n\
-Q Performs a quick format.\n\
-A:size Overrides the default allocation unit size. Default settings\n\

View file

@ -12,11 +12,11 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
{
STRING_HELP, "Utilisation : %S disque: [-FS:système de fichier] [-V:nom] [-Q] [-A:taille] [-C]\n\n\
[disque:] Indique le disque à formater.\n\
-FS:système de fichier Indique le type de système de fichier (p.e. FAT).\n\
-V:nom Détermine le nom du disque.\n\
[disque:] Indique le disque à formater.\n\
-FS:système de fichier Indique le type de système de fichier (%s).\n\
-V:nom Détermine le nom du disque.\n\
-Q Effectue un formatage rapide.\n\
-A:taille Force une taille pour les unités d'allocations. Les valeurs par défaut\n\
-A:taille Force une taille pour les unités d'allocations. Les valeurs par défaut\n\
sont fortement recommandées pour une utilisation courante\n\
NTFS peut utiliser 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.\n\
FAT peut utiliser 8192, 16K, 32K, 64K, 128K, 256K.\n\

View file

@ -10,7 +10,7 @@ STRINGTABLE DISCARDABLE
{
STRING_HELP, "Használat: %S kötet: [-FS:állományrendszer] [-V:címke] [-Q] [-A:méret] [-C]\n\n\
[kötet:] A meghajtóbetűjelet adja meg (kettősponttal a végén).\n\
-FS:állományrendszer Az állományrendszer típusát adja meg (pl.: FAT).\n\
-FS:állományrendszer Az állományrendszer típusát adja meg (%s).\n\
-V:címke A Kötetcímke neve.\n\
-Q Gyorsformázást hajt végre.\n\
-A:méret Felülbírálja az alapértelmezett szektorcsoport-\n\

View file

@ -10,7 +10,7 @@ STRINGTABLE DISCARDABLE
STRING_HELP, "使用法: %S ドライブ: [-FS:ファイルシステム] [-V:ラベル] [-Q] [-A:サイズ] [-C]\n\n\
[ドライブ:] フォーマットするドライブを指定します。\n\
-FS:ファイルシステム\n\
ファイルシステムの種類を指定します (例: FAT)。\n\
ファイルシステムの種類を指定します (%s)。\n\
-V:ラベル ボリューム ラベルを指定します。\n\
-Q クイック フォーマットを実行します。\n\
-A:サイズ 規定のアロケーション ユニット サイズを上書きします。\n\

View file

@ -9,7 +9,7 @@ STRINGTABLE DISCARDABLE
{
STRING_HELP, "bruk: %S stasjon: [-FS:fil-system] [-V:merke] [-Q] [-A:størrelse] [-C]\n\n\
[stasjon:] Spesifisere stasjon til formater.\n\
-FS:file-system Spesifisere typen av fil system (f.eks. FAT).\n\
-FS:file-system Spesifisere typen av fil system (%s).\n\
-V:merke Spesifisere volum merke.\n\
-Q Fullføre en rask formatering.\n\
-A:størrelse Dominerende standard fordeling enhet størrelse. Standard innstilling\n\

View file

@ -69,21 +69,6 @@ static VOID PrintWin32Error( LPTSTR Message, DWORD ErrorCode )
}
//----------------------------------------------------------------------
//
// Usage
//
// Tell the user how to use the program
//
//----------------------------------------------------------------------
static VOID Usage( LPTSTR ProgramName )
{
TCHAR szMsg[RC_STRING_MAX_SIZE];
LoadString( GetModuleHandle(NULL), STRING_HELP, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, ProgramName);
}
//----------------------------------------------------------------------
//
// ParseCommandLine
@ -245,9 +230,61 @@ BOOLEAN LoadFMIFSEntryPoints()
return FALSE;
}
if( !((void *) GetProcAddress( hFmifs,
"QueryAvailableFileSystemFormat" )) ) {
return FALSE;
}
return TRUE;
}
//----------------------------------------------------------------------
//
// Usage
//
// Tell the user how to use the program
//
//----------------------------------------------------------------------
static VOID Usage( LPTSTR ProgramName )
{
TCHAR szMsg[RC_STRING_MAX_SIZE];
TCHAR szFormats[MAX_PATH];
#ifndef UNICODE
TCHAR szFormatA[MAX_PATH];
#endif
WCHAR szFormatW[MAX_PATH];
DWORD Index = 0;
BYTE dummy;
BOOLEAN lastestVersion;
LoadString( GetModuleHandle(NULL), STRING_HELP, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
if (!LoadFMIFSEntryPoints())
{
_tprintf(szMsg, ProgramName, "");
return;
}
szFormats[0] = 0;
while (QueryAvailableFileSystemFormat(Index++, szFormatW, &dummy, &dummy, &lastestVersion))
{
if (!lastestVersion)
continue;
if (szFormats[0])
_tcscat(szFormats, _T(", "));
#ifdef UNICODE
_tcscat(szFormats, szFormatW);
#else
if (0 != WideCharToMultiByte(CP_ACP, 0, szFormatW, -1, szFormatA, sizeof(szFormatA), NULL, NULL))
_tcscat(szFormats, szFormatA);
#endif
}
_tprintf(szMsg, ProgramName, szFormats);
}
//----------------------------------------------------------------------
//
// WMain