#include "precomp.h"
#include <math.h>
#include <devguid.h>
#include <ndk/iofuncs.h>
#include <ndk/obfuncs.h>
Go to the source code of this file.
|
| enum | HWPAGE_DISPLAYMODE {
HWPD_STANDARDLIST = 0
, HWPD_LARGELIST
, HWPD_MAX = HWPD_LARGELIST
, HWPD_STANDARDLIST = 0
,
HWPD_LARGELIST
, HWPD_MAX = HWPD_LARGELIST
, HWPD_STANDARDLIST = 0
, HWPD_LARGELIST
,
HWPD_MAX = HWPD_LARGELIST
, HWPD_STANDARDLIST = 0
, HWPD_LARGELIST
, HWPD_MAX = HWPD_LARGELIST
} |
| |
|
| | WINE_DEFAULT_DEBUG_CHANNEL (shell) |
| |
| EXTERN_C HWND WINAPI | DeviceCreateHardwarePageEx (HWND hWndParent, LPGUID lpGuids, UINT uNumberOfGuids, HWPAGE_DISPLAYMODE DisplayMode) |
| |
| UINT | SH_FormatByteSize (LONGLONG cbSize, LPWSTR pwszResult, UINT cchResultMax) |
| |
| static VOID | GetDriveNameWithLetter (LPWSTR pwszText, UINT cchTextMax, LPCWSTR pwszDrive) |
| |
| static VOID | InitializeChkDskDialog (HWND hwndDlg, LPCWSTR pwszDrive) |
| |
| static BOOLEAN NTAPI | ChkdskCallback (IN CALLBACKCOMMAND Command, IN ULONG SubAction, IN PVOID ActionInfo) |
| |
| static VOID | ChkDskNow (HWND hwndDlg, LPCWSTR pwszDrive) |
| |
| static INT_PTR CALLBACK | ChkDskDlg (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
| |
| static BOOL | GetDriveTypeAndCharacteristics (HANDLE hDevice, DEVICE_TYPE *pDeviceType, ULONG *pCharacteristics) |
| |
| BOOL | IsDriveFloppyW (LPCWSTR pszDriveRoot) |
| |
| BOOL | IsDriveFloppyA (LPCSTR pszDriveRoot) |
| |
| static bool | IsValidDrivePath (PCWSTR Path) |
| |
◆ _USE_MATH_DEFINES
◆ NTOS_MODE_USER
◆ PHWPAGE_DISPLAYMODE
◆ HWPAGE_DISPLAYMODE
| Enumerator |
|---|
| HWPD_STANDARDLIST | |
| HWPD_LARGELIST | |
| HWPD_MAX | |
| HWPD_STANDARDLIST | |
| HWPD_LARGELIST | |
| HWPD_MAX | |
| HWPD_STANDARDLIST | |
| HWPD_LARGELIST | |
| HWPD_MAX | |
| HWPD_STANDARDLIST | |
| HWPD_LARGELIST | |
| HWPD_MAX | |
Definition at line 35 of file drvdefext.cpp.
36{
enum HWPAGE_DISPLAYMODE * PHWPAGE_DISPLAYMODE
◆ ChkdskCallback()
Definition at line 85 of file drvdefext.cpp.
89{
93 {
95 Progress = (
PDWORD)ActionInfo;
97 break;
101 break;
102
109 break;
110
111 default:
112 break;
113 }
114
116}
static HWND hChkdskDrvDialog
static BOOLEAN bChkdskSuccess
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
◆ ChkDskDlg()
Definition at line 160 of file drvdefext.cpp.
165{
166 switch(uMsg)
167 {
174 {
177 break;
179 {
182 break;
183 }
184 }
185 break;
186 }
187
189}
static VOID ChkDskNow(HWND hwndDlg, LPCWSTR pwszDrive)
static VOID InitializeChkDskDialog(HWND hwndDlg, LPCWSTR pwszDrive)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
Referenced by CDrvDefExt::ExtraPageProc().
◆ ChkDskNow()
Definition at line 119 of file drvdefext.cpp.
120{
121
125
127 {
128 FIXME(
"failed to get drive fs type\n");
129 return;
130 }
131
133 {
134 FIXME(
"failed to get drive space type\n");
135 return;
136 }
137
138
139
140
141
142
143
145 bCorrectErrors =
TRUE;
146
149
154
157}
VOID NTAPI Chkdsk(IN PWCHAR DriveRoot, IN PWCHAR Format, IN BOOLEAN CorrectErrors, IN BOOLEAN Verbose, IN BOOLEAN CheckOnlyIfDirty, IN BOOLEAN ScanDrive, IN PVOID Unused2, IN PVOID Unused3, IN PFMIFSCALLBACK Callback)
BOOL WINAPI GetDiskFreeSpaceExW(IN LPCWSTR lpDirectoryName OPTIONAL, OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller, OUT PULARGE_INTEGER lpTotalNumberOfBytes, OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes)
BOOL WINAPI GetVolumeInformationW(IN LPCWSTR lpRootPathName, IN LPWSTR lpVolumeNameBuffer, IN DWORD nVolumeNameSize, OUT LPDWORD lpVolumeSerialNumber OPTIONAL, OUT LPDWORD lpMaximumComponentLength OPTIONAL, OUT LPDWORD lpFileSystemFlags OPTIONAL, OUT LPWSTR lpFileSystemNameBuffer OPTIONAL, IN DWORD nFileSystemNameSize)
PFMIFSCALLBACK ChkdskCallback
Referenced by ChkDskDlg().
◆ DeviceCreateHardwarePageEx()
◆ GetDriveNameWithLetter()
Definition at line 50 of file drvdefext.cpp.
51{
52 DWORD dwMaxComp, dwFileSys;
54
56 {
59 {
60
62 }
63 }
64
66}
#define shell32_hInstance
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Referenced by InitializeChkDskDialog().
◆ GetDriveTypeAndCharacteristics()
Definition at line 301 of file drvdefext.cpp.
302{
306
311 {
313 *pCharacteristics =
DeviceInfo.Characteristics;
315 }
316
318}
_In_ PIO_STATUS_BLOCK IoStatusBlock
@ FileFsDeviceInformation
NTSTATUS NTAPI NtQueryVolumeInformationFile(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID FsInformation, ULONG Length, FS_INFORMATION_CLASS FsInformationClass)
Referenced by IsDriveFloppyW().
◆ InitializeChkDskDialog()
Definition at line 69 of file drvdefext.cpp.
70{
74
79}
static VOID GetDriveNameWithLetter(LPWSTR pwszText, UINT cchTextMax, LPCWSTR pwszDrive)
_In_ ULONG _In_ ULONG _In_ ULONG Length
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Referenced by ChkDskDlg().
◆ IsDriveFloppyA()
Definition at line 386 of file drvdefext.cpp.
387{
391}
#define MultiByteToWideChar
BOOL IsDriveFloppyW(LPCWSTR pszDriveRoot)
◆ IsDriveFloppyW()
Definition at line 320 of file drvdefext.cpp.
321{
322 LPCWSTR RootPath = pszDriveRoot;
323 WCHAR szRoot[16], szDeviceName[16];
327 ULONG ulCharacteristics;
329
331
332 if (
L'a' <= szRoot[0] && szRoot[0] <=
'z')
333 {
334 szRoot[0] += ('A' - 'a');
335 }
336
337 if (
'A' <= szRoot[0] && szRoot[0] <=
L'Z' &&
338 szRoot[1] ==
L':' && szRoot[2] == 0)
339 {
340
342 szRoot[3] = 0;
343 }
344
346 {
348 }
349
352 {
353 if (szRoot[0] ==
L'A' || szRoot[0] ==
L'B')
355 }
356 else
357 {
359 }
360
362 szDeviceName[4] = szRoot[0];
363 szDeviceName[5] =
L':';
365
370 {
372 }
373
376 {
379 }
380
382
384}
#define INVALID_HANDLE_VALUE
UINT WINAPI GetDriveTypeW(IN LPCWSTR lpRootPathName)
BOOL WINAPI PathIsRootW(const WCHAR *path)
static BOOL GetDriveTypeAndCharacteristics(HANDLE hDevice, DEVICE_TYPE *pDeviceType, ULONG *pCharacteristics)
#define FILE_READ_ATTRIBUTES
#define FILE_FLOPPY_DISKETTE
Referenced by CDrvDefExt::InitGeneralPage(), IsDriveFloppyA(), IsFloppy(), and IsFloppyDrive().
◆ IsValidDrivePath()
◆ SH_FormatByteSize()
Definition at line 274 of file filedefext.cpp.
275{
276
278 if (!cchWritten)
279 return 0;
280
281
282 LPWSTR pwszEnd = pwszResult + cchWritten;
283 size_t cchRemaining = cchResultMax - cchWritten;
286 cchRemaining -= cchWritten;
287
288 return cchResultMax - cchRemaining;
289}
UINT SH_FormatInteger(LONGLONG Num, LPWSTR pwszResult, UINT cchResultMax)
STRSAFEAPI StringCchCopyExW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, STRSAFE_LPWSTR *ppszDestEnd, size_t *pcchRemaining, STRSAFE_DWORD dwFlags)
Referenced by CDrvDefExt::InitGeneralPage(), and SH_FormatFileSizeWithBytes().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
| WINE_DEFAULT_DEBUG_CHANNEL |
( |
shell |
| ) |
|
◆ bChkdskSuccess
◆ hChkdskDrvDialog