Author: janderwald
Date: Wed Aug 13 16:29:29 2008
New Revision: 35319
URL:
http://svn.reactos.org/svn/reactos?rev=35319&view=rev
Log:
* Implement SHFormatDrive using fmifs api (format drive dialog in explorer)
Modified:
trunk/reactos/dll/win32/shell32/drive.c
trunk/reactos/dll/win32/shell32/lang/bg-BG.rc
trunk/reactos/dll/win32/shell32/lang/ca-ES.rc
trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc
trunk/reactos/dll/win32/shell32/lang/da-DK.rc
trunk/reactos/dll/win32/shell32/lang/de-DE.rc
trunk/reactos/dll/win32/shell32/lang/el-GR.rc
trunk/reactos/dll/win32/shell32/lang/en-GB.rc
trunk/reactos/dll/win32/shell32/lang/en-US.rc
trunk/reactos/dll/win32/shell32/lang/es-ES.rc
trunk/reactos/dll/win32/shell32/lang/fi-FI.rc
trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
trunk/reactos/dll/win32/shell32/lang/hu-HU.rc
trunk/reactos/dll/win32/shell32/lang/it-IT.rc
trunk/reactos/dll/win32/shell32/lang/ja-JP.rc
trunk/reactos/dll/win32/shell32/lang/ko-KR.rc
trunk/reactos/dll/win32/shell32/lang/nl-NL.rc
trunk/reactos/dll/win32/shell32/lang/no-NO.rc
trunk/reactos/dll/win32/shell32/lang/pl-PL.rc
trunk/reactos/dll/win32/shell32/lang/pt-BR.rc
trunk/reactos/dll/win32/shell32/lang/pt-PT.rc
trunk/reactos/dll/win32/shell32/lang/ru-RU.rc
trunk/reactos/dll/win32/shell32/lang/sk-SK.rc
trunk/reactos/dll/win32/shell32/lang/sl-SI.rc
trunk/reactos/dll/win32/shell32/lang/sv-SE.rc
trunk/reactos/dll/win32/shell32/lang/tr-TR.rc
trunk/reactos/dll/win32/shell32/lang/uk-UA.rc
trunk/reactos/dll/win32/shell32/lang/zh-CN.rc
trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
trunk/reactos/dll/win32/shell32/shellord.c
trunk/reactos/dll/win32/shell32/shresdef.h
Modified: trunk/reactos/dll/win32/shell32/drive.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/drive.c?…
==============================================================================
--- trunk/reactos/dll/win32/shell32/drive.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/drive.c [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -26,29 +26,27 @@
#define ConvertUlongToLargeInteger RtlConvertUlongToLargeInteger
#define LargeIntegerSubtract RtlLargeIntegerSubtract
#define MAX_PROPERTY_SHEET_PAGE 32
+
+#define WIN32_NO_STATUS
+#define NTOS_MODE_USER
+#define UNICODE
+#define _UNICODE
+#include <windows.h>
+#include <ndk/ntndk.h>
+
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
-#include "winerror.h"
-#include "windef.h"
-#include "winbase.h"
-#include "winreg.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "commdlg.h"
#include "wine/debug.h"
-
-#include "shellapi.h"
+#include "shresdef.h"
+
#include <shlwapi.h>
-#include "shlobj.h"
-#include "shell32_main.h"
-#include "shresdef.h"
-#include "undocshell.h"
+#include <shlobj.h>
#include <prsht.h>
#include <initguid.h>
#include <devguid.h>
-#include <winioctl.h>
#include <largeint.h>
+#include <fmifs/fmifs.h>
WINE_DEFAULT_DEBUG_CHANNEL(shell);
@@ -58,6 +56,53 @@
HWPD_LARGELIST,
HWPD_MAX = HWPD_LARGELIST
} HWPAGE_DISPLAYMODE, *PHWPAGE_DISPLAYMODE;
+
+typedef
+BOOLEAN
+(NTAPI *INITIALIZE_FMIFS)(
+ IN PVOID hinstDll,
+ IN DWORD dwReason,
+ IN PVOID reserved
+);
+typedef
+BOOLEAN
+(NTAPI *QUERY_AVAILABLEFSFORMAT)(
+ IN DWORD Index,
+ IN OUT PWCHAR FileSystem,
+ OUT UCHAR* Major,
+ OUT UCHAR* Minor,
+ OUT BOOLEAN* LastestVersion
+);
+typedef
+BOOLEAN
+(NTAPI *ENABLEVOLUMECOMPRESSION)(
+ IN PWCHAR DriveRoot,
+ IN USHORT Compression
+);
+
+typedef
+VOID
+(NTAPI *FORMAT_EX)(
+ IN PWCHAR DriveRoot,
+ IN FMIFS_MEDIA_FLAG MediaFlag,
+ IN PWCHAR Format,
+ IN PWCHAR Label,
+ IN BOOLEAN QuickFormat,
+ IN ULONG ClusterSize,
+ IN PFMIFSCALLBACK Callback
+);
+
+
+typedef struct
+{
+ WCHAR Drive;
+ UINT Options;
+ HMODULE hLibrary;
+ QUERY_AVAILABLEFSFORMAT QueryAvailableFileSystemFormat;
+ FORMAT_EX FormatEx;
+ ENABLEVOLUMECOMPRESSION EnableVolumeCompression;
+ UINT Result;
+}FORMAT_DRIVE_CONTEXT, *PFORMAT_DRIVE_CONTEXT;
HWND WINAPI
DeviceCreateHardwarePageEx(HWND hWndParent,
@@ -65,8 +110,11 @@
UINT uNumberOfGuids,
HWPAGE_DISPLAYMODE DisplayMode);
+HPROPSHEETPAGE SH_CreatePropertySheetPage(LPSTR resname, DLGPROC dlgproc, LPARAM lParam,
LPWSTR szTitle);
+
#define DRIVE_PROPERTY_PAGES (3)
+extern HINSTANCE shell32_hInstance;
static
LARGE_INTEGER
@@ -201,11 +249,11 @@
Result = GetFreeBytesShare(TotalNumberOfFreeBytes, TotalNumberOfBytes);
/* set free bytes percentage */
- sprintfW(szResult, L"%02d%%", Result.QuadPart);
+ swprintf(szResult, L"%02d%%", Result.QuadPart);
SendDlgItemMessageW(hwndDlg, 14007, WM_SETTEXT, (WPARAM)0, (LPARAM)szResult);
/* store used share amount */
Result = LargeIntegerSubtract(ConvertUlongToLargeInteger(100), Result);
- sprintfW(szResult, L"%02d%%", Result.QuadPart);
+ swprintf(szResult, L"%02d%%", Result.QuadPart);
SendDlgItemMessageW(hwndDlg, 14005, WM_SETTEXT, (WPARAM)0, (LPARAM)szResult);
if (LoadStringW(shell32_hInstance, IDS_DRIVE_FIXED, szBuffer, sizeof(szBuffer) /
sizeof(WCHAR)))
SendDlgItemMessageW(hwndDlg, 14002, WM_SETTEXT, (WPARAM)0,
(LPARAM)szBuffer);
@@ -214,7 +262,7 @@
}
/* set drive description */
SendDlgItemMessageW(hwndDlg, 14010, WM_GETTEXT, (WPARAM)50, (LPARAM)szFormat);
- sprintfW(szBuffer, szFormat, szDrive);
+ swprintf(szBuffer, szFormat, szDrive);
SendDlgItemMessageW(hwndDlg, 14010, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szBuffer);
}
@@ -493,3 +541,497 @@
else
return TRUE;
}
+
+
+
+
+
+VOID
+InsertDefaultClusterSizeForFs(HWND hwndDlg, PFORMAT_DRIVE_CONTEXT pContext)
+{
+ WCHAR szFs[100] = {0};
+ WCHAR szDrive[3] = { L'C', '\\', 0 };
+ INT iSelIndex;
+ ULARGE_INTEGER FreeBytesAvailableUser, TotalNumberOfBytes;
+ DWORD ClusterSize;
+ LRESULT lIndex;
+ HWND hDlgCtrl;
+
+ hDlgCtrl = GetDlgItem(hwndDlg, 28677);
+ iSelIndex = SendMessage(hDlgCtrl, CB_GETCURSEL, 0, 0);
+ if (iSelIndex == CB_ERR)
+ return;
+
+ if (SendMessageW(hDlgCtrl, CB_GETLBTEXT, iSelIndex, (LPARAM)szFs) == CB_ERR)
+ return;
+
+ szFs[(sizeof(szFs)/sizeof(WCHAR))-1] = L'\0';
+ szDrive[0] = pContext->Drive;
+
+ if (!GetDiskFreeSpaceExW(szDrive, &FreeBytesAvailableUser,
&TotalNumberOfBytes, NULL))
+ return;
+
+ if (!wcsicmp(szFs, L"FAT16"))
+ {
+ if (TotalNumberOfBytes.QuadPart <= (16 * 1024 * 1024))
+ ClusterSize = 2048;
+ else if (TotalNumberOfBytes.QuadPart <= (32 * 1024 * 1024))
+ ClusterSize = 512;
+ else if (TotalNumberOfBytes.QuadPart <= (64 * 1024 * 1024))
+ ClusterSize = 1024;
+ else if (TotalNumberOfBytes.QuadPart <= (128 * 1024 * 1024))
+ ClusterSize = 2048;
+ else if (TotalNumberOfBytes.QuadPart <= (256 * 1024 * 1024))
+ ClusterSize = 4096;
+ else if (TotalNumberOfBytes.QuadPart <= (512 * 1024 * 1024))
+ ClusterSize = 8192;
+ else if (TotalNumberOfBytes.QuadPart <= (1024 * 1024 * 1024))
+ ClusterSize = 16384;
+ else if (TotalNumberOfBytes.QuadPart <= (2048LL * 1024LL * 1024LL))
+ ClusterSize = 32768;
+ else if (TotalNumberOfBytes.QuadPart <= (4096LL * 1024LL * 1024LL))
+ ClusterSize = 8192;
+ else
+ {
+ TRACE("FAT16 is not supported on hdd larger than 4G current %lu\n",
TotalNumberOfBytes.QuadPart);
+ SendMessageW(hDlgCtrl, CB_DELETESTRING, iSelIndex, 0);
+ return;
+ }
+
+ if (LoadStringW(shell32_hInstance, IDS_DEFAULT_CLUSTER_SIZE, szFs,
sizeof(szFs)/sizeof(WCHAR)))
+ {
+ hDlgCtrl = GetDlgItem(hwndDlg, 28680);
+ szFs[(sizeof(szFs)/sizeof(WCHAR))-1] = L'\0';
+ SendMessageW(hDlgCtrl, CB_RESETCONTENT, 0, 0);
+ lIndex = SendMessageW(hDlgCtrl, CB_ADDSTRING, 0, (LPARAM)szFs);
+ if (lIndex != CB_ERR)
+ SendMessageW(hDlgCtrl, CB_SETITEMDATA, lIndex, (LPARAM)ClusterSize);
+ }
+ }
+ else if (!wcsicmp(szFs, L"FAT32"))
+ {
+ if (TotalNumberOfBytes.QuadPart <=(64 * 1024 * 1024))
+ ClusterSize = 512;
+ else if (TotalNumberOfBytes.QuadPart <= (128 * 1024 * 1024))
+ ClusterSize = 1024;
+ else if (TotalNumberOfBytes.QuadPart <= (256 * 1024 * 1024))
+ ClusterSize = 2048;
+ else if (TotalNumberOfBytes.QuadPart <= (8192LL * 1024LL * 1024LL))
+ ClusterSize = 2048;
+ else if (TotalNumberOfBytes.QuadPart <= (16384LL * 1024LL * 1024LL))
+ ClusterSize = 8192;
+ else if (TotalNumberOfBytes.QuadPart <= (32768LL * 1024LL * 1024LL))
+ ClusterSize = 16384;
+ else
+ {
+ TRACE("FAT32 is not supported on hdd larger than 32G current
%lu\n", TotalNumberOfBytes.QuadPart);
+ SendMessageW(hDlgCtrl, CB_DELETESTRING, iSelIndex, 0);
+ return;
+ }
+ if (LoadStringW(shell32_hInstance, IDS_DEFAULT_CLUSTER_SIZE, szFs,
sizeof(szFs)/sizeof(WCHAR)))
+ {
+ hDlgCtrl = GetDlgItem(hwndDlg, 28680);
+ szFs[(sizeof(szFs)/sizeof(WCHAR))-1] = L'\0';
+ SendMessageW(hDlgCtrl, CB_RESETCONTENT, 0, 0);
+ lIndex = SendMessageW(hDlgCtrl, CB_ADDSTRING, 0, (LPARAM)szFs);
+ if (lIndex != CB_ERR)
+ SendMessageW(hDlgCtrl, CB_SETITEMDATA, lIndex, (LPARAM)ClusterSize);
+ }
+ }
+ else if (!wcsicmp(szFs, L"NTFS"))
+ {
+ if (TotalNumberOfBytes.QuadPart <=(512 * 1024 * 1024))
+ ClusterSize = 512;
+ else if (TotalNumberOfBytes.QuadPart <= (1024 * 1024 * 1024))
+ ClusterSize = 1024;
+ else if (TotalNumberOfBytes.QuadPart <= (2048LL * 1024LL * 1024LL))
+ ClusterSize = 2048;
+ else
+ ClusterSize = 2048;
+
+ if (LoadStringW(shell32_hInstance, IDS_DEFAULT_CLUSTER_SIZE, szFs,
sizeof(szFs)/sizeof(WCHAR)))
+ {
+ hDlgCtrl = GetDlgItem(hwndDlg, 28680);
+ szFs[(sizeof(szFs)/sizeof(WCHAR))-1] = L'\0';
+ SendMessageW(hDlgCtrl, CB_RESETCONTENT, 0, 0);
+ lIndex = SendMessageW(hDlgCtrl, CB_ADDSTRING, 0, (LPARAM)szFs);
+ if (lIndex != CB_ERR)
+ SendMessageW(hDlgCtrl, CB_SETITEMDATA, lIndex, (LPARAM)ClusterSize);
+ }
+ ClusterSize = 512;
+ for (lIndex = 0; lIndex < 4; lIndex++)
+ {
+ TotalNumberOfBytes.QuadPart = ClusterSize;
+ if (StrFormatByteSizeW(TotalNumberOfBytes.QuadPart, szFs,
sizeof(szFs)/sizeof(WCHAR)))
+ {
+ lIndex = SendMessageW(hDlgCtrl, CB_ADDSTRING, 0, (LPARAM)szFs);
+ if (lIndex != CB_ERR)
+ SendMessageW(hDlgCtrl, CB_SETITEMDATA, lIndex, (LPARAM)ClusterSize);
+ }
+ ClusterSize *= 2;
+ }
+ }
+}
+
+VOID
+InitializeFormatDriveDlg(HWND hwndDlg, PFORMAT_DRIVE_CONTEXT pContext)
+{
+ WCHAR szText[120];
+ WCHAR szDrive[3] = { L'C', '\\', 0 };
+ WCHAR szFs[30] = {0};
+ INT Length, TempLength;
+ DWORD dwSerial, dwMaxComp, dwFileSys;
+ ULARGE_INTEGER FreeBytesAvailableUser, TotalNumberOfBytes;
+ DWORD dwIndex, dwDefault;
+ UCHAR uMinor, uMajor;
+ BOOLEAN Latest;
+ HWND hDlgCtrl;
+
+ Length = GetWindowTextW(hwndDlg, szText, sizeof(szText)/sizeof(WCHAR));
+ szDrive[0] = pContext->Drive;
+ if (GetVolumeInformationW(szDrive, &szText[Length+1],
(sizeof(szText)/sizeof(WCHAR))- Length - 2, &dwSerial, &dwMaxComp, &dwFileSys,
szFs, sizeof(szFs)/sizeof(WCHAR)))
+ {
+ szText[Length] = L' ';
+ szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
+ TempLength = wcslen(&szText[Length+1]);
+ if (!TempLength)
+ {
+ /* load default volume label */
+ TempLength = LoadStringW(shell32_hInstance, IDS_DRIVE_FIXED,
&szText[Length+1], (sizeof(szText)/sizeof(WCHAR))- Length - 2);
+ }
+ else
+ {
+ /* set volume label */
+ szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
+ SendDlgItemMessageW(hwndDlg, 28679, WM_SETTEXT, 0,
(LPARAM)&szText[Length+1]);
+ }
+ Length += TempLength + 1;
+ }
+ if (Length + 4 < (sizeof(szText)/sizeof(WCHAR)))
+ {
+ szText[Length] = L' ';
+ szText[Length+1] = L'(';
+ szText[Length+2] = szDrive[0];
+ szText[Length+3] = L')';
+ Length +=4;
+ }
+
+ if (Length < (sizeof(szText)/sizeof(WCHAR)))
+ szText[Length] = L'\0';
+ else
+ szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
+
+ /* set window text */
+ SetWindowTextW(hwndDlg, szText);
+
+ if (GetDiskFreeSpaceExW(szDrive, &FreeBytesAvailableUser,
&TotalNumberOfBytes, NULL))
+ {
+ if (StrFormatByteSizeW(TotalNumberOfBytes.QuadPart, szText,
sizeof(szText)/sizeof(WCHAR)))
+ {
+ /* add drive capacity */
+ szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
+ SendDlgItemMessageW(hwndDlg, 28673, LB_ADDSTRING, 0, (LPARAM)szText);
+ }
+ }
+
+ if (pContext->Options & SHFMT_OPT_FULL)
+ {
+ /* check quick format button */
+ SendDlgItemMessageW(hwndDlg, 28674, BM_SETCHECK, BST_CHECKED, 0);
+ }
+
+ /* enumerate all available filesystems */
+ dwIndex = 0;
+ dwDefault = 0;
+ hDlgCtrl = GetDlgItem(hwndDlg, 28677);
+ while(pContext->QueryAvailableFileSystemFormat(dwIndex, szText, &uMajor,
&uMinor, &Latest))
+ {
+ szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
+ if (!wcsicmp(szText, szFs))
+ dwDefault = dwIndex;
+
+ SendMessageW(hDlgCtrl, CB_ADDSTRING, 0, (LPARAM)szText);
+ dwIndex++;
+ }
+
+ if (!dwIndex)
+ {
+ ERR("no filesystem providers\n");
+ return;
+ }
+
+ /* select default filesys */
+ SendMessageW(hDlgCtrl, CB_SETCURSEL, dwIndex, 0);
+ /* setup cluster combo */
+ InsertDefaultClusterSizeForFs(hwndDlg, pContext);
+ /* hide progress control */
+ ShowWindow(GetDlgItem(hwndDlg, 28678), SW_HIDE);
+}
+
+HWND FormatDrvDialog = NULL;
+BOOLEAN bSuccess = FALSE;
+
+
+BOOLEAN
+NTAPI
+FormatExCB(
+ IN CALLBACKCOMMAND Command,
+ IN ULONG SubAction,
+ IN PVOID ActionInfo)
+{
+ PDWORD Progress;
+ PBOOLEAN pSuccess;
+ switch(Command)
+ {
+ case PROGRESS:
+ Progress = (PDWORD)ActionInfo;
+ SendDlgItemMessageW(FormatDrvDialog, 28678, PBM_SETPOS, (WPARAM)*Progress,
0);
+ break;
+ case DONE:
+ pSuccess = (PBOOLEAN)ActionInfo;
+ bSuccess = (*pSuccess);
+ break;
+
+ case VOLUMEINUSE:
+ case INSUFFICIENTRIGHTS:
+ case FSNOTSUPPORTED:
+ case CLUSTERSIZETOOSMALL:
+ bSuccess = FALSE;
+ FIXME("\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return TRUE;
+}
+
+
+
+
+
+VOID
+FormatDrive(HWND hwndDlg, PFORMAT_DRIVE_CONTEXT pContext)
+{
+ WCHAR szDrive[3] = { L'C', '\\', 0 };
+ WCHAR szFileSys[40] = {0};
+ WCHAR szLabel[40] = {0};
+ INT iSelIndex;
+ UINT Length;
+ HWND hDlgCtrl;
+ BOOL QuickFormat;
+ DWORD ClusterSize;
+
+ /* set volume path */
+ szDrive[0] = pContext->Drive;
+
+ /* get filesystem */
+ hDlgCtrl = GetDlgItem(hwndDlg, 28677);
+ iSelIndex = SendMessageW(hDlgCtrl, CB_GETCURSEL, 0, 0);
+ if (iSelIndex == CB_ERR)
+ {
+ FIXME("\n");
+ return;
+ }
+ Length = SendMessageW(hDlgCtrl, CB_GETLBTEXTLEN, iSelIndex, 0);
+ if (Length == CB_ERR || Length + 1> sizeof(szFileSys)/sizeof(WCHAR))
+ {
+ FIXME("\n");
+ return;
+ }
+
+ /* retrieve the file system */
+ SendMessageW(hDlgCtrl, CB_GETLBTEXT, iSelIndex, (LPARAM)szFileSys);
+ szFileSys[(sizeof(szFileSys)/sizeof(WCHAR))-1] = L'\0';
+
+ /* retrieve the volume label */
+ hDlgCtrl = GetWindow(hwndDlg, 28679);
+ Length = SendMessageW(hDlgCtrl, WM_GETTEXTLENGTH, 0, 0);
+ if (Length + 1 > sizeof(szLabel)/sizeof(WCHAR))
+ {
+ FIXME("\n");
+ return;
+ }
+ SendMessageW(hDlgCtrl, WM_GETTEXT, sizeof(szLabel)/sizeof(WCHAR), (LPARAM)szLabel);
+ szLabel[(sizeof(szLabel)/sizeof(WCHAR))-1] = L'\0';
+
+ /* check for quickformat */
+ if (SendDlgItemMessageW(hwndDlg, 28674, BM_GETCHECK, 0, 0) == BST_CHECKED)
+ QuickFormat = TRUE;
+ else
+ QuickFormat = FALSE;
+
+ /* get the cluster size */
+ hDlgCtrl = GetDlgItem(hwndDlg, 28680);
+ iSelIndex = SendMessageW(hDlgCtrl, CB_GETCURSEL, 0, 0);
+ if (iSelIndex == CB_ERR)
+ {
+ FIXME("\n");
+ return;
+ }
+ ClusterSize = SendMessageW(hDlgCtrl, CB_GETITEMDATA, iSelIndex, 0);
+ if (ClusterSize == CB_ERR)
+ {
+ FIXME("\n");
+ return;
+ }
+
+ hDlgCtrl = GetDlgItem(hwndDlg, 28680);
+ ShowWindow(hDlgCtrl, SW_SHOW);
+ SendMessageW(hDlgCtrl, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
+ bSuccess = FALSE;
+
+ /* FIXME
+ * will cause display problems
+ * when performing more than one format
+ */
+ FormatDrvDialog = hwndDlg;
+
+ pContext->FormatEx(szDrive,
+ FMIFS_HARDDISK, /* FIXME */
+ szFileSys,
+ szLabel,
+ QuickFormat,
+ ClusterSize,
+ FormatExCB);
+
+ ShowWindow(hDlgCtrl, SW_HIDE);
+ FormatDrvDialog = NULL;
+ if (!bSuccess)
+ {
+ pContext->Result = SHFMT_ERROR;
+ }
+ else if (QuickFormat)
+ {
+ pContext->Result = SHFMT_OPT_FULL;
+ }
+ else
+ {
+ pContext->Result = FALSE;
+ }
+}
+
+
+BOOL
+CALLBACK
+FormatDriveDlg(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ PFORMAT_DRIVE_CONTEXT pContext;
+
+ switch(uMsg)
+ {
+ case WM_INITDIALOG:
+ InitializeFormatDriveDlg(hwndDlg, (PFORMAT_DRIVE_CONTEXT)lParam);
+ SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)lParam);
+ return TRUE;
+ case WM_COMMAND:
+ switch(LOWORD(wParam))
+ {
+ case IDOK:
+ pContext = (PFORMAT_DRIVE_CONTEXT)GetWindowLongPtr(hwndDlg,
DWLP_USER);
+ FormatDrive(hwndDlg, pContext);
+ break;
+ case IDCANCEL:
+ pContext = (PFORMAT_DRIVE_CONTEXT)GetWindowLongPtr(hwndDlg,
DWLP_USER);
+ EndDialog(hwndDlg, pContext->Result);
+ break;
+ case 28677: // filesystem combo
+ if (HIWORD(wParam) == CBN_SELENDOK)
+ {
+ pContext = (PFORMAT_DRIVE_CONTEXT)GetWindowLongPtr(hwndDlg,
DWLP_USER);
+ InsertDefaultClusterSizeForFs(hwndDlg, pContext);
+ }
+ break;
+ }
+ }
+ return FALSE;
+}
+
+
+BOOL
+InitializeFmifsLibrary(PFORMAT_DRIVE_CONTEXT pContext)
+{
+ INITIALIZE_FMIFS InitFmifs;
+ BOOLEAN ret;
+ HMODULE hLibrary;
+
+ hLibrary = pContext->hLibrary = LoadLibraryW(L"fmifs.dll");
+ if(!hLibrary)
+ {
+ ERR("failed to load fmifs.dll\n");
+ return FALSE;
+ }
+
+ InitFmifs = (INITIALIZE_FMIFS)GetProcAddress(hLibrary, "InitializeFmIfs");
+ if (!InitFmifs)
+ {
+ ERR("InitializeFmIfs export is missing\n");
+ FreeLibrary(hLibrary);
+ return FALSE;
+ }
+
+ ret = (*InitFmifs)(NULL, DLL_PROCESS_ATTACH, NULL);
+ if (!ret)
+ {
+ ERR("fmifs failed to initialize\n");
+ FreeLibrary(hLibrary);
+ return FALSE;
+ }
+
+ pContext->QueryAvailableFileSystemFormat =
(QUERY_AVAILABLEFSFORMAT)GetProcAddress(hLibrary,
"QueryAvailableFileSystemFormat");
+ if (!pContext->QueryAvailableFileSystemFormat)
+ {
+ ERR("QueryAvailableFileSystemFormat export is missing\n");
+ FreeLibrary(hLibrary);
+ return FALSE;
+ }
+
+ pContext->FormatEx = (FORMAT_EX) GetProcAddress(hLibrary, "FormatEx");
+ if (!pContext->FormatEx)
+ {
+ ERR("FormatEx export is missing\n");
+ FreeLibrary(hLibrary);
+ return FALSE;
+ }
+
+ pContext->EnableVolumeCompression = (ENABLEVOLUMECOMPRESSION)
GetProcAddress(hLibrary, "EnableVolumeCompression");
+ if (!pContext->FormatEx)
+ {
+ ERR("EnableVolumeCompression export is missing\n");
+ FreeLibrary(hLibrary);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+/*************************************************************************
+ * SHFormatDrive (SHELL32.@)
+ */
+
+DWORD
+WINAPI
+SHFormatDrive(HWND hwnd, UINT drive, UINT fmtID, UINT options)
+{
+ FORMAT_DRIVE_CONTEXT Context;
+ int result;
+
+ TRACE("%p, 0x%08x, 0x%08x, 0x%08x - stub\n", hwnd, drive, fmtID, options);
+
+ if (!InitializeFmifsLibrary(&Context))
+ {
+ ERR("failed to initialize fmifs\n");
+ return SHFMT_NOFORMAT;
+ }
+
+ Context.Drive = drive;
+ Context.Options = options;
+
+ result = DialogBoxParamW(shell32_hInstance, L"FORMAT_DLG", hwnd,
FormatDriveDlg, (LPARAM)&Context);
+
+ FreeLibrary(Context.hLibrary);
+ return result;
+}
+
+
Modified: trunk/reactos/dll/win32/shell32/lang/bg-BG.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/bg-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -732,8 +732,10 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
-
-
-
-
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
+
+
+
+
Modified: trunk/reactos/dll/win32/shell32/lang/ca-ES.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ca-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/cs-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -730,4 +730,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/da-DK.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/da-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/de-DE.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/de-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -547,7 +547,7 @@
FORMAT_DLG DIALOGEX 50, 50, 184, 218
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE |
WS_CAPTION
-CAPTION "Formatieren"
+CAPTION "Formatieren von"
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "&Starten", IDOK, 53, 198, 60, 14
@@ -731,4 +731,6 @@
IDS_PRINTERS "Drucker"
IDS_FONTS "Schriftarten"
IDS_INSTALLNEWFONT "Neue Schriftart installieren..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Standardgröße"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/el-GR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/el-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/en-GB.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -730,4 +730,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/es-ES.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/es-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -731,4 +731,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/fi-FI.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fi-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fr-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -733,4 +733,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/hu-HU.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/hu-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -732,4 +732,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/it-IT.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/it-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -730,4 +730,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/ja-JP.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ja-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+
+END
Modified: trunk/reactos/dll/win32/shell32/lang/ko-KR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ko-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/nl-NL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/nl-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/no-NO.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/no-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -707,4 +707,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/pl-PL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pl-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -735,4 +735,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/pt-BR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -731,4 +731,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/pt-PT.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -731,4 +731,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/ru-RU.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ru-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -727,4 +727,6 @@
IDS_PRINTERS "Ïðèíòåðû"
IDS_FONTS "Øðèôòû"
IDS_INSTALLNEWFONT "Óñòàíîâèòü íîâûé øðèôò..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/sk-SK.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sk-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -735,4 +735,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/sl-SI.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sl-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/sv-SE.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sv-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/tr-TR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/tr-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -729,4 +729,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -730,4 +730,6 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
Modified: trunk/reactos/dll/win32/shell32/lang/zh-CN.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -717,5 +717,7 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
-END
-
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+END
+
Modified: trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -730,6 +730,9 @@
IDS_PRINTERS "Printers"
IDS_FONTS "Fonts"
IDS_INSTALLNEWFONT "Install New Font..."
+
+ IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
+
END
#pragma code_page(default)
Modified: trunk/reactos/dll/win32/shell32/shellord.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shellord…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shellord.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shellord.c [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -2057,13 +2057,6 @@
return S_OK;
}
-DWORD WINAPI SHFormatDrive(HWND hwnd, UINT drive, UINT fmtID, UINT options)
-{
- FIXME("%p, 0x%08x, 0x%08x, 0x%08x - stub\n", hwnd, drive, fmtID, options);
-
- return SHFMT_NOFORMAT;
-}
-
HRESULT WINAPI SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
{
LPWSTR szRootPathW = NULL;
Modified: trunk/reactos/dll/win32/shell32/shresdef.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shresdef…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] Wed Aug 13 16:29:29 2008
@@ -160,6 +160,7 @@
#define IDS_SHV_COLUMN_MODEL 322
#define IDS_CUT 323
#define IDS_RESTORE 324
+#define IDS_DEFAULT_CLUSTER_SIZE 325
/* Note: this string is referenced from the registry */
#define IDS_RECYCLEBIN_FOLDER_NAME 8964