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\ 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\ [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\ -V:label Legt den Datentraegernamen fest.\n\
-Q Fuehre Schnellformatierung durch.\n\ -Q Fuehre Schnellformatierung durch.\n\
-A:size Ueberschreibe Anweisung fuer Standartblockgroesse. Es wird dringend\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\ STRING_HELP, "Usage: %S drive: [-FS:file-system] [-V:label] [-Q] [-A:size] [-C]\n\n\
[drive:] Specifies the drive to format.\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\ -V:label Specifies volume label.\n\
-Q Performs a quick format.\n\ -Q Performs a quick format.\n\
-A:size Overrides the default allocation unit size. Default settings\n\ -A:size Overrides the default allocation unit size. Default settings\n\

View file

@ -13,7 +13,7 @@ STRINGTABLE DISCARDABLE
{ {
STRING_HELP, "Utilisation : %S disque: [-FS:système de fichier] [-V:nom] [-Q] [-A:taille] [-C]\n\n\ STRING_HELP, "Utilisation : %S disque: [-FS:système de fichier] [-V:nom] [-Q] [-A:taille] [-C]\n\n\
[disque:] Indique le disque à formater.\n\ [disque:] Indique le disque à formater.\n\
-FS:système de fichier Indique le type de système de fichier (p.e. FAT).\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\ -V:nom Détermine le nom du disque.\n\
-Q Effectue un formatage rapide.\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\

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\ 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\ [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\ -V:címke A Kötetcímke neve.\n\
-Q Gyorsformázást hajt végre.\n\ -Q Gyorsformázást hajt végre.\n\
-A:méret Felülbírálja az alapértelmezett szektorcsoport-\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\ STRING_HELP, "使用法: %S ドライブ: [-FS:ファイルシステム] [-V:ラベル] [-Q] [-A:サイズ] [-C]\n\n\
[ドライブ:] フォーマットするドライブを指定します。\n\ [ドライブ:] フォーマットするドライブを指定します。\n\
-FS:ファイルシステム\n\ -FS:ファイルシステム\n\
ファイルシステムの種類を指定します (例: FAT)。\n\ ファイルシステムの種類を指定します (%s)。\n\
-V:ラベル ボリューム ラベルを指定します。\n\ -V:ラベル ボリューム ラベルを指定します。\n\
-Q クイック フォーマットを実行します。\n\ -Q クイック フォーマットを実行します。\n\
-A:サイズ 規定のアロケーション ユニット サイズを上書きします。\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\ STRING_HELP, "bruk: %S stasjon: [-FS:fil-system] [-V:merke] [-Q] [-A:størrelse] [-C]\n\n\
[stasjon:] Spesifisere stasjon til formater.\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\ -V:merke Spesifisere volum merke.\n\
-Q Fullføre en rask formatering.\n\ -Q Fullføre en rask formatering.\n\
-A:størrelse Dominerende standard fordeling enhet størrelse. Standard innstilling\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 // ParseCommandLine
@ -245,9 +230,61 @@ BOOLEAN LoadFMIFSEntryPoints()
return FALSE; return FALSE;
} }
if( !((void *) GetProcAddress( hFmifs,
"QueryAvailableFileSystemFormat" )) ) {
return FALSE;
}
return TRUE; 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 // WMain