mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 18:01:07 +00:00
- Merge to trunk r37270.
- Modified rbuild files to conform to trunk. - Added spec file for bzip2 - Covert user32 to use pspec and use it for WIN64 specific exports. - Added liboldnames in rbuild, needed to fix explorer build. - Comented out code in mingw startup lib that requires linking to kernel32 (mostly security cookie code, which is not used). - Remove unneeded stubs from amd64stubs.c - i386 builds again, explorer crashes, need to investigate further. svn path=/branches/ros-amd64-bringup/; revision=37279
This commit is contained in:
commit
353e29a6a9
|
@ -214,6 +214,7 @@ ifeq ($(HALFVERBOSEECHO),yes)
|
|||
ECHO_BUILDNO =@echo $(QUOTE)[BUILDNO] $@$(QUOTE)
|
||||
ECHO_INVOKE =@echo $(QUOTE)[INVOKE] $<$(QUOTE)
|
||||
ECHO_PCH =@echo $(QUOTE)[PCH] $@$(QUOTE)
|
||||
ECHO_CPP =@echo $(QUOTE)[CPP] $@$(QUOTE)
|
||||
ECHO_CC =@echo $(QUOTE)[CC] $<$(QUOTE)
|
||||
ECHO_CL =@echo $(QUOTE)[CL] $<$(QUOTE)
|
||||
ECHO_GAS =@echo $(QUOTE)[GAS] $<$(QUOTE)
|
||||
|
@ -246,6 +247,7 @@ else
|
|||
ECHO_BUILDNO =
|
||||
ECHO_INVOKE =
|
||||
ECHO_PCH =
|
||||
ECHO_CPP =
|
||||
ECHO_CC =
|
||||
ECHO_GAS =
|
||||
ECHO_NASM =
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<property name="usewrc" value="false"/>
|
||||
<property name="WINEBUILD_FLAGS" value="--kill-at"/>
|
||||
<property name="NTOSKRNL_SHARED" value="-shared"/>
|
||||
<linkerflag>-enable-stdcall-fixup</linkerflag>
|
||||
<linkerflag>-disable-stdcall-fixup</linkerflag>
|
||||
<compilerflag>-U_X86_</compilerflag>
|
||||
|
||||
<if property="OPTIMIZE" value="1">
|
||||
|
@ -43,9 +43,9 @@
|
|||
<compilerflag>-mpreferred-stack-boundary=4</compilerflag>
|
||||
<compilerflag>-fno-strict-aliasing</compilerflag>
|
||||
<compilerflag>-Wno-strict-aliasing</compilerflag>
|
||||
<compilerflag>-fno-ira</compilerflag>
|
||||
<compilerflag>-Wpointer-arith</compilerflag>
|
||||
<compilerflag>-Wno-uninitialized</compilerflag>
|
||||
<linkerflag>-enable-stdcall-fixup</linkerflag>
|
||||
<linkerflag>-disable-stdcall-fixup</linkerflag>
|
||||
<linkerflag>-static</linkerflag>
|
||||
|
||||
<!-- Here starts <xi:include href="ReactOS-generic.rbuild" /> -->
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
</directory>
|
||||
<directory name="ntoskrnl">
|
||||
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
|
||||
<!-- <xi:include href="ntoskrnl/ntkrnlmp.rbuild" /> -->
|
||||
<xi:include href="ntoskrnl/ntkrnlmp.rbuild" />
|
||||
</directory>
|
||||
<directory name="subsystems">
|
||||
<xi:include href="subsystems/subsystems.rbuild" />
|
||||
|
|
|
@ -448,7 +448,7 @@ BEGIN
|
|||
IDS_CONV_CONSUMPTION "Ðàñõîä òîïëèâà (äâèãàòåëè)"
|
||||
IDS_CONV_CURRENCY "Âàëþòà"
|
||||
IDS_CONV_ENERGY "Ýíåðãèÿ"
|
||||
IDS_CONV_LENGTH "Äëèííà"
|
||||
IDS_CONV_LENGTH "Äëèíà"
|
||||
IDS_CONV_POWER "Ìîùíîñòü"
|
||||
IDS_CONV_PRESSURE "Äàâëåíèå"
|
||||
IDS_CONV_TEMPERATURE "Òåìïåðàòóðà"
|
||||
|
|
|
@ -239,20 +239,20 @@ END
|
|||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Calculator"
|
||||
CAPTION "Êàëüêóëÿòîð ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Convert",IDC_BUTTON_CONVERT,35,105,76,17
|
||||
PUSHBUTTON "Ïåðåâåñòè",IDC_BUTTON_CONVERT,35,105,76,17
|
||||
COMBOBOX IDC_COMBO_CATEGORY,4,31,140,168,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Category:",IDC_STATIC,4,20,56,8
|
||||
LTEXT "Êàòåãîð³ÿ:",IDC_STATIC,4,20,56,8
|
||||
COMBOBOX IDC_COMBO_FROM,4,60,140,168,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Convert from:",IDC_STATIC,4,49,56,8
|
||||
LTEXT "Âèõ³äíà âåëè÷èíà (""ç""):",IDC_STATIC,4,49,56,8
|
||||
COMBOBOX IDC_COMBO_TO,4,87,140,168,CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Convert to:",IDC_STATIC,4,76,56,8
|
||||
LTEXT "ʳíöåâà âåëè÷èíà (""â""):",IDC_STATIC,4,76,56,8
|
||||
CONTROL "C",IDC_BUTTON_CANC,"Button",BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17
|
||||
CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER |
|
||||
|
@ -452,17 +452,17 @@ END
|
|||
// types of conversion
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CONV_AREA "Area"
|
||||
IDS_CONV_CONSUMPTION "Consumption (engines)"
|
||||
IDS_CONV_CURRENCY "Currencies"
|
||||
IDS_CONV_ENERGY "Energy"
|
||||
IDS_CONV_LENGTH "Lenghts"
|
||||
IDS_CONV_POWER "Power"
|
||||
IDS_CONV_PRESSURE "Pressure"
|
||||
IDS_CONV_TEMPERATURE "Temperature"
|
||||
IDS_CONV_VELOCITY "Velocity"
|
||||
IDS_CONV_VOLUME "Volume"
|
||||
IDS_CONV_WEIGHT "Weights"
|
||||
IDS_CONV_AREA "Ïëîùà"
|
||||
IDS_CONV_CONSUMPTION "Âèòðàòà ïàëèâà (äâèãóíè)"
|
||||
IDS_CONV_CURRENCY "Âàëþòà"
|
||||
IDS_CONV_ENERGY "Åíåðã³ÿ"
|
||||
IDS_CONV_LENGTH "Äîâæèíà"
|
||||
IDS_CONV_POWER "Ïîòóæí³ñòü"
|
||||
IDS_CONV_PRESSURE "Òèñê"
|
||||
IDS_CONV_TEMPERATURE "Òåìïåðàòóðà"
|
||||
IDS_CONV_VELOCITY "Øâèäê³ñòü"
|
||||
IDS_CONV_VOLUME "Îá'ºì"
|
||||
IDS_CONV_WEIGHT "Âàãà"
|
||||
END
|
||||
|
||||
// TYPES OF AREAS
|
||||
|
|
|
@ -24,6 +24,8 @@ HINSTANCE hInst;
|
|||
HANDLE hProcessHeap;
|
||||
HMODULE hDllLib;
|
||||
ULONG ulCurrentLayoutNum = 1;
|
||||
UINT cxSmIcon, cySmIcon;
|
||||
|
||||
|
||||
static HICON
|
||||
CreateTrayIcon(LPTSTR szLCID)
|
||||
|
@ -49,18 +51,18 @@ CreateTrayIcon(LPTSTR szLCID)
|
|||
|
||||
hdcsrc = GetDC(NULL);
|
||||
hdc = CreateCompatibleDC(hdcsrc);
|
||||
hBitmap = CreateCompatibleBitmap(hdcsrc, 16, 16);
|
||||
hBitmap = CreateCompatibleBitmap(hdcsrc, cxSmIcon, cySmIcon);
|
||||
ReleaseDC(NULL, hdcsrc);
|
||||
|
||||
if (hdc && hBitmap)
|
||||
{
|
||||
hBmpNew = CreateBitmap(16, 16, 1, 1, NULL);
|
||||
hBmpNew = CreateBitmap(cxSmIcon, cySmIcon, 1, 1, NULL);
|
||||
if (hBmpNew)
|
||||
{
|
||||
hBmpOld = SelectObject(hdc, hBitmap);
|
||||
rect.right = 16;
|
||||
rect.right = cxSmIcon;
|
||||
rect.left = 0;
|
||||
rect.bottom = 16;
|
||||
rect.bottom = cySmIcon;
|
||||
rect.top = 0;
|
||||
|
||||
bkColor = SetBkColor(hdc, GetSysColor(COLOR_HIGHLIGHT));
|
||||
|
@ -68,14 +70,14 @@ CreateTrayIcon(LPTSTR szLCID)
|
|||
|
||||
ExtTextOut(hdc, rect.left, rect.top, ETO_OPAQUE, &rect, _T(""), 0, NULL);
|
||||
|
||||
hFont = CreateFont(-11, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
|
||||
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
|
||||
DEFAULT_QUALITY, FF_DONTCARE, _T("Tahoma"));
|
||||
hFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT);
|
||||
if (!hFont)
|
||||
goto End;
|
||||
|
||||
hFontOld = SelectObject(hdc, hFont);
|
||||
DrawText(hdc, _tcsupr(szBuf), 2, &rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER);
|
||||
SelectObject(hdc, hBmpNew);
|
||||
PatBlt(hdc, 0, 0, 16, 16, BLACKNESS);
|
||||
PatBlt(hdc, 0, 0, cxSmIcon, cySmIcon, BLACKNESS);
|
||||
SelectObject(hdc, hBmpOld);
|
||||
SelectObject(hdc, hFontOld);
|
||||
|
||||
|
@ -84,15 +86,15 @@ CreateTrayIcon(LPTSTR szLCID)
|
|||
IconInfo.fIcon = TRUE;
|
||||
|
||||
hIcon = CreateIconIndirect(&IconInfo);
|
||||
|
||||
DeleteObject(hBmpNew);
|
||||
DeleteObject(hBmpOld);
|
||||
DeleteObject(hFont);
|
||||
End:
|
||||
if (hBmpNew) DeleteObject(hBmpNew);
|
||||
if (hBmpOld) DeleteObject(hBmpOld);
|
||||
if (hFont) DeleteObject(hFont);
|
||||
}
|
||||
}
|
||||
|
||||
DeleteDC(hdc);
|
||||
DeleteObject(hBitmap);
|
||||
if (hdc) DeleteDC(hdc);
|
||||
if (hBitmap) DeleteObject(hBitmap);
|
||||
|
||||
return hIcon;
|
||||
}
|
||||
|
@ -384,6 +386,23 @@ GetNextLayout()
|
|||
return -1;
|
||||
}
|
||||
|
||||
static VOID
|
||||
SettingsChanging(HWND hwnd)
|
||||
{
|
||||
UINT cxSmIconCur = 0, cySmIconCur = 0;
|
||||
|
||||
cxSmIconCur = GetSystemMetrics(SM_CXSMICON);
|
||||
cySmIconCur = GetSystemMetrics(SM_CYSMICON);
|
||||
|
||||
if ((cxSmIcon != cxSmIconCur) || (cySmIcon != cySmIconCur))
|
||||
{
|
||||
cxSmIcon = cxSmIconCur;
|
||||
cySmIcon = cySmIconCur;
|
||||
}
|
||||
|
||||
ActivateLayout(hwnd, ulCurrentLayoutNum);
|
||||
}
|
||||
|
||||
LRESULT CALLBACK
|
||||
WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
@ -394,6 +413,9 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
case WM_CREATE:
|
||||
{
|
||||
cxSmIcon = GetSystemMetrics(SM_CXSMICON);
|
||||
cySmIcon = GetSystemMetrics(SM_CYSMICON);
|
||||
|
||||
SetHooks();
|
||||
AddTrayIcon(hwnd);
|
||||
hRightPopupMenu = GetSubMenu(LoadMenu(hInst, MAKEINTRESOURCE(IDR_POPUP)), 0);
|
||||
|
@ -489,6 +511,8 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
case WM_SETTINGCHANGE:
|
||||
{
|
||||
SettingsChanging(hwnd);
|
||||
|
||||
if (wParam == SPI_SETDEFAULTINPUTLANG)
|
||||
{
|
||||
//FIXME: Should detect default language changes by CPL applet or by other tools and update UI
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/mscutils/eventvwr/lang/ru-RU.rc
|
||||
* PURPOSE: Russian Language File for ReactOS Event Viewer
|
||||
* TRANSLATORS: Dmitry Chapyshev
|
||||
* TRANSLATORS: Dmitry Chapyshev, Artem Reznikov
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
@ -93,12 +93,12 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Ïðîñìîòð ñîáûòèé"
|
||||
IDC_EVENTSTRINGIDNOTFOUND "The description for Event ID ( %lu ) in Source ( %s ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer."
|
||||
IDC_EVENTLOG_ERROR_TYPE "Error"
|
||||
IDC_EVENTLOG_WARNING_TYPE "Warning"
|
||||
IDC_EVENTLOG_INFORMATION_TYPE "Information"
|
||||
IDC_EVENTLOG_AUDIT_SUCCESS "Audit Success"
|
||||
IDC_EVENTLOG_AUDIT_FAILURE "Audit Failure"
|
||||
IDC_EVENTLOG_SUCCESS "Success"
|
||||
IDC_EVENTLOG_UNKNOWN_TYPE "Unknown Event"
|
||||
IDC_EVENTSTRINGIDNOTFOUND "Не найдено описание для события с кодом ( %lu ) в источнике ( %s ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера."
|
||||
IDC_EVENTLOG_ERROR_TYPE "Ошибка"
|
||||
IDC_EVENTLOG_WARNING_TYPE "Предупреждение"
|
||||
IDC_EVENTLOG_INFORMATION_TYPE "Уведомление"
|
||||
IDC_EVENTLOG_AUDIT_SUCCESS "Аудит успехов"
|
||||
IDC_EVENTLOG_AUDIT_FAILURE "Аудит отказов"
|
||||
IDC_EVENTLOG_SUCCESS "Успех"
|
||||
IDC_EVENTLOG_UNKNOWN_TYPE "Неизвестное событие"
|
||||
END
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/mscutils/eventvwr/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Event Viewer
|
||||
* TRANSLATORS: Rostislav Zabolotny
|
||||
* TRANSLATORS: Rostislav Zabolotny, Artem Reznikov
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
@ -94,11 +94,11 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_APP_TITLE "Îãëÿäà÷ ïîä³é"
|
||||
IDC_EVENTSTRINGIDNOTFOUND "Îïèñ äëÿ ²äåíòèô³êàòîðà ïî䳿( %lu ) çà äæåðåëîì( %s ) íå çíàéäåíî. Ëîêàëüíèé êîìï'þòåð ìîæå íå ìàòè íåîáõ³äíî¿ ³íôîðìàö³¿ â ðåºñòð³ ÷è DLL ôàéë³â ïîâ³äîìëåíü äëÿ â³äîáðàæåííÿ ïîâ³äîìëåíü, ùî íàäõîäÿòü â³ä â³ääàëåíîãî êîìï'þòåðà."
|
||||
IDC_EVENTLOG_ERROR_TYPE "Error"
|
||||
IDC_EVENTLOG_WARNING_TYPE "Warning"
|
||||
IDC_EVENTLOG_INFORMATION_TYPE "Information"
|
||||
IDC_EVENTLOG_AUDIT_SUCCESS "Audit Success"
|
||||
IDC_EVENTLOG_AUDIT_FAILURE "Audit Failure"
|
||||
IDC_EVENTLOG_SUCCESS "Success"
|
||||
IDC_EVENTLOG_UNKNOWN_TYPE "Unknown Event"
|
||||
IDC_EVENTLOG_ERROR_TYPE "Ïîìèëêà"
|
||||
IDC_EVENTLOG_WARNING_TYPE "Ïîïåðåäæåííÿ"
|
||||
IDC_EVENTLOG_INFORMATION_TYPE "Ïîâ³äîìëåííÿ"
|
||||
IDC_EVENTLOG_AUDIT_SUCCESS "Àóäèò óñï³õ³â"
|
||||
IDC_EVENTLOG_AUDIT_FAILURE "Àóäèò â³äìîâ"
|
||||
IDC_EVENTLOG_SUCCESS "Óñï³õ"
|
||||
IDC_EVENTLOG_UNKNOWN_TYPE "Íåâ³äîìà ïîä³ÿ"
|
||||
END
|
||||
|
|
|
@ -174,11 +174,14 @@ ChangeListViewText(PMAIN_WND_INFO Info,
|
|||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
|
||||
switch (lpServiceConfig->dwStartType)
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
case 2: StringId = IDS_SERVICES_AUTO; break;
|
||||
case 3: StringId = IDS_SERVICES_MAN; break;
|
||||
case 4: StringId = IDS_SERVICES_DIS; break;
|
||||
switch (lpServiceConfig->dwStartType)
|
||||
{
|
||||
case 2: StringId = IDS_SERVICES_AUTO; break;
|
||||
case 3: StringId = IDS_SERVICES_MAN; break;
|
||||
case 4: StringId = IDS_SERVICES_DIS; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (StringId)
|
||||
|
|
|
@ -66,6 +66,6 @@ BEGIN
|
|||
IDS_PIXEL "%lu íà %lu êðàïîê"
|
||||
IDS_FULLSCREEN "Íà âåñü åêðàí"
|
||||
IDS_BROWSESERVER "<Ïîøóê ³íøèõ...>"
|
||||
IDS_HEADERTEXT1 "Remote Desktop"
|
||||
IDS_HEADERTEXT2 "Connection"
|
||||
IDS_HEADERTEXT1 "³ääàëåíå êåðóâàííÿ ðîáî÷èì ñòîëîì"
|
||||
IDS_HEADERTEXT2 "ϳäêëþ÷åííÿ"
|
||||
END
|
||||
|
|
|
@ -19,148 +19,148 @@ INT cmdHelp(INT argc, CHAR **argv)
|
|||
|
||||
if (strcmp(argv[0],"ACCOUNTS")==0)
|
||||
{
|
||||
printf("ACCOUNTS\n");
|
||||
printf("help text\n");
|
||||
puts("ACCOUNTS");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"COMPUTER")==0)
|
||||
{
|
||||
printf("COMPUTER\n");
|
||||
printf("help text\n");
|
||||
puts("COMPUTER");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"CONFIG")==0)
|
||||
{
|
||||
printf("CONFIG\n");
|
||||
printf("help text\n");
|
||||
puts("CONFIG");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"CONTINUE")==0)
|
||||
{
|
||||
printf("CONTINUE\n");
|
||||
printf("help text\n");
|
||||
puts("CONTINUE");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"FILE")==0)
|
||||
{
|
||||
printf("FILE\n");
|
||||
printf("help text\n");
|
||||
puts("FILE");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"GROUP")==0)
|
||||
{
|
||||
printf("GROUP\n");
|
||||
printf("help text\n");
|
||||
puts("GROUP");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"HELP")==0)
|
||||
{
|
||||
printf("HELP\n");
|
||||
printf("help text\n");
|
||||
puts("HELP");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"HELPMSG")==0)
|
||||
{
|
||||
printf("HELPMSG\n");
|
||||
printf("help text\n");
|
||||
puts("HELPMSG");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"LOCALGROUP")==0)
|
||||
{
|
||||
printf("LOCALGROUP\n");
|
||||
printf("help text\n");
|
||||
puts("LOCALGROUP");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"NAME")==0)
|
||||
{
|
||||
printf("NAME\n");
|
||||
printf("help text\n");
|
||||
puts("NAME");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"PRINT")==0)
|
||||
{
|
||||
printf("PRINT\n");
|
||||
printf("help text\n");
|
||||
puts("PRINT");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"SEND")==0)
|
||||
{
|
||||
printf("SEND\n");
|
||||
printf("help text\n");
|
||||
puts("SEND");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"SESSION")==0)
|
||||
{
|
||||
printf("SESSION\n");
|
||||
printf("help text\n");
|
||||
puts("SESSION");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"SHARE")==0)
|
||||
{
|
||||
printf("SHARE\n");
|
||||
printf("help text\n");
|
||||
puts("SHARE");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"START")==0)
|
||||
{
|
||||
printf("START\n");
|
||||
printf("help text\n");
|
||||
puts("START");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"STATISTICS")==0)
|
||||
{
|
||||
printf("STATISTICS\n");
|
||||
printf("help text\n");
|
||||
puts("STATISTICS");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"STOP")==0)
|
||||
{
|
||||
printf("STOP\n");
|
||||
printf("help text\n");
|
||||
puts("STOP");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"TIME")==0)
|
||||
{
|
||||
printf("TIME\n");
|
||||
printf("help text\n");
|
||||
puts("TIME");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"USE")==0)
|
||||
{
|
||||
printf("USE\n");
|
||||
printf("help text\n");
|
||||
puts("USE");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"USER")==0)
|
||||
{
|
||||
printf("USER\n");
|
||||
printf("help text\n");
|
||||
puts("USER");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(argv[0],"VIEW")==0)
|
||||
{
|
||||
printf("VIEW\n");
|
||||
printf("help text\n");
|
||||
puts("VIEW");
|
||||
puts("help text");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -170,30 +170,30 @@ INT cmdHelp(INT argc, CHAR **argv)
|
|||
|
||||
void help()
|
||||
{
|
||||
printf("NET ACCOUNTS\n");
|
||||
printf("NET COMPUTER\n");
|
||||
printf("NET CONFIG\n");
|
||||
printf("NET CONFIG SERVER\n");
|
||||
printf("NET CONFIG WORKSTATION\n");
|
||||
printf("NET CONTINUE\n");
|
||||
printf("NET FILE\n");
|
||||
printf("NET GROUP\n");
|
||||
puts("NET ACCOUNTS");
|
||||
puts("NET COMPUTER");
|
||||
puts("NET CONFIG");
|
||||
puts("NET CONFIG SERVER");
|
||||
puts("NET CONFIG WORKSTATION");
|
||||
puts("NET CONTINUE");
|
||||
puts("NET FILE");
|
||||
puts("NET GROUP");
|
||||
|
||||
printf("NET HELP\n");
|
||||
printf("NET HELPMSG\n");
|
||||
printf("NET LOCALGROUP\n");
|
||||
printf("NET NAME\n");
|
||||
printf("NET PAUSE\n");
|
||||
printf("NET PRINT\n");
|
||||
printf("NET SEND\n");
|
||||
printf("NET SESSION\n");
|
||||
puts("NET HELP");
|
||||
puts("NET HELPMSG");
|
||||
puts("NET LOCALGROUP");
|
||||
puts("NET NAME");
|
||||
puts("NET PAUSE");
|
||||
puts("NET PRINT");
|
||||
puts("NET SEND");
|
||||
puts("NET SESSION");
|
||||
|
||||
printf("NET SHARE\n");
|
||||
printf("NET START\n");
|
||||
printf("NET STATISTICS\n");
|
||||
printf("NET STOP\n");
|
||||
printf("NET TIME\n");
|
||||
printf("NET USE\n");
|
||||
printf("NET USER\n");
|
||||
printf("NET VIEW\n");
|
||||
puts("NET SHARE");
|
||||
puts("NET START");
|
||||
puts("NET STATISTICS");
|
||||
puts("NET STOP");
|
||||
puts("NET TIME");
|
||||
puts("NET USE");
|
||||
puts("NET USER");
|
||||
puts("NET VIEW");
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ int main(int argc, char **argv)
|
|||
|
||||
int unimplement()
|
||||
{
|
||||
printf("This command is not implement yet\n");
|
||||
puts("This command is not implement yet");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,19 +14,6 @@
|
|||
|
||||
#define NDEBUG
|
||||
|
||||
#ifndef _MSC_VER
|
||||
|
||||
/* Should be in the header files somewhere (exported by ntdll.dll) */
|
||||
long atol(const char *str);
|
||||
|
||||
#ifndef __int64
|
||||
typedef long long __int64;
|
||||
#endif
|
||||
|
||||
char * _i64toa(__int64 value, char *string, int radix);
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
/* General ICMP constants */
|
||||
#define ICMP_MINSIZE 8 /* Minimum ICMP packet size */
|
||||
#define ICMP_MAXSIZE 65535 /* Maximum ICMP packet size */
|
||||
|
|
|
@ -871,19 +871,15 @@ VOID DIALOG_GoTo(VOID)
|
|||
|
||||
VOID DIALOG_StatusBarUpdateCaretPos(VOID)
|
||||
{
|
||||
int line;
|
||||
int col;
|
||||
int ccol;
|
||||
POINT point;
|
||||
int line, col;
|
||||
TCHAR buff[MAX_PATH];
|
||||
DWORD dwStart, dwSize;
|
||||
|
||||
GetCaretPos(&point);
|
||||
line = (int) SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)-1, (LPARAM)0);
|
||||
ccol = (int) SendMessage(Globals.hEdit, EM_CHARFROMPOS, (WPARAM)0, (LPARAM)MAKELPARAM(point.x, point.y));
|
||||
ccol = LOWORD(ccol);
|
||||
col = ccol - (int) SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, (LPARAM)0);
|
||||
SendMessage(Globals.hEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwSize);
|
||||
line = SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)dwStart, 0);
|
||||
col = dwStart - SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, 0);
|
||||
|
||||
_stprintf(buff, TEXT("%S %d, %S %d"), Globals.szStatusBarLine, line+1, Globals.szStatusBarCol, col+1);
|
||||
_stprintf(buff, Globals.szStatusBarLineCol, line+1, col+1);
|
||||
SendMessage(Globals.hStatusBar, SB_SETTEXT, (WPARAM) SB_SIMPLEID, (LPARAM)buff);
|
||||
}
|
||||
|
||||
|
@ -896,8 +892,7 @@ VOID DIALOG_ViewStatusBar(VOID)
|
|||
if ( !Globals.hStatusBar )
|
||||
{
|
||||
Globals.hStatusBar = CreateStatusWindow(WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE, TEXT("test"), Globals.hMainWnd, CMD_STATUSBAR_WND_ID );
|
||||
LoadString(Globals.hInstance, STRING_LINE, Globals.szStatusBarLine, MAX_PATH-1);
|
||||
LoadString(Globals.hInstance, STRING_COLUMN, Globals.szStatusBarCol, MAX_PATH-1);
|
||||
LoadString(Globals.hInstance, STRING_LINE_COLUMN, Globals.szStatusBarLineCol, MAX_PATH-1);
|
||||
SendMessage(Globals.hStatusBar, SB_SIMPLE, (WPARAM)TRUE, (LPARAM)0);
|
||||
}
|
||||
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_STATUSBAR,
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Óüèíäîóüñ"
|
||||
STRING_LF, "Þíèêñ"
|
||||
STRING_CR, "Ìàê"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -203,4 +203,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Zeile %d, Spalte %d"
|
||||
END
|
||||
|
|
|
@ -199,4 +199,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -195,7 +195,7 @@ STRING_NOTFOUND, "No se encontr
|
|||
STRING_OUT_OF_MEMORY, "No hay suficiente memoria para terminar esta \
|
||||
tarea. \nCierre una o más aplicaciones para \
|
||||
aumentar la cantidad \nde memoria libre."
|
||||
STRING_CANNOTFIND "No pudo encontrar '%s'"
|
||||
STRING_CANNOTFIND "No se encontró '%s'"
|
||||
STRING_ANSI, "ANSI"
|
||||
STRING_UNICODE, "Unicode"
|
||||
STRING_UNICODE_BE, "Unicode (big endian)"
|
||||
|
@ -203,5 +203,6 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Línea %d, columna %d"
|
||||
|
||||
END
|
||||
|
|
|
@ -179,5 +179,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Ligne %d, colonne %d"
|
||||
END
|
||||
|
|
|
@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -204,4 +204,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Linea %d, colonna %d"
|
||||
END
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows (CR+LF)"
|
||||
STRING_LF, "Unix (LF)"
|
||||
STRING_CR, "Mac (CR)"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -207,4 +207,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Ìàêèíòîø"
|
||||
STRING_LINE_COLUMN, "Ñòðîêà %d, ñòîëáåö %d"
|
||||
END
|
||||
|
|
|
@ -189,4 +189,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -193,4 +193,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -199,4 +199,5 @@ STRING_UTF8, "UTF-8"
|
|||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
END
|
||||
|
|
|
@ -302,6 +302,7 @@ LRESULT CALLBACK EDIT_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
switch (msg)
|
||||
{
|
||||
case WM_KEYDOWN:
|
||||
case WM_KEYUP:
|
||||
{
|
||||
switch (wParam)
|
||||
|
|
|
@ -61,8 +61,7 @@ typedef struct
|
|||
TCHAR szMarginRight[MAX_PATH];
|
||||
TCHAR szHeader[MAX_PATH];
|
||||
TCHAR szFooter[MAX_PATH];
|
||||
TCHAR szStatusBarLine[MAX_PATH];
|
||||
TCHAR szStatusBarCol[MAX_PATH];
|
||||
TCHAR szStatusBarLineCol[MAX_PATH];
|
||||
int iEncoding;
|
||||
int iEoln;
|
||||
|
||||
|
|
|
@ -101,5 +101,4 @@
|
|||
#define STRING_CR 0x184
|
||||
|
||||
#define STRING_LICENSE 0x185
|
||||
#define STRING_LINE 0x186
|
||||
#define STRING_COLUMN 0x187
|
||||
#define STRING_LINE_COLUMN 0x186
|
||||
|
|
|
@ -112,7 +112,7 @@ void LoadSettings(void)
|
|||
base_length = (GetSystemMetrics(SM_CXSCREEN) > GetSystemMetrics(SM_CYSCREEN))?
|
||||
GetSystemMetrics(SM_CYSCREEN) : GetSystemMetrics(SM_CXSCREEN);
|
||||
|
||||
dx = base_length * .95;
|
||||
dx = (INT)(base_length * .95);
|
||||
dy = dx * 3 / 4;
|
||||
SetRect( &Globals.main_rect, 0, 0, dx, dy );
|
||||
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="taskmgr" type="win32gui" installbase="system32" installname="taskmgr.exe" unicode="yes">
|
||||
<include base="taskmgr">.</include>
|
||||
<library>msvcrt</library>
|
||||
<library>ntdll</library>
|
||||
<library>ntsys</library>
|
||||
<library>kernel32</library>
|
||||
<library>advapi32</library>
|
||||
<library>user32</library>
|
||||
|
|
|
@ -1,63 +1,112 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Help Viewer
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: applications/winhelp/lang/uk-UA.rc
|
||||
* FILE: applications/winhlp32/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Help Viewer
|
||||
* PROGRAMMERS: Rostislav Zabolotny
|
||||
* PROGRAMMERS: Rostislav Zabolotny, Artem Reznikov
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
/* Menu */
|
||||
|
||||
MAIN_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MAIN_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
{
|
||||
POPUP "&Ôàéë" {
|
||||
MENUITEM "&³äêðèòè", MNID_FILE_OPEN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Äðóê", MNID_FILE_PRINT
|
||||
MENUITEM "Íàëàøòóâàííÿ &ïð³íòåðà...", MNID_FILE_SETUP
|
||||
MENUITEM "Ïàðà&ìåòðè äðóêó...", MNID_FILE_SETUP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", MNID_FILE_EXIT
|
||||
END
|
||||
POPUP "&Ïðàâêà"
|
||||
BEGIN
|
||||
}
|
||||
POPUP "&Ïðàâêà" {
|
||||
MENUITEM "&Êîï³þâàòè...", MNID_EDIT_COPYDLG
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îïèñ...", MNID_EDIT_ANNOTATE
|
||||
END
|
||||
POPUP "&Çàêëàäêà"
|
||||
BEGIN
|
||||
}
|
||||
POPUP "&Çàêëàäêà" {
|
||||
MENUITEM "&Âèçíà÷èòè...", MNID_BKMK_DEFINE
|
||||
END
|
||||
POPUP "&Äîïîìîãà"
|
||||
BEGIN
|
||||
MENUITEM "Äîïîìîãà &ïî äîïîìîç³", MNID_HELP_HELPON
|
||||
MENUITEM "&Íàä óñ³ìà â³êíàìè", MNID_HELP_HELPTOP
|
||||
}
|
||||
POPUP "Ï&àðàìåòðè" {
|
||||
POPUP "Äîâ³äêó çàâæäè âèäíî"
|
||||
BEGIN
|
||||
MENUITEM "Çà ïðîìîâ÷àííÿì", MNID_OPTS_HELP_DEFAULT
|
||||
MENUITEM "Âèäíî", MNID_OPTS_HELP_VISIBLE
|
||||
MENUITEM "Íå âèäíî", MNID_OPTS_HELP_NONVISIBLE
|
||||
END
|
||||
MENUITEM "²ñòîð³ÿ", MNID_OPTS_HISTORY
|
||||
POPUP "Øðèôò"
|
||||
BEGIN
|
||||
MENUITEM "Äð³áíèé", MNID_OPTS_FONTS_SMALL
|
||||
MENUITEM "Çâè÷àéíèé", MNID_OPTS_FONTS_NORMAL
|
||||
MENUITEM "Âåëèêèé", MNID_OPTS_FONTS_LARGE
|
||||
END
|
||||
MENUITEM "Âèêîðèñòîâóâàòè ñèñòåìí³ êîëüîðè", MNID_OPTS_SYSTEM_COLORS
|
||||
}
|
||||
POPUP "&Äîâ³äêà" {
|
||||
MENUITEM "Äîâ³äêà &ïî äîâ³äêó", MNID_HELP_HELPON
|
||||
MENUITEM "Íàä óñ³ìà â³êíàìè", MNID_HELP_HELPTOP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&²íôîðìàö³ÿ...", MNID_HELP_ABOUT
|
||||
#ifdef WINELIB
|
||||
MENUITEM "&Ïðî WINE", MNID_HELP_WINE
|
||||
#endif
|
||||
END
|
||||
END
|
||||
}
|
||||
}
|
||||
|
||||
IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
CAPTION "Ïðåäìåòíèé ïîêàæ÷èê"
|
||||
{
|
||||
LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER
|
||||
}
|
||||
|
||||
IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg"
|
||||
CAPTION "Search"
|
||||
{
|
||||
LTEXT "Ùå íå ðåàë³çîâàíî", -1, 10, 10, 180, 150
|
||||
}
|
||||
|
||||
/* Strings */
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
STID_WINE_HELP, "Äîïîìîãà WINE"
|
||||
STRINGTABLE DISCARDABLE LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
{
|
||||
STID_WINE_HELP, "Äîâ³äêà WINE"
|
||||
STID_WHERROR, "ÏÎÌÈËÊÀ"
|
||||
STID_WARNING, "ÏÎÏÅÐÅÄÆÅÍÍß"
|
||||
STID_INFO, "²íôîðìàö³ÿ"
|
||||
STID_INFO, "Ïîâ³äîìëåííÿ"
|
||||
STID_NOT_IMPLEMENTED, "Íå ðåàë³çîâàíî"
|
||||
STID_HLPFILE_ERROR_s, "Ïîìèëêà ï³ä ÷àñ ÷èòàííÿ ôàéëó äîïîìîãè `%s'"
|
||||
STID_CONTENTS, "&Çì³ñò"
|
||||
STID_SEARCH, "&Ïîøóê"
|
||||
STID_HLPFILE_ERROR_s, "Ïîìèëêà ï³ä ÷àñ ÷èòàííÿ ôàéëó äîâ³äêè `%s'"
|
||||
STID_INDEX, "&Ïðåäìåòíèé ïîêàæ÷èê"
|
||||
STID_CONTENTS, "Çì³ñò"
|
||||
STID_BACK, "&Íàçàä"
|
||||
STID_TOPICS, "&Ðîçä³ëè"
|
||||
STID_ALL_FILES, "Âñ³ ôàéëè (*.*)"
|
||||
STID_HELP_FILES_HLP, "Ôàéëè äîïîìîãè (*.hlp)"
|
||||
STID_ALL_FILES, "Óñ³ ôàéëè (*.*)"
|
||||
STID_HELP_FILES_HLP, "Ôàéëè äîâ³äêè (*.hlp)"
|
||||
STID_FILE_NOT_FOUND_s "Íå ìîæó çíàéòè '%s'. ×è íå áàæàºòå âêàçàòè ðîçòàøóâàííÿ ñàìîñò³éíî?"
|
||||
STID_NO_RICHEDIT "Íå ìîæó çíàéòè richedit... Ïåðåðèâàþ ðîáîòó"
|
||||
STID_PSH_INDEX, "Òåìè äîâ³äêè: "
|
||||
}
|
||||
|
||||
CONTEXT_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "Íîòàòêè...", MNID_CTXT_ANNOTATE
|
||||
MENUITEM "Êîï³þâàòè", MNID_CTXT_COPY
|
||||
MENUITEM "Äðóê...", MNID_CTXT_PRINT
|
||||
POPUP "Øðèôò"
|
||||
BEGIN
|
||||
MENUITEM "Äð³áíèé", MNID_CTXT_FONTS_SMALL
|
||||
MENUITEM "Çâè÷àéíèé", MNID_CTXT_FONTS_NORMAL
|
||||
MENUITEM "Âåëèêèé", MNID_CTXT_FONTS_LARGE
|
||||
END
|
||||
POPUP "Äîâ³äêó çàâæäè âèäíî"
|
||||
BEGIN
|
||||
MENUITEM "Çà ïðîìîâ÷àííÿì", MNID_CTXT_HELP_DEFAULT
|
||||
MENUITEM "Âèäíî", MNID_CTXT_HELP_VISIBLE
|
||||
MENUITEM "Íå âèäíî", MNID_CTXT_HELP_NONVISIBLE
|
||||
END
|
||||
MENUITEM "Âèêîðèñòîâóâàòè ñèñòåìí³ êîëüîðè", MNID_CTXT_SYSTEM_COLORS
|
||||
END
|
||||
END
|
||||
|
|
|
@ -52,5 +52,5 @@ IDI_WINHELP ICON DISCARDABLE winhelp.ico
|
|||
#include "lang/sk-SK.rc"
|
||||
#include "lang/sv-SE.rc"
|
||||
#include "lang/tr-TR.rc"
|
||||
// #include "lang/uk-UA.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
#include "lang/zh-CN.rc"
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<library>shell32</library>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<library>msvcrt</library>
|
||||
<library>advapi32</library>
|
||||
<library>kernel32</library>
|
||||
<library>comctl32</library>
|
||||
|
|
|
@ -97,7 +97,7 @@ int addr_eq( struct iaddr a, struct iaddr b ) {
|
|||
void *dmalloc( int size, char *name ) { return malloc( size ); }
|
||||
|
||||
int read_client_conf(void) {
|
||||
/* What a strage dance */
|
||||
/* What a strange dance */
|
||||
struct client_config *config;
|
||||
char ComputerName [MAX_COMPUTERNAME_LENGTH + 1];
|
||||
LPSTR lpCompName;
|
||||
|
@ -113,14 +113,16 @@ int read_client_conf(void) {
|
|||
|
||||
|
||||
GetComputerName(ComputerName, & ComputerNameSize);
|
||||
debug("Hostname: %s, length: %lu",
|
||||
ComputerName, ComputerNameSize);
|
||||
/* This never gets freed since it's only called once */
|
||||
lpCompName =
|
||||
HeapAlloc(GetProcessHeap(), 0, strlen(ComputerName) + 1);
|
||||
HeapAlloc(GetProcessHeap(), 0, ComputerNameSize + 1);
|
||||
if (lpCompName !=NULL) {
|
||||
GetComputerName(lpCompName, & ComputerNameSize);
|
||||
memcpy(lpCompName, ComputerName, ComputerNameSize + 1);
|
||||
/* Send our hostname, some dhcpds use this to update DNS */
|
||||
config->send_options[DHO_HOST_NAME].data = (u_int8_t*)strlwr(lpCompName);
|
||||
config->send_options[DHO_HOST_NAME].len = strlen(ComputerName);
|
||||
config->send_options[DHO_HOST_NAME].len = ComputerNameSize;
|
||||
debug("Hostname: %s, length: %d",
|
||||
config->send_options[DHO_HOST_NAME].data,
|
||||
config->send_options[DHO_HOST_NAME].len);
|
||||
|
|
|
@ -44,7 +44,6 @@ DWORD STDCALL RpcThreadRoutine(LPVOID lpParameter)
|
|||
|
||||
/* Function 0 */
|
||||
NTSTATUS ElfrClearELFW(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
PRPC_UNICODE_STRING BackupFileName)
|
||||
{
|
||||
|
@ -55,7 +54,6 @@ NTSTATUS ElfrClearELFW(
|
|||
|
||||
/* Function 1 */
|
||||
NTSTATUS ElfrBackupELFW(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
PRPC_UNICODE_STRING BackupFileName)
|
||||
{
|
||||
|
@ -66,7 +64,6 @@ NTSTATUS ElfrBackupELFW(
|
|||
|
||||
/* Function 2 */
|
||||
NTSTATUS ElfrCloseEL(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE *LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -76,7 +73,6 @@ NTSTATUS ElfrCloseEL(
|
|||
|
||||
/* Function 3 */
|
||||
NTSTATUS ElfrDeregisterEventSource(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE *LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -86,7 +82,6 @@ NTSTATUS ElfrDeregisterEventSource(
|
|||
|
||||
/* Function 4 */
|
||||
NTSTATUS ElfrNumberOfRecords(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD *NumberOfRecords)
|
||||
{
|
||||
|
@ -97,7 +92,6 @@ NTSTATUS ElfrNumberOfRecords(
|
|||
|
||||
/* Function 5 */
|
||||
NTSTATUS ElfrOldestRecord(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD *OldestRecordNumber)
|
||||
{
|
||||
|
@ -108,7 +102,6 @@ NTSTATUS ElfrOldestRecord(
|
|||
|
||||
/* Function 6 */
|
||||
NTSTATUS ElfrChangeNotify(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE *LogHandle,
|
||||
RPC_CLIENT_ID ClientId,
|
||||
DWORD Event)
|
||||
|
@ -120,7 +113,6 @@ NTSTATUS ElfrChangeNotify(
|
|||
|
||||
/* Function 7 */
|
||||
NTSTATUS ElfrOpenELW(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_W UNCServerName,
|
||||
PRPC_UNICODE_STRING ModuleName,
|
||||
PRPC_UNICODE_STRING RegModuleName,
|
||||
|
@ -136,7 +128,6 @@ NTSTATUS ElfrOpenELW(
|
|||
|
||||
/* Function 8 */
|
||||
NTSTATUS ElfrRegisterEventSourceW(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_W UNCServerName,
|
||||
PRPC_UNICODE_STRING ModuleName,
|
||||
PRPC_UNICODE_STRING RegModuleName,
|
||||
|
@ -152,7 +143,6 @@ NTSTATUS ElfrRegisterEventSourceW(
|
|||
|
||||
/* Function 9 */
|
||||
NTSTATUS ElfrOpenBELW(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_W UNCServerName,
|
||||
PRPC_UNICODE_STRING BackupFileName,
|
||||
DWORD MajorVersion,
|
||||
|
@ -166,7 +156,6 @@ NTSTATUS ElfrOpenBELW(
|
|||
|
||||
/* Function 10 */
|
||||
NTSTATUS ElfrReadELW(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD ReadFlags,
|
||||
DWORD RecordOffset,
|
||||
|
@ -182,7 +171,6 @@ NTSTATUS ElfrReadELW(
|
|||
|
||||
/* Function 11 */
|
||||
NTSTATUS ElfrReportEventW(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD Time,
|
||||
USHORT EventType,
|
||||
|
@ -233,7 +221,6 @@ NTSTATUS ElfrReportEventW(
|
|||
|
||||
/* Function 12 */
|
||||
NTSTATUS ElfrClearELFA(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
PRPC_STRING BackupFileName)
|
||||
{
|
||||
|
@ -244,7 +231,6 @@ NTSTATUS ElfrClearELFA(
|
|||
|
||||
/* Function 13 */
|
||||
NTSTATUS ElfrBackupELFA(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
PRPC_STRING BackupFileName)
|
||||
{
|
||||
|
@ -255,7 +241,6 @@ NTSTATUS ElfrBackupELFA(
|
|||
|
||||
/* Function 14 */
|
||||
NTSTATUS ElfrOpenELA(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_A UNCServerName,
|
||||
PRPC_STRING ModuleName,
|
||||
PRPC_STRING RegModuleName,
|
||||
|
@ -290,7 +275,6 @@ NTSTATUS ElfrOpenELA(
|
|||
}
|
||||
|
||||
Status = ElfrOpenELW(
|
||||
BindingHandle,
|
||||
UNCServerName ? UNCServerNameW.Buffer : NULL,
|
||||
ModuleName ? (PRPC_UNICODE_STRING)&ModuleNameW : NULL,
|
||||
RegModuleName ? (PRPC_UNICODE_STRING)&RegModuleNameW : NULL,
|
||||
|
@ -308,7 +292,6 @@ NTSTATUS ElfrOpenELA(
|
|||
|
||||
/* Function 15 */
|
||||
NTSTATUS ElfrRegisterEventSourceA(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_A UNCServerName,
|
||||
PRPC_STRING ModuleName,
|
||||
PRPC_STRING RegModuleName,
|
||||
|
@ -323,7 +306,6 @@ NTSTATUS ElfrRegisterEventSourceA(
|
|||
|
||||
/* Function 16 */
|
||||
NTSTATUS ElfrOpenBELA(
|
||||
handle_t BindingHandle,
|
||||
EVENTLOG_HANDLE_A UNCServerName,
|
||||
PRPC_STRING BackupFileName,
|
||||
DWORD MajorVersion,
|
||||
|
@ -337,7 +319,6 @@ NTSTATUS ElfrOpenBELA(
|
|||
|
||||
/* Function 17 */
|
||||
NTSTATUS ElfrReadELA(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD ReadFlags,
|
||||
DWORD RecordOffset,
|
||||
|
@ -353,7 +334,6 @@ NTSTATUS ElfrReadELA(
|
|||
|
||||
/* Function 18 */
|
||||
NTSTATUS ElfrReportEventA(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD Time,
|
||||
USHORT EventType,
|
||||
|
@ -403,7 +383,6 @@ NTSTATUS ElfrWriteClusterEvents(
|
|||
|
||||
/* Function 22 */
|
||||
NTSTATUS ElfrGetLogInformation(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD InfoLevel,
|
||||
BYTE *Buffer,
|
||||
|
@ -417,7 +396,6 @@ NTSTATUS ElfrGetLogInformation(
|
|||
|
||||
/* Function 23 */
|
||||
NTSTATUS ElfrFlushEL(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -427,7 +405,6 @@ NTSTATUS ElfrFlushEL(
|
|||
|
||||
/* Function 24 */
|
||||
NTSTATUS ElfrReportEventAndSourceW(
|
||||
handle_t BindingHandle,
|
||||
IELF_HANDLE LogHandle,
|
||||
DWORD Time,
|
||||
USHORT EventType,
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS RpcSs service
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: services/rpcss/rpcss.c
|
||||
* PURPOSE: Endpoint mapper
|
||||
* COPYRIGHT: Copyright 2002 Eric Kohl
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "rpc.h"
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
VOID
|
||||
StartEndpointMapper(VOID)
|
||||
{
|
||||
#if 0
|
||||
RpcServerRegisterProtseqW("ncacn_np", 1, "\pipe\epmapper");
|
||||
|
||||
RpcServerRegisterProtseqW("ncalrpc", 1, "epmapper");
|
||||
|
||||
RpcServerRegisterIf(epmapper_InterfaceHandle, 0, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* EOF */
|
|
@ -1,26 +1,19 @@
|
|||
/*
|
||||
* Copyright (C) 2002 Greg Turner
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_RPCSS_NP_CLIENT_H
|
||||
#define __WINE_RPCSS_NP_CLIENT_H
|
||||
|
||||
/* rpcss_np_client.c */
|
||||
HANDLE RPC_RpcssNPConnect(void);
|
||||
BOOL RPCRT4_SendReceiveNPMsg(HANDLE, PRPCSS_NP_MESSAGE, char *, PRPCSS_NP_REPLY);
|
||||
|
||||
#endif /* __RPCSS_NP_CLINET_H */
|
||||
/*
|
||||
* Copyright 2008 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/epm.idl"
|
284
reactos/base/services/rpcss/epmp.c
Normal file
284
reactos/base/services/rpcss/epmp.c
Normal file
|
@ -0,0 +1,284 @@
|
|||
/*
|
||||
* Endpoint Mapper
|
||||
*
|
||||
* Copyright (C) 2007 Robert Shearman for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "epm_s.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
#include "wine/list.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
||||
|
||||
struct registered_ept_entry
|
||||
{
|
||||
struct list entry;
|
||||
GUID object;
|
||||
RPC_SYNTAX_IDENTIFIER iface;
|
||||
RPC_SYNTAX_IDENTIFIER syntax;
|
||||
char *protseq;
|
||||
char *endpoint;
|
||||
char *address;
|
||||
char annotation[ept_max_annotation_size];
|
||||
};
|
||||
|
||||
static struct list registered_ept_entry_list = LIST_INIT(registered_ept_entry_list);
|
||||
|
||||
static CRITICAL_SECTION csEpm;
|
||||
static CRITICAL_SECTION_DEBUG critsect_debug =
|
||||
{
|
||||
0, 0, &csEpm,
|
||||
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
|
||||
0, 0, { (DWORD_PTR)(__FILE__ ": csEpm") }
|
||||
};
|
||||
static CRITICAL_SECTION csEpm = { &critsect_debug, -1, 0, 0, 0, 0 };
|
||||
|
||||
static const UUID nil_object;
|
||||
|
||||
/* must be called inside csEpm */
|
||||
static void delete_registered_ept_entry(struct registered_ept_entry *entry)
|
||||
{
|
||||
I_RpcFree(entry->protseq);
|
||||
I_RpcFree(entry->endpoint);
|
||||
I_RpcFree(entry->address);
|
||||
list_remove(&entry->entry);
|
||||
HeapFree(GetProcessHeap(), 0, entry);
|
||||
}
|
||||
|
||||
static struct registered_ept_entry *find_ept_entry(
|
||||
const RPC_SYNTAX_IDENTIFIER *iface, const RPC_SYNTAX_IDENTIFIER *syntax,
|
||||
const char *protseq, const char *endpoint, const char *address,
|
||||
const UUID *object)
|
||||
{
|
||||
struct registered_ept_entry *entry;
|
||||
LIST_FOR_EACH_ENTRY(entry, ®istered_ept_entry_list, struct registered_ept_entry, entry)
|
||||
{
|
||||
if (memcmp(&entry->iface, iface, sizeof(RPC_SYNTAX_IDENTIFIER))) continue;
|
||||
if (memcmp(&entry->syntax, syntax, sizeof(RPC_SYNTAX_IDENTIFIER))) continue;
|
||||
if (strcmp(entry->protseq, protseq)) continue;
|
||||
if (memcmp(&entry->object, object, sizeof(UUID))) continue;
|
||||
WINE_TRACE("found entry with iface %d.%d %s, syntax %d.%d %s, protseq %s, object %s\n",
|
||||
entry->iface.SyntaxVersion.MajorVersion, entry->iface.SyntaxVersion.MinorVersion,
|
||||
wine_dbgstr_guid(&entry->iface.SyntaxGUID),
|
||||
entry->syntax.SyntaxVersion.MajorVersion, entry->syntax.SyntaxVersion.MinorVersion,
|
||||
wine_dbgstr_guid(&entry->syntax.SyntaxGUID), protseq,
|
||||
wine_dbgstr_guid(&entry->object));
|
||||
return entry;
|
||||
}
|
||||
WINE_TRACE("not found\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void __RPC_USER ept_lookup_handle_t_rundown(ept_lookup_handle_t entry_handle)
|
||||
{
|
||||
WINE_FIXME("%p\n", entry_handle);
|
||||
}
|
||||
|
||||
void ept_insert(handle_t h,
|
||||
unsigned32 num_ents,
|
||||
ept_entry_t entries[],
|
||||
boolean32 replace,
|
||||
error_status_t *status)
|
||||
{
|
||||
unsigned32 i;
|
||||
RPC_STATUS rpc_status;
|
||||
|
||||
WINE_TRACE("(%p, %lu, %p, %lu, %p)\n", h, num_ents, entries, replace, status);
|
||||
|
||||
*status = RPC_S_OK;
|
||||
|
||||
EnterCriticalSection(&csEpm);
|
||||
|
||||
for (i = 0; i < num_ents; i++)
|
||||
{
|
||||
struct registered_ept_entry *entry = HeapAlloc(GetProcessHeap(), 0, sizeof(*entry));
|
||||
if (!entry)
|
||||
{
|
||||
/* FIXME: cleanup code to delete added entries */
|
||||
*status = EPT_S_CANT_PERFORM_OP;
|
||||
break;
|
||||
}
|
||||
list_init(&entry->entry);
|
||||
memcpy(entry->annotation, entries[i].annotation, sizeof(entries[i].annotation));
|
||||
rpc_status = TowerExplode(entries[i].tower, &entry->iface, &entry->syntax,
|
||||
&entry->protseq, &entry->endpoint,
|
||||
&entry->address);
|
||||
if (rpc_status != RPC_S_OK)
|
||||
{
|
||||
WINE_WARN("TowerExplode failed %lu\n", rpc_status);
|
||||
*status = rpc_status;
|
||||
break; /* FIXME: more cleanup? */
|
||||
}
|
||||
|
||||
entry->object = entries[i].object;
|
||||
|
||||
if (replace)
|
||||
{
|
||||
/* FIXME: correct find algorithm */
|
||||
struct registered_ept_entry *old_entry = find_ept_entry(&entry->iface, &entry->syntax, entry->protseq, entry->endpoint, entry->address, &entry->object);
|
||||
if (old_entry) delete_registered_ept_entry(old_entry);
|
||||
}
|
||||
list_add_tail(®istered_ept_entry_list, &entry->entry);
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&csEpm);
|
||||
}
|
||||
|
||||
void ept_delete(handle_t h,
|
||||
unsigned32 num_ents,
|
||||
ept_entry_t entries[],
|
||||
error_status_t *status)
|
||||
{
|
||||
unsigned32 i;
|
||||
RPC_STATUS rpc_status;
|
||||
|
||||
*status = RPC_S_OK;
|
||||
|
||||
WINE_TRACE("(%p, %lu, %p, %p)\n", h, num_ents, entries, status);
|
||||
|
||||
EnterCriticalSection(&csEpm);
|
||||
|
||||
for (i = 0; i < num_ents; i++)
|
||||
{
|
||||
struct registered_ept_entry *entry;
|
||||
RPC_SYNTAX_IDENTIFIER iface, syntax;
|
||||
char *protseq;
|
||||
char *endpoint;
|
||||
char *address;
|
||||
rpc_status = TowerExplode(entries[i].tower, &iface, &syntax, &protseq,
|
||||
&endpoint, &address);
|
||||
if (rpc_status != RPC_S_OK)
|
||||
break;
|
||||
entry = find_ept_entry(&iface, &syntax, protseq, endpoint, address, &entries[i].object);
|
||||
if (entry)
|
||||
delete_registered_ept_entry(entry);
|
||||
else
|
||||
{
|
||||
*status = EPT_S_NOT_REGISTERED;
|
||||
break;
|
||||
}
|
||||
I_RpcFree(protseq);
|
||||
I_RpcFree(endpoint);
|
||||
I_RpcFree(address);
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&csEpm);
|
||||
}
|
||||
|
||||
void ept_lookup(handle_t h,
|
||||
unsigned32 inquiry_type,
|
||||
uuid_p_t object,
|
||||
rpc_if_id_p_t interface_id,
|
||||
unsigned32 vers_option,
|
||||
ept_lookup_handle_t *entry_handle,
|
||||
unsigned32 max_ents,
|
||||
unsigned32 *num_ents,
|
||||
ept_entry_t entries[],
|
||||
error_status_t *status)
|
||||
{
|
||||
WINE_FIXME("(%p, %p, %p): stub\n", h, entry_handle, status);
|
||||
|
||||
*status = EPT_S_CANT_PERFORM_OP;
|
||||
}
|
||||
|
||||
void ept_map(handle_t h,
|
||||
uuid_p_t object,
|
||||
twr_p_t map_tower,
|
||||
ept_lookup_handle_t *entry_handle,
|
||||
unsigned32 max_towers,
|
||||
unsigned32 *num_towers,
|
||||
twr_p_t *towers,
|
||||
error_status_t *status)
|
||||
{
|
||||
RPC_STATUS rpc_status;
|
||||
RPC_SYNTAX_IDENTIFIER iface, syntax;
|
||||
char *protseq;
|
||||
struct registered_ept_entry *entry;
|
||||
|
||||
*status = RPC_S_OK;
|
||||
*num_towers = 0;
|
||||
|
||||
WINE_TRACE("(%p, %p, %p, %p, %lu, %p, %p, %p)\n", h, object, map_tower,
|
||||
entry_handle, max_towers, num_towers, towers, status);
|
||||
|
||||
rpc_status = TowerExplode(map_tower, &iface, &syntax, &protseq,
|
||||
NULL, NULL);
|
||||
if (rpc_status != RPC_S_OK)
|
||||
{
|
||||
*status = rpc_status;
|
||||
return;
|
||||
}
|
||||
|
||||
EnterCriticalSection(&csEpm);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(entry, ®istered_ept_entry_list, struct registered_ept_entry, entry)
|
||||
{
|
||||
if (IsEqualGUID(&entry->iface.SyntaxGUID, &iface.SyntaxGUID) &&
|
||||
(entry->iface.SyntaxVersion.MajorVersion == iface.SyntaxVersion.MajorVersion) &&
|
||||
(entry->iface.SyntaxVersion.MinorVersion >= iface.SyntaxVersion.MinorVersion) &&
|
||||
!memcmp(&entry->syntax, &syntax, sizeof(syntax)) &&
|
||||
!strcmp(entry->protseq, protseq) &&
|
||||
((!object && IsEqualGUID(&entry->object, &nil_object)) || IsEqualGUID(object, &entry->object)))
|
||||
{
|
||||
if (*num_towers < max_towers)
|
||||
{
|
||||
rpc_status = TowerConstruct(&entry->iface, &entry->syntax,
|
||||
entry->protseq, entry->endpoint,
|
||||
entry->address,
|
||||
&towers[*num_towers]);
|
||||
if (rpc_status != RPC_S_OK)
|
||||
{
|
||||
*status = rpc_status;
|
||||
break; /* FIXME: more cleanup? */
|
||||
}
|
||||
}
|
||||
(*num_towers)++;
|
||||
}
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&csEpm);
|
||||
}
|
||||
|
||||
void ept_lookup_handle_free(handle_t h,
|
||||
ept_lookup_handle_t *entry_handle,
|
||||
error_status_t *status)
|
||||
{
|
||||
WINE_FIXME("(%p, %p, %p): stub\n", h, entry_handle, status);
|
||||
|
||||
*status = EPT_S_CANT_PERFORM_OP;
|
||||
}
|
||||
|
||||
void ept_inq_object(handle_t h,
|
||||
GUID *ept_object,
|
||||
error_status_t *status)
|
||||
{
|
||||
WINE_FIXME("(%p, %p, %p): stub\n", h, ept_object, status);
|
||||
|
||||
*status = EPT_S_CANT_PERFORM_OP;
|
||||
}
|
||||
|
||||
void ept_mgmt_delete(handle_t h,
|
||||
boolean32 object_speced,
|
||||
uuid_p_t object,
|
||||
twr_p_t tower,
|
||||
error_status_t *status)
|
||||
{
|
||||
WINE_FIXME("(%p, %ld, %p, %p, %p): stub\n", h, object_speced, object, tower, status);
|
||||
|
||||
*status = EPT_S_CANT_PERFORM_OP;
|
||||
}
|
19
reactos/base/services/rpcss/irot.idl
Normal file
19
reactos/base/services/rpcss/irot.idl
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright 2007 Robert Shearman for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/irot.idl"
|
379
reactos/base/services/rpcss/irotp.c
Normal file
379
reactos/base/services/rpcss/irotp.c
Normal file
|
@ -0,0 +1,379 @@
|
|||
/*
|
||||
* Running Object Table
|
||||
*
|
||||
* Copyright 2007 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "winerror.h"
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
|
||||
#include "irot_s.h"
|
||||
|
||||
#include "wine/list.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(rpcss);
|
||||
|
||||
/* define the structure of the running object table elements */
|
||||
struct rot_entry
|
||||
{
|
||||
struct list entry;
|
||||
InterfaceData *object; /* marshaled running object*/
|
||||
InterfaceData *moniker; /* marshaled moniker that identifies this object */
|
||||
MonikerComparisonData *moniker_data; /* moniker comparison data that identifies this object */
|
||||
DWORD cookie; /* cookie identifying this object */
|
||||
FILETIME last_modified;
|
||||
LONG refs;
|
||||
};
|
||||
|
||||
static struct list RunningObjectTable = LIST_INIT(RunningObjectTable);
|
||||
|
||||
static CRITICAL_SECTION csRunningObjectTable;
|
||||
static CRITICAL_SECTION_DEBUG critsect_debug =
|
||||
{
|
||||
0, 0, &csRunningObjectTable,
|
||||
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
|
||||
0, 0, { (DWORD_PTR)(__FILE__ ": csRunningObjectTable") }
|
||||
};
|
||||
static CRITICAL_SECTION csRunningObjectTable = { &critsect_debug, -1, 0, 0, 0, 0 };
|
||||
|
||||
static LONG last_cookie = 1;
|
||||
|
||||
static inline void rot_entry_release(struct rot_entry *rot_entry)
|
||||
{
|
||||
if (!InterlockedDecrement(&rot_entry->refs))
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, rot_entry->object);
|
||||
HeapFree(GetProcessHeap(), 0, rot_entry->moniker);
|
||||
HeapFree(GetProcessHeap(), 0, rot_entry->moniker_data);
|
||||
HeapFree(GetProcessHeap(), 0, rot_entry);
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT IrotRegister(
|
||||
IrotHandle h,
|
||||
const MonikerComparisonData *data,
|
||||
const InterfaceData *obj,
|
||||
const InterfaceData *mk,
|
||||
const FILETIME *time,
|
||||
DWORD grfFlags,
|
||||
IrotCookie *cookie,
|
||||
IrotContextHandle *ctxt_handle)
|
||||
{
|
||||
struct rot_entry *rot_entry;
|
||||
struct rot_entry *existing_rot_entry;
|
||||
HRESULT hr;
|
||||
|
||||
if (grfFlags & ~(ROTFLAGS_REGISTRATIONKEEPSALIVE|ROTFLAGS_ALLOWANYCLIENT))
|
||||
{
|
||||
WINE_ERR("Invalid grfFlags: 0x%08x\n", grfFlags & ~(ROTFLAGS_REGISTRATIONKEEPSALIVE|ROTFLAGS_ALLOWANYCLIENT));
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
rot_entry = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*rot_entry));
|
||||
if (!rot_entry)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
rot_entry->refs = 1;
|
||||
rot_entry->object = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(InterfaceData, abData[obj->ulCntData]));
|
||||
if (!rot_entry->object)
|
||||
{
|
||||
rot_entry_release(rot_entry);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
rot_entry->object->ulCntData = obj->ulCntData;
|
||||
memcpy(&rot_entry->object->abData, obj->abData, obj->ulCntData);
|
||||
|
||||
rot_entry->last_modified = *time;
|
||||
|
||||
rot_entry->moniker = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(InterfaceData, abData[mk->ulCntData]));
|
||||
if (!rot_entry->moniker)
|
||||
{
|
||||
rot_entry_release(rot_entry);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
rot_entry->moniker->ulCntData = mk->ulCntData;
|
||||
memcpy(&rot_entry->moniker->abData, mk->abData, mk->ulCntData);
|
||||
|
||||
rot_entry->moniker_data = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(MonikerComparisonData, abData[data->ulCntData]));
|
||||
if (!rot_entry->moniker_data)
|
||||
{
|
||||
rot_entry_release(rot_entry);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
rot_entry->moniker_data->ulCntData = data->ulCntData;
|
||||
memcpy(&rot_entry->moniker_data->abData, data->abData, data->ulCntData);
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
|
||||
hr = S_OK;
|
||||
|
||||
LIST_FOR_EACH_ENTRY(existing_rot_entry, &RunningObjectTable, struct rot_entry, entry)
|
||||
{
|
||||
if ((existing_rot_entry->moniker_data->ulCntData == data->ulCntData) &&
|
||||
!memcmp(&data->abData, &existing_rot_entry->moniker_data->abData, data->ulCntData))
|
||||
{
|
||||
hr = MK_S_MONIKERALREADYREGISTERED;
|
||||
WINE_TRACE("moniker already registered with cookie %d\n", existing_rot_entry->cookie);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
list_add_tail(&RunningObjectTable, &rot_entry->entry);
|
||||
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
/* gives a registration identifier to the registered object*/
|
||||
*cookie = rot_entry->cookie = InterlockedIncrement(&last_cookie);
|
||||
*ctxt_handle = rot_entry;
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT IrotRevoke(
|
||||
IrotHandle h,
|
||||
IrotCookie cookie,
|
||||
IrotContextHandle *ctxt_handle,
|
||||
PInterfaceData *obj,
|
||||
PInterfaceData *mk)
|
||||
{
|
||||
struct rot_entry *rot_entry;
|
||||
|
||||
WINE_TRACE("%d\n", cookie);
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
LIST_FOR_EACH_ENTRY(rot_entry, &RunningObjectTable, struct rot_entry, entry)
|
||||
{
|
||||
if (rot_entry->cookie == cookie)
|
||||
{
|
||||
HRESULT hr = S_OK;
|
||||
|
||||
list_remove(&rot_entry->entry);
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
*obj = MIDL_user_allocate(FIELD_OFFSET(InterfaceData, abData[rot_entry->object->ulCntData]));
|
||||
*mk = MIDL_user_allocate(FIELD_OFFSET(InterfaceData, abData[rot_entry->moniker->ulCntData]));
|
||||
if (*obj && *mk)
|
||||
{
|
||||
(*obj)->ulCntData = rot_entry->object->ulCntData;
|
||||
memcpy((*obj)->abData, rot_entry->object->abData, (*obj)->ulCntData);
|
||||
(*mk)->ulCntData = rot_entry->moniker->ulCntData;
|
||||
memcpy((*mk)->abData, rot_entry->moniker->abData, (*mk)->ulCntData);
|
||||
}
|
||||
else
|
||||
{
|
||||
MIDL_user_free(*obj);
|
||||
MIDL_user_free(*mk);
|
||||
hr = E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
rot_entry_release(rot_entry);
|
||||
*ctxt_handle = NULL;
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
HRESULT IrotIsRunning(
|
||||
IrotHandle h,
|
||||
const MonikerComparisonData *data)
|
||||
{
|
||||
const struct rot_entry *rot_entry;
|
||||
HRESULT hr = S_FALSE;
|
||||
|
||||
WINE_TRACE("\n");
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(rot_entry, &RunningObjectTable, const struct rot_entry, entry)
|
||||
{
|
||||
if ((rot_entry->moniker_data->ulCntData == data->ulCntData) &&
|
||||
!memcmp(&data->abData, &rot_entry->moniker_data->abData, data->ulCntData))
|
||||
{
|
||||
hr = S_OK;
|
||||
break;
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT IrotGetObject(
|
||||
IrotHandle h,
|
||||
const MonikerComparisonData *moniker_data,
|
||||
PInterfaceData *obj,
|
||||
IrotCookie *cookie)
|
||||
{
|
||||
const struct rot_entry *rot_entry;
|
||||
|
||||
WINE_TRACE("%p\n", moniker_data);
|
||||
|
||||
*cookie = 0;
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(rot_entry, &RunningObjectTable, const struct rot_entry, entry)
|
||||
{
|
||||
HRESULT hr = S_OK;
|
||||
if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) &&
|
||||
!memcmp(&moniker_data->abData, &rot_entry->moniker_data->abData, moniker_data->ulCntData))
|
||||
{
|
||||
*obj = MIDL_user_allocate(FIELD_OFFSET(InterfaceData, abData[rot_entry->object->ulCntData]));
|
||||
if (*obj)
|
||||
{
|
||||
(*obj)->ulCntData = rot_entry->object->ulCntData;
|
||||
memcpy((*obj)->abData, rot_entry->object->abData, (*obj)->ulCntData);
|
||||
|
||||
*cookie = rot_entry->cookie;
|
||||
}
|
||||
else
|
||||
hr = E_OUTOFMEMORY;
|
||||
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return MK_E_UNAVAILABLE;
|
||||
}
|
||||
|
||||
HRESULT IrotNoteChangeTime(
|
||||
IrotHandle h,
|
||||
IrotCookie cookie,
|
||||
const FILETIME *last_modified_time)
|
||||
{
|
||||
struct rot_entry *rot_entry;
|
||||
|
||||
WINE_TRACE("%d %p\n", cookie, last_modified_time);
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
LIST_FOR_EACH_ENTRY(rot_entry, &RunningObjectTable, struct rot_entry, entry)
|
||||
{
|
||||
if (rot_entry->cookie == cookie)
|
||||
{
|
||||
rot_entry->last_modified = *last_modified_time;
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
HRESULT IrotGetTimeOfLastChange(
|
||||
IrotHandle h,
|
||||
const MonikerComparisonData *moniker_data,
|
||||
FILETIME *time)
|
||||
{
|
||||
const struct rot_entry *rot_entry;
|
||||
HRESULT hr = MK_E_UNAVAILABLE;
|
||||
|
||||
WINE_TRACE("%p\n", moniker_data);
|
||||
|
||||
memset(time, 0, sizeof(*time));
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
LIST_FOR_EACH_ENTRY(rot_entry, &RunningObjectTable, const struct rot_entry, entry)
|
||||
{
|
||||
if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) &&
|
||||
!memcmp(&moniker_data->abData, &rot_entry->moniker_data->abData, moniker_data->ulCntData))
|
||||
{
|
||||
*time = rot_entry->last_modified;
|
||||
hr = S_OK;
|
||||
break;
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT IrotEnumRunning(
|
||||
IrotHandle h,
|
||||
PInterfaceList *list)
|
||||
{
|
||||
const struct rot_entry *rot_entry;
|
||||
HRESULT hr = S_OK;
|
||||
ULONG moniker_count = 0;
|
||||
ULONG i = 0;
|
||||
|
||||
WINE_TRACE("\n");
|
||||
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
|
||||
LIST_FOR_EACH_ENTRY( rot_entry, &RunningObjectTable, const struct rot_entry, entry )
|
||||
moniker_count++;
|
||||
|
||||
*list = MIDL_user_allocate(FIELD_OFFSET(InterfaceList, interfaces[moniker_count]));
|
||||
if (*list)
|
||||
{
|
||||
(*list)->size = moniker_count;
|
||||
LIST_FOR_EACH_ENTRY( rot_entry, &RunningObjectTable, const struct rot_entry, entry )
|
||||
{
|
||||
(*list)->interfaces[i] = MIDL_user_allocate(FIELD_OFFSET(InterfaceData, abData[rot_entry->moniker->ulCntData]));
|
||||
if (!(*list)->interfaces[i])
|
||||
{
|
||||
ULONG end = i - 1;
|
||||
for (i = 0; i < end; i++)
|
||||
MIDL_user_free((*list)->interfaces[i]);
|
||||
MIDL_user_free(*list);
|
||||
hr = E_OUTOFMEMORY;
|
||||
break;
|
||||
}
|
||||
(*list)->interfaces[i]->ulCntData = rot_entry->moniker->ulCntData;
|
||||
memcpy((*list)->interfaces[i]->abData, rot_entry->moniker->abData, rot_entry->moniker->ulCntData);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
hr = E_OUTOFMEMORY;
|
||||
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
void __RPC_USER IrotContextHandle_rundown(IrotContextHandle ctxt_handle)
|
||||
{
|
||||
struct rot_entry *rot_entry = ctxt_handle;
|
||||
EnterCriticalSection(&csRunningObjectTable);
|
||||
list_remove(&rot_entry->entry);
|
||||
LeaveCriticalSection(&csRunningObjectTable);
|
||||
rot_entry_release(rot_entry);
|
||||
}
|
||||
|
||||
void * __RPC_USER MIDL_user_allocate(size_t size)
|
||||
{
|
||||
return HeapAlloc(GetProcessHeap(), 0, size);
|
||||
}
|
||||
|
||||
void __RPC_USER MIDL_user_free(void * p)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, p);
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS RpcSs service
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: services/rpcss/rpcss.c
|
||||
* PURPOSE: Service initialization
|
||||
* COPYRIGHT: Copyright 2002 Eric Kohl
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "rpcss.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
||||
VOID CALLBACK
|
||||
ServiceMain(DWORD argc, LPTSTR *argv)
|
||||
{
|
||||
|
||||
DPRINT("ServiceMain() called\n");
|
||||
|
||||
StartEndpointMapper();
|
||||
|
||||
DPRINT("ServiceMain() done\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if 0
|
||||
SERVICE_TABLE_ENTRY ServiceTable[] = {{"RpcSs", ServiceMain},{NULL, NULL}};
|
||||
#endif
|
||||
|
||||
DPRINT("RpcSs service\n");
|
||||
|
||||
#if 0
|
||||
StartServiceCtrlDispatcher(ServiceTable);
|
||||
#endif
|
||||
|
||||
ServiceMain(0, NULL);
|
||||
|
||||
DPRINT("RpcSS: done\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
|
@ -1,17 +1,26 @@
|
|||
#ifndef __RPCSS_H__
|
||||
#define __RPCSS_H__
|
||||
/*
|
||||
* RPCSS definitions
|
||||
*
|
||||
* Copyright (C) 2002 Greg Turner
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#define UNICODE
|
||||
#ifndef __WINE_RPCSS_H
|
||||
#define __WINE_RPCSS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#define WIN32_NO_STATUS
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
VOID
|
||||
StartEndpointMapper(VOID);
|
||||
|
||||
#endif /* __RPCSS_H__ */
|
||||
|
||||
/* EOF */
|
||||
#include "windows.h"
|
||||
|
||||
#endif /* __WINE_RPCSS_H */
|
||||
|
|
|
@ -1,10 +1,25 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="rpcss" type="win32cui" installbase="system32" installname="rpcss.exe">
|
||||
<module name="rpcss" type="win32cui" installbase="system32" installname="rpcss.exe" unicode="yes">
|
||||
<include base="rpcss">.</include>
|
||||
<include base="rpcss" root="intermediate">.</include>
|
||||
<library>wine</library>
|
||||
<library>rpcss_epm_server</library>
|
||||
<library>rpcss_irot_server</library>
|
||||
<library>rpcrt4</library>
|
||||
<library>kernel32</library>
|
||||
<library>advapi32</library>
|
||||
<file>rpcss.c</file>
|
||||
<file>endpoint.c</file>
|
||||
<file>epmp.c</file>
|
||||
<file>irotp.c</file>
|
||||
<file>rpcss_main.c</file>
|
||||
<file>service_main.c</file>
|
||||
<file>epm.idl</file>
|
||||
<file>irot.idl</file>
|
||||
<file>rpcss.rc</file>
|
||||
</module>
|
||||
<module name="rpcss_epm_server" type="rpcserver">
|
||||
<file>epm.idl</file>
|
||||
</module>
|
||||
<module name="rpcss_irot_server" type="rpcserver">
|
||||
<file>irot.idl</file>
|
||||
</module>
|
||||
|
|
146
reactos/base/services/rpcss/rpcss_main.c
Normal file
146
reactos/base/services/rpcss/rpcss_main.c
Normal file
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
* Copyright 2001, Ove Kåven, TransGaming Technologies Inc.
|
||||
* Copyright 2002 Greg Turner
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
* ---- rpcss_main.c:
|
||||
* Initialize and start serving requests. Bail if rpcss already is
|
||||
* running.
|
||||
*
|
||||
* ---- RPCSS.EXE:
|
||||
*
|
||||
* Wine needs a server whose role is somewhat like that
|
||||
* of rpcss.exe in windows. This is not a clone of
|
||||
* windows rpcss at all. It has been given the same name, however,
|
||||
* to provide for the possibility that at some point in the future,
|
||||
* it may become interface compatible with the "real" rpcss.exe on
|
||||
* Windows.
|
||||
*
|
||||
* ---- KNOWN BUGS / TODO:
|
||||
*
|
||||
* o Service hooks are unimplemented (if you bother to implement
|
||||
* these, also implement net.exe, at least for "net start" and
|
||||
* "net stop" (should be pretty easy I guess, assuming the rest
|
||||
* of the services API infrastructure works.
|
||||
*
|
||||
* o There is a looming problem regarding listening on privileged
|
||||
* ports. We will need to be able to coexist with SAMBA, and be able
|
||||
* to function without running winelib code as root. This may
|
||||
* take some doing, including significant reconceptualization of the
|
||||
* role of rpcss.exe in wine.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <assert.h>
|
||||
|
||||
#define NONAMELESSUNION
|
||||
#define NONAMELESSSTRUCT
|
||||
#include "rpcss.h"
|
||||
#include "winnt.h"
|
||||
#include "irot.h"
|
||||
#include "epm.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
||||
|
||||
static HANDLE exit_event;
|
||||
|
||||
//extern HANDLE __wine_make_process_system(void);
|
||||
|
||||
BOOL RPCSS_Initialize(void)
|
||||
{
|
||||
static unsigned short irot_protseq[] = IROT_PROTSEQ;
|
||||
static unsigned short irot_endpoint[] = IROT_ENDPOINT;
|
||||
static unsigned short epm_protseq[] = {'n','c','a','c','n','_','n','p',0};
|
||||
static unsigned short epm_endpoint[] = {'\\','p','i','p','e','\\','e','p','m','a','p','p','e','r',0};
|
||||
static unsigned short epm_protseq_lrpc[] = {'n','c','a','l','r','p','c',0};
|
||||
static unsigned short epm_endpoint_lrpc[] = {'e','p','m','a','p','p','e','r',0};
|
||||
RPC_STATUS status;
|
||||
|
||||
WINE_TRACE("\n");
|
||||
|
||||
status = RpcServerRegisterIf(epm_v3_0_s_ifspec, NULL, NULL);
|
||||
if (status != RPC_S_OK)
|
||||
return status;
|
||||
status = RpcServerRegisterIf(Irot_v0_2_s_ifspec, NULL, NULL);
|
||||
if (status != RPC_S_OK)
|
||||
{
|
||||
RpcServerUnregisterIf(epm_v3_0_s_ifspec, NULL, FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
status = RpcServerUseProtseqEpW(epm_protseq, RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
|
||||
epm_endpoint, NULL);
|
||||
if (status != RPC_S_OK)
|
||||
goto fail;
|
||||
|
||||
status = RpcServerUseProtseqEpW(epm_protseq_lrpc, RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
|
||||
epm_endpoint_lrpc, NULL);
|
||||
if (status != RPC_S_OK)
|
||||
goto fail;
|
||||
|
||||
status = RpcServerUseProtseqEpW(irot_protseq, RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
|
||||
irot_endpoint, NULL);
|
||||
if (status != RPC_S_OK)
|
||||
goto fail;
|
||||
|
||||
status = RpcServerListen(1, RPC_C_LISTEN_MAX_CALLS_DEFAULT, TRUE);
|
||||
if (status != RPC_S_OK)
|
||||
goto fail;
|
||||
|
||||
//exit_event = __wine_make_process_system();
|
||||
exit_event = CreateEventW(NULL, FALSE, FALSE, NULL); // never fires
|
||||
|
||||
return TRUE;
|
||||
|
||||
fail:
|
||||
RpcServerUnregisterIf(epm_v3_0_s_ifspec, NULL, FALSE);
|
||||
RpcServerUnregisterIf(Irot_v0_2_s_ifspec, NULL, FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* returns false if we discover at the last moment that we
|
||||
aren't ready to terminate */
|
||||
BOOL RPCSS_Shutdown(void)
|
||||
{
|
||||
RpcMgmtStopServerListening(NULL);
|
||||
RpcServerUnregisterIf(epm_v3_0_s_ifspec, NULL, TRUE);
|
||||
RpcServerUnregisterIf(Irot_v0_2_s_ifspec, NULL, TRUE);
|
||||
|
||||
CloseHandle(exit_event);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if 0
|
||||
int main( int argc, char **argv )
|
||||
{
|
||||
/*
|
||||
* We are invoked as a standard executable; we act in a
|
||||
* "lazy" manner. We register our interfaces and endpoints, and hang around
|
||||
* until we all user processes exit, and then silently terminate.
|
||||
*/
|
||||
|
||||
if (RPCSS_Initialize()) {
|
||||
WaitForSingleObject(exit_event, INFINITE);
|
||||
RPCSS_Shutdown();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
35
reactos/base/services/rpcss/rpcss_ros.diff
Normal file
35
reactos/base/services/rpcss/rpcss_ros.diff
Normal file
|
@ -0,0 +1,35 @@
|
|||
Index: rpcss_main.c
|
||||
===================================================================
|
||||
--- rpcss_main.c (revision 37240)
|
||||
+++ rpcss_main.c (working copy)
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
//extern HANDLE __wine_make_process_system(void);
|
||||
|
||||
-static BOOL RPCSS_Initialize(void)
|
||||
+BOOL RPCSS_Initialize(void)
|
||||
{
|
||||
static unsigned short irot_protseq[] = IROT_PROTSEQ;
|
||||
static unsigned short irot_endpoint[] = IROT_ENDPOINT;
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
/* returns false if we discover at the last moment that we
|
||||
aren't ready to terminate */
|
||||
-static BOOL RPCSS_Shutdown(void)
|
||||
+BOOL RPCSS_Shutdown(void)
|
||||
{
|
||||
RpcMgmtStopServerListening(NULL);
|
||||
RpcServerUnregisterIf(epm_v3_0_s_ifspec, NULL, TRUE);
|
||||
@@ -127,6 +127,7 @@
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+#if 0
|
||||
int main( int argc, char **argv )
|
||||
{
|
||||
/*
|
||||
@@ -142,3 +143,4 @@
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
128
reactos/base/services/rpcss/service_main.c
Normal file
128
reactos/base/services/rpcss/service_main.c
Normal file
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Remote Procedure Call service
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: /base/services/rpcss/service_main.c
|
||||
* PURPOSE: Service control code
|
||||
* COPYRIGHT: Copyright 2008 Ged Murphy <gedmurphy@reactos.org>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rpcss.h"
|
||||
|
||||
BOOL RPCSS_Initialize(void);
|
||||
BOOL RPCSS_Shutdown(void);
|
||||
|
||||
static WCHAR ServiceName[] = L"RpcSs";
|
||||
|
||||
typedef struct _ServiceInfo
|
||||
{
|
||||
SERVICE_STATUS servStatus;
|
||||
SERVICE_STATUS_HANDLE hStatus;
|
||||
} SERVICEINFO, *PSERVICEINFO;
|
||||
|
||||
|
||||
static VOID
|
||||
UpdateStatus(PSERVICEINFO pServInfo,
|
||||
DWORD NewStatus,
|
||||
DWORD Check)
|
||||
{
|
||||
if (Check > 0)
|
||||
{
|
||||
pServInfo->servStatus.dwCheckPoint += Check;
|
||||
}
|
||||
else
|
||||
{
|
||||
pServInfo->servStatus.dwCheckPoint = Check;
|
||||
}
|
||||
|
||||
if (NewStatus > 0)
|
||||
{
|
||||
pServInfo->servStatus.dwCurrentState = NewStatus;
|
||||
}
|
||||
|
||||
SetServiceStatus(pServInfo->hStatus, &pServInfo->servStatus);
|
||||
}
|
||||
|
||||
|
||||
static BOOL
|
||||
RunService(PSERVICEINFO pServInfo)
|
||||
{
|
||||
return RPCSS_Initialize();
|
||||
}
|
||||
|
||||
VOID WINAPI
|
||||
ServerCtrlHandler(DWORD dwControl,
|
||||
DWORD dwEventType,
|
||||
LPVOID lpEventData,
|
||||
LPVOID lpContext)
|
||||
{
|
||||
PSERVICEINFO pServInfo = (PSERVICEINFO)lpContext;
|
||||
|
||||
switch (dwControl)
|
||||
{
|
||||
case SERVICE_CONTROL_SHUTDOWN:
|
||||
case SERVICE_CONTROL_STOP:
|
||||
RPCSS_Shutdown();
|
||||
pServInfo->servStatus.dwWin32ExitCode = 0;
|
||||
pServInfo->servStatus.dwWaitHint = 0;
|
||||
UpdateStatus(pServInfo, SERVICE_STOP_PENDING, 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
VOID WINAPI
|
||||
ServiceMain(DWORD argc, LPWSTR argv[])
|
||||
{
|
||||
SERVICEINFO servInfo;
|
||||
HANDLE hThread;
|
||||
DWORD dwThreadId;
|
||||
|
||||
servInfo.servStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
|
||||
servInfo.servStatus.dwCurrentState = SERVICE_STOPPED;
|
||||
servInfo.servStatus.dwControlsAccepted = SERVICE_ACCEPT_SHUTDOWN;
|
||||
servInfo.servStatus.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR;
|
||||
servInfo.servStatus.dwServiceSpecificExitCode = 0;
|
||||
servInfo.servStatus.dwCheckPoint = 0;
|
||||
servInfo.servStatus.dwWaitHint = 1000;
|
||||
|
||||
servInfo.hStatus = RegisterServiceCtrlHandlerExW(ServiceName,
|
||||
(LPHANDLER_FUNCTION_EX)ServerCtrlHandler,
|
||||
&servInfo);
|
||||
if (!servInfo.hStatus) return;
|
||||
|
||||
UpdateStatus(&servInfo, SERVICE_START_PENDING, 1);
|
||||
|
||||
/* Create worker thread */
|
||||
hThread = CreateThread(NULL,
|
||||
0,
|
||||
(LPTHREAD_START_ROUTINE)RunService,
|
||||
&servInfo,
|
||||
0,
|
||||
&dwThreadId);
|
||||
if (!hThread) return;
|
||||
|
||||
/* Set service status to running */
|
||||
UpdateStatus(&servInfo, SERVICE_RUNNING, 0);
|
||||
|
||||
/* Wait until thread has terminated */
|
||||
WaitForSingleObject(hThread, INFINITE);
|
||||
|
||||
CloseHandle(hThread);
|
||||
|
||||
UpdateStatus(&servInfo, SERVICE_STOPPED, 0);
|
||||
}
|
||||
|
||||
|
||||
int wmain(int argc, LPWSTR argv [])
|
||||
{
|
||||
SERVICE_TABLE_ENTRYW ServiceTable[] =
|
||||
{
|
||||
{ServiceName, ServiceMain},
|
||||
{NULL, NULL }
|
||||
};
|
||||
|
||||
return (int)(StartServiceCtrlDispatcherW(ServiceTable) != TRUE);
|
||||
}
|
|
@ -3,8 +3,11 @@
|
|||
|
||||
MUI_LAYOUTS thTHLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"041E", L"0000041E" },
|
||||
{ L"041E", L"0001041E" },
|
||||
{ L"041E", L"0002041E" },
|
||||
{ L"041E", L"0003041E" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
|
@ -403,7 +403,7 @@ AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts)
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)MuiLayouts[uIndex].LayoutID,
|
||||
wcslen(MuiLayouts[uIndex].LayoutID) * sizeof(WCHAR));
|
||||
(wcslen(MuiLayouts[uIndex].LayoutID)+1) * sizeof(WCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status = %lx, uIndex = %d)\n", Status, uIndex);
|
||||
|
@ -420,7 +420,7 @@ AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts)
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)szLangID,
|
||||
wcslen(szLangID) * sizeof(WCHAR));
|
||||
(wcslen(szLangID)+1) * sizeof(WCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status = %lx, uIndex = %d)\n", Status, uIndex);
|
||||
|
@ -436,7 +436,7 @@ AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts)
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)MuiLayouts[uIndex].LayoutID,
|
||||
wcslen(MuiLayouts[uIndex].LayoutID) * sizeof(WCHAR));
|
||||
(wcslen(MuiLayouts[uIndex].LayoutID)+1) * sizeof(WCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status = %lx, uIndex = %d)\n", Status, uIndex);
|
||||
|
@ -513,7 +513,7 @@ AddCodepageToRegistry(IN LPCWSTR ACPage, IN LPCWSTR OEMCPage, IN LPCWSTR MACCPag
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)ACPage,
|
||||
wcslen(ACPage) * sizeof(PWCHAR));
|
||||
(wcslen(ACPage)+1) * sizeof(PWCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
|
||||
|
@ -528,7 +528,7 @@ AddCodepageToRegistry(IN LPCWSTR ACPage, IN LPCWSTR OEMCPage, IN LPCWSTR MACCPag
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)OEMCPage,
|
||||
wcslen(OEMCPage) * sizeof(PWCHAR));
|
||||
(wcslen(OEMCPage)+1) * sizeof(PWCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
|
||||
|
@ -543,7 +543,7 @@ AddCodepageToRegistry(IN LPCWSTR ACPage, IN LPCWSTR OEMCPage, IN LPCWSTR MACCPag
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)MACCPage,
|
||||
wcslen(MACCPage) * sizeof(PWCHAR));
|
||||
(wcslen(MACCPage)+1) * sizeof(PWCHAR));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
|
||||
|
|
|
@ -679,7 +679,7 @@ SetInstallPathValue(PUNICODE_STRING InstallPath)
|
|||
0,
|
||||
REG_SZ,
|
||||
(PVOID)InstallPath->Buffer,
|
||||
InstallPath->Length);
|
||||
InstallPath->Length + sizeof(WCHAR));
|
||||
NtClose(KeyHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="usetup" type="nativecui" installbase="system32" installname="usetup.exe" allowwarnings="false">
|
||||
<module name="usetup" type="nativecui" installbase="system32" installname="usetup.exe" allowwarnings="false" crt="static">
|
||||
<bootstrap installbase="$(CDOUTPUT)/system32" nameoncd="smss.exe" />
|
||||
<include base="usetup">.</include>
|
||||
<include base="zlib">.</include>
|
||||
|
|
|
@ -427,7 +427,7 @@ LPTSTR ReadBatchLine ()
|
|||
return textline;
|
||||
}
|
||||
|
||||
if (!FileGetString (bc->hBatchFile, textline, sizeof (textline) / sizeof (textline[0])))
|
||||
if (!FileGetString (bc->hBatchFile, textline, sizeof (textline) / sizeof (textline[0]) - 1))
|
||||
{
|
||||
TRACE ("ReadBatchLine(): Reached EOF!\n");
|
||||
/* End of file.... */
|
||||
|
@ -440,6 +440,9 @@ LPTSTR ReadBatchLine ()
|
|||
}
|
||||
TRACE ("ReadBatchLine(): textline: \'%s\'\n", debugstr_aw(textline));
|
||||
|
||||
if (textline[_tcslen(textline) - 1] != _T('\n'))
|
||||
_tcscat(textline, _T("\n"));
|
||||
|
||||
first = textline;
|
||||
|
||||
/* cmd block over multiple lines (..) */
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group>
|
||||
<module name="cmd_base" type="objectlibrary" unicode="yes">
|
||||
<module name="cmd" type="win32cui" installbase="system32" installname="cmd.exe" unicode="yes">
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<include base="cmd_base">.</include>
|
||||
<include base="cmd">.</include>
|
||||
<define name="ANONYMOUSUNIONS" />
|
||||
<define name="_DEBUG_MEM" />
|
||||
<library>wine</library>
|
||||
<library>kernel32</library>
|
||||
<library>advapi32</library>
|
||||
<library>shell32</library>
|
||||
<library>user32</library>
|
||||
<file>cmd.rc</file>
|
||||
<file>main.c</file>
|
||||
<pch>precomp.h</pch>
|
||||
<compilationunit name="unit.c">
|
||||
<file>alias.c</file>
|
||||
|
@ -67,17 +74,4 @@
|
|||
<file>window.c</file>
|
||||
</compilationunit>
|
||||
</module>
|
||||
<module name="cmd" type="win32cui" installbase="system32" installname="cmd.exe" unicode="yes">
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<include base="cmd">.</include>
|
||||
<define name="ANONYMOUSUNIONS" />
|
||||
<library>cmd_base</library>
|
||||
<library>wine</library>
|
||||
<library>kernel32</library>
|
||||
<library>advapi32</library>
|
||||
<library>shell32</library>
|
||||
<library>user32</library>
|
||||
<file>cmd.rc</file>
|
||||
<file>main.c</file>
|
||||
</module>
|
||||
</group>
|
||||
|
|
|
@ -381,9 +381,9 @@ BEGIN
|
|||
IDS_DESKTOPBAR_SETTINGS "Íàñòðîéêè ðîáî÷îãî ñòîëà"
|
||||
IDS_DESKTOP "Ðîáî÷èé Ñò³ë"
|
||||
IDS_TASKBAR "Ïàíåëü çàâäàíü"
|
||||
IDS_NAMECOLUMN "Name"
|
||||
IDS_PATHCOLUMN "Path"
|
||||
IDS_MENUCOLUMN "Menu path"
|
||||
IDS_NAMECOLUMN "²ì'ÿ"
|
||||
IDS_PATHCOLUMN "Øëÿõ"
|
||||
IDS_MENUCOLUMN "Øëÿõ â ìåíþ"
|
||||
END
|
||||
|
||||
#endif // Ukrainian resources
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<library>shell32</library>
|
||||
<library>uuid</library>
|
||||
<library>notifyhook</library>
|
||||
<pch>precomp.h</pch>
|
||||
|
||||
<directory name="desktop">
|
||||
<file>desktop.cpp</file>
|
||||
</directory>
|
||||
|
|
|
@ -14,8 +14,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_VERSION_STR REACTOS_STR_PRODUCT_VERSION
|
||||
IDS_EXPLORER_VERSION_STR "ReactOS %s Explorer"
|
||||
END
|
||||
//STRINGTABLE DISCARDABLE
|
||||
//BEGIN
|
||||
// IDS_VERSION_STR REACTOS_STR_PRODUCT_VERSION
|
||||
// IDS_EXPLORER_VERSION_STR "ReactOS %s Explorer"
|
||||
//END
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
@ -1018,7 +1018,7 @@ DWORD RSetServiceStatus(
|
|||
return ERROR_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
lpService = ScmGetServiceEntryByClientHandle(hServiceStatus);
|
||||
lpService = ScmGetServiceEntryByClientHandle(LongToPtr(hServiceStatus));
|
||||
if (lpService == NULL)
|
||||
{
|
||||
DPRINT1("lpService == NULL!\n");
|
||||
|
@ -1041,8 +1041,7 @@ DWORD RSetServiceStatus(
|
|||
}
|
||||
|
||||
/* Check accepted controls */
|
||||
if (lpServiceStatus->dwControlsAccepted == 0 ||
|
||||
lpServiceStatus->dwControlsAccepted & ~0xFF)
|
||||
if (lpServiceStatus->dwControlsAccepted & ~0xFF)
|
||||
{
|
||||
DPRINT1("Invalid controls accepted!\n");
|
||||
return ERROR_INVALID_DATA;
|
||||
|
|
|
@ -997,6 +997,8 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\63","Coun
|
|||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\63","Name",0x00000000,"Philippines"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\64","CountryCode",0x00010001,0x00000040
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\64","Name",0x00000000,"New Zealand"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\66","CountryCode",0x00010001,0x00000042
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\66","Name",0x00000000,"Thailand"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\7","CountryCode",0x00010001,0x00000007
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\7","Name",0x00000000,"Russia"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\705","CountryCode",0x00010001,0x000002C1
|
||||
|
|
|
@ -1003,6 +1003,8 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\63","Coun
|
|||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\63","Name",0x00000000,"Philippines"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\64","CountryCode",0x00010001,0x00000040
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\64","Name",0x00000000,"New Zealand"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\66","CountryCode",0x00010001,0x00000042
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\66","Name",0x00000000,"Thailand"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\7","CountryCode",0x00010001,0x00000007
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\7","Name",0x00000000,"Russia"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\705","CountryCode",0x00010001,0x000002C1
|
||||
|
|
|
@ -541,8 +541,8 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Language","InstallLanguage",0x0000000
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale",,0x00000012
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000402",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000403",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000404",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000804",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000404",0x00000000,"9"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000804",0x00000000,"a"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000405",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000406",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000407",0x00000000,"1"
|
||||
|
@ -587,7 +587,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000c0c",0x00000000,"1"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000100c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000140c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000180c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040d",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040d",0x00000000,"c"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040e",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040f",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000410",0x00000000,"1"
|
||||
|
@ -610,7 +610,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041b",0x00000000,"2"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041c",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000081d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041e",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041e",0x00000000,"b"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041f",0x00000000,"6"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000420",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000421",0x00000000,"1"
|
||||
|
@ -622,15 +622,15 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000426",0x00000000,"3"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000427",0x00000000,"3"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000429",0x00000000,""
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042a",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042b",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042b",0x00000000,"11"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042c",0x00000000,"6"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000082c",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042f",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000436",0x00000000,"1"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000437",0x00000000,""
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000437",0x00000000,"10"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000438",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000439",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000439",0x00000000,"f"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000043e",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000083e",0x00000000,"1"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000043f",0x00000000,"5"
|
||||
|
|
|
@ -541,8 +541,8 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Language","InstallLanguage",0x0000000
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale",,0x00000012
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000402",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000403",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000404",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000804",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000404",0x00000000,"9"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000804",0x00000000,"a"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000405",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000406",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000407",0x00000000,"1"
|
||||
|
@ -587,7 +587,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000c0c",0x00000000,"1"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000100c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000140c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000180c",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040d",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040d",0x00000000,"c"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040e",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000040f",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000410",0x00000000,"1"
|
||||
|
@ -610,7 +610,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041b",0x00000000,"2"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041c",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000081d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041e",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041e",0x00000000,"b"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000041f",0x00000000,"6"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000420",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000421",0x00000000,"1"
|
||||
|
@ -622,15 +622,15 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000426",0x00000000,"3"
|
|||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000427",0x00000000,"3"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000429",0x00000000,""
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042a",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042b",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042b",0x00000000,"11"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042c",0x00000000,"6"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000082c",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042d",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000042f",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000436",0x00000000,"1"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000437",0x00000000,""
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000437",0x00000000,"10"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000438",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000439",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","00000439",0x00000000,"f"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000043e",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000083e",0x00000000,"1"
|
||||
;HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale","0000043f",0x00000000,"5"
|
||||
|
|
File diff suppressed because it is too large
Load diff
5
reactos/dll/3rdparty/dxtn/dxtn.rbuild
vendored
5
reactos/dll/3rdparty/dxtn/dxtn.rbuild
vendored
|
@ -2,11 +2,8 @@
|
|||
<importlibrary definition="dxtn.def" />
|
||||
<include base="dxtn">.</include>
|
||||
<define name="__USE_W32API" />
|
||||
|
||||
<library>msvcrt</library>
|
||||
|
||||
<file>fxt1.c</file>
|
||||
<file>dxtn.c</file>
|
||||
<file>wrapper.c</file>
|
||||
<file>texstore.c</file>
|
||||
</module>
|
||||
</module>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="freetype" type="kernelmodedll" entrypoint="0" baseaddress="${BASEADDRESS_FREETYPE}" installbase="system32" installname="freetype.dll" allowwarnings="true">
|
||||
<module name="freetype" type="kernelmodedll" entrypoint="0" baseaddress="${BASEADDRESS_FREETYPE}" installbase="system32" installname="freetype.dll" allowwarnings="true" crt="libcntpr">
|
||||
<importlibrary definition="freetype.def" />
|
||||
<include base="freetype">include</include>
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
|
@ -15,7 +15,6 @@
|
|||
<define name="TT_CONFIG_OPTION_BYTECODE_INTERPRETER" />
|
||||
</if>
|
||||
<library>ntoskrnl</library>
|
||||
<library>libcntpr</library>
|
||||
<if property="ARCH" value="i386">
|
||||
<directory name="i386">
|
||||
<file>setjmplongjmp.s</file>
|
||||
|
|
|
@ -15,5 +15,4 @@
|
|||
<file>appwiz.c</file>
|
||||
<file>createlink.c</file>
|
||||
<file>appwiz.rc</file>
|
||||
<file>appwiz.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -17,5 +17,4 @@
|
|||
<file>createlink.c</file>
|
||||
<file>updates.c</file>
|
||||
<file>appwiz.rc</file>
|
||||
<file>appwiz.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -31,5 +31,4 @@
|
|||
<file>monslctl.c</file>
|
||||
<file>general.c</file>
|
||||
<file>desk.rc</file>
|
||||
<file>desk.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* FILE: dll/cpl/desk/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for desk
|
||||
* TRANSLATOR: Kario <kario@szm.sk>
|
||||
* TRANSLATOR: Mário Kaèmár aka Kario <kario@szm.sk>
|
||||
* DATE OF TR.: 15-09-2007
|
||||
* LAST CHANGE: 11-07-2008
|
||||
* LAST CHANGE: 05-10-2008
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
@ -39,12 +39,12 @@ BEGIN
|
|||
COMBOBOX IDC_SCREENS_LIST, 14, 103, 100, 100, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "&Nastavenie",IDC_SCREENS_SETTINGS, 120, 103, 50, 13, WS_GROUP
|
||||
PUSHBUTTON "&Ukážka",IDC_SCREENS_TESTSC, 175, 103, 50, 13
|
||||
LTEXT "&Poèka<6B>",IDC_WAITTEXT, 14, 125, 16, 9
|
||||
EDITTEXT IDC_SCREENS_TIMEDELAY, 34, 123, 32, 13, ES_RIGHT | WS_GROUP
|
||||
LTEXT "&Poèka<6B>",IDC_WAITTEXT, 14, 125, 20, 9
|
||||
EDITTEXT IDC_SCREENS_TIMEDELAY, 38, 123, 32, 13, ES_RIGHT | WS_GROUP
|
||||
CONTROL "",IDC_SCREENS_TIME ,UPDOWN_CLASS,UDS_SETBUDDYINT |
|
||||
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
|
||||
WS_BORDER | WS_GROUP, 54, 123, 12, 13
|
||||
LTEXT "minút", IDC_MINTEXT, 70, 125, 26, 9
|
||||
WS_BORDER | WS_GROUP, 58, 123, 12, 13
|
||||
LTEXT "minút", IDC_MINTEXT, 74, 125, 26, 9
|
||||
CONTROL "Pri obnovení chráni<6E> &heslom.",IDC_SCREENS_USEPASSCHK,"button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP, 108, 120, 104, 19
|
||||
GROUPBOX "Napájani&e monitora", IDC_SCREENS_DUMMY2, 6, 155, 232, 41
|
||||
|
|
|
@ -14,5 +14,4 @@
|
|||
<file>add.c</file>
|
||||
<file>changekeyseq.c</file>
|
||||
<file>input.rc</file>
|
||||
<file>input.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -10,17 +10,17 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
|||
|
||||
IDD_PROPPAGESETTINGS DIALOGEX 0, 0, 254, 228
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Settings"
|
||||
CAPTION "Ïàðàìåòðè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Select the services that you want for each input language shown in the list.\nUse the Add and Remove buttons to modify this list.", -1, 9, 6, 238, 25
|
||||
CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SORTASCENDING | LVS_REPORT | 0x0000808D, 8, 36, 237, 101
|
||||
PUSHBUTTON "&Set Default", IDC_SET_DEFAULT, 101, 159, 144, 14
|
||||
PUSHBUTTON "A&dd...", IDC_ADD_BUTTON, 27, 142, 70, 14
|
||||
PUSHBUTTON "&Remove...", IDC_REMOVE_BUTTON, 101, 142, 70, 14
|
||||
PUSHBUTTON "&Properties...", IDC_PROP_BUTTON, 175, 142, 70, 14
|
||||
GROUPBOX "Preferences", -1, 7, 185, 240, 36
|
||||
PUSHBUTTON "&Key Settings...", IDC_KEY_SET_BTN, 14, 198, 110, 14
|
||||
PUSHBUTTON "Çàìîâ&÷óâàííÿ", IDC_SET_DEFAULT, 101, 159, 144, 14
|
||||
PUSHBUTTON "&Äîäàòè...", IDC_ADD_BUTTON, 27, 142, 70, 14
|
||||
PUSHBUTTON "Â&èäàëèòè...", IDC_REMOVE_BUTTON, 101, 142, 70, 14
|
||||
PUSHBUTTON "Â&ëàñòèâîñò³...", IDC_PROP_BUTTON, 175, 142, 70, 14
|
||||
GROUPBOX "Íàñòðîéêà", -1, 7, 185, 240, 36
|
||||
PUSHBUTTON "&Ïàðàìåòðè êëàâ³àòóðè...", IDC_KEY_SET_BTN, 14, 198, 110, 14
|
||||
END
|
||||
|
||||
IDD_KEYSETTINGS DIALOGEX 0, 0, 272, 163
|
||||
|
@ -55,22 +55,22 @@ END
|
|||
|
||||
IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Change Key Sequence"
|
||||
CAPTION "Çì³íà ñïîëó÷åííÿ êëàâ³ø"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "", -1, 9, 5, 155, 110
|
||||
AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12
|
||||
AUTOCHECKBOX "&Ïåðåêëþ÷àòè ìîâè ââîä", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12
|
||||
LTEXT "Shift", -1, 73, 37, 27, 12
|
||||
CTEXT "+", -1, 62, 37, 8, 9
|
||||
AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11
|
||||
AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12
|
||||
AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12
|
||||
AUTORADIOBUTTON "ALT ç&ë³âà", IDC_LEFT_ALT_LANG, 29, 45, 46, 12
|
||||
AUTOCHECKBOX "Ïåðå&êëþ÷àòè ðîçêëàäêè êëàâ³àòóðè", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12
|
||||
LTEXT "Shift", -1, 74, 87, 27, 12
|
||||
CTEXT "+", -1, 63, 87, 8, 9
|
||||
AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11
|
||||
AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12
|
||||
AUTORADIOBUTTON "ALT &çë³âà", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12
|
||||
DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 172, 27, 50, 14
|
||||
END
|
||||
|
||||
IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75
|
||||
|
@ -96,15 +96,15 @@ BEGIN
|
|||
IDS_UNKNOWN "(Íåìຠäàíèõ)"
|
||||
IDS_RESTART "Âè ä³éñíî áàæàºòå ïåðåçàâàíòàæèòè êîìï'þòåð çàðàç?"
|
||||
IDS_WHATS_THIS "Ùî öå?"
|
||||
IDS_LANGUAGE "Language"
|
||||
IDS_LAYOUT "Keyboard Layout"
|
||||
IDS_REM_QUESTION "Do you want to remove selected keyboard layout?"
|
||||
IDS_CONFIRMATION "Confirmation"
|
||||
IDS_LAYOUT_EXISTS "This layout already exists."
|
||||
IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added."
|
||||
IDS_LANGUAGE "Ìîâà"
|
||||
IDS_LAYOUT "Ðîçêëàäêà êëàâ³àòóðè"
|
||||
IDS_REM_QUESTION "Âè ä³éñíî õî÷åòå âèäàëèòè âèáðàíó ðîçêëàäêó êëàâ³àòóðè?"
|
||||
IDS_CONFIRMATION "ϳäòâåðäæåííÿ"
|
||||
IDS_LAYOUT_EXISTS "Öÿ ðîçêëàäêà âæå ³ñíóº."
|
||||
IDS_LAYOUT_EXISTS2 "Öÿ ðîçêëàäêà âæå ³ñíóº ³ íå ìîæå áóòè äîäàíà."
|
||||
IDS_CTRL_SHIFT "Ctrl+Shift"
|
||||
IDS_LEFT_ALT_SHIFT "Left Alt+Shift"
|
||||
IDS_SWITCH_BET_INLANG "Switch between input languages"
|
||||
IDS_LEFT_ALT_SHIFT "Alt çë³âà+Shift"
|
||||
IDS_SWITCH_BET_INLANG "Ïåðåêëþ÷åííÿ ìîâ ââîäó"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -241,10 +241,10 @@ BEGIN
|
|||
IDS_DIVEHI_TYPEWRITER_LAYOUT, "Ìàëüä³âñüêà (äðóêàðñüêà ìàøèíêà)"
|
||||
IDS_BULGARIAN_PHONETIC_CLASSIC_LAYOUT, "Áîëãàðñüêà ôîíåòè÷íà (êëàñè÷íà)"
|
||||
IDS_BULGARIAN_PHONETIC_BDS_LAYOUT, "Áîëãàðñüêà ôîíåòè÷íà (BDS)"
|
||||
IDS_BULGARIAN_BDS_LAYOUT, "Bulgarian BDS 5237-1978"
|
||||
IDS_GERMAN_RISTOME_LAYOUT, "German (RISTOME)"
|
||||
IDS_GERMAN_NEO_11_LAYOUT, "German (NEO-1.1)"
|
||||
IDS_GERMAN_DE_ERGO_LAYOUT, "German (de_ergo)"
|
||||
IDS_BURMESE_LAYOUT, "Burmese"
|
||||
IDS_UKRAINIAN_STUDENT_LAYOUT, "Ukrainian (Student)"
|
||||
IDS_BULGARIAN_BDS_LAYOUT, "Áîëãàðñüêà BDS 5237-1978"
|
||||
IDS_GERMAN_RISTOME_LAYOUT, "ͳìåöüêà (RISTOME)"
|
||||
IDS_GERMAN_NEO_11_LAYOUT, "ͳìåöüêà (NEO-1.1)"
|
||||
IDS_GERMAN_DE_ERGO_LAYOUT, "ͳìåöüêà (de_ergo)"
|
||||
IDS_BURMESE_LAYOUT, "Á³ðìàíñüêà"
|
||||
IDS_UKRAINIAN_STUDENT_LAYOUT, "Óêðà¿íñüêà (ñòóäåíòñüêà)"
|
||||
END
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
<library>comctl32</library>
|
||||
<library>advapi32</library>
|
||||
<library>setupapi</library>
|
||||
<library>msvcrt</library>
|
||||
<library>shell32</library>
|
||||
<file>currency.c</file>
|
||||
<file>date.c</file>
|
||||
|
@ -22,5 +21,4 @@
|
|||
<file>advanced.c</file>
|
||||
<file>sort.c</file>
|
||||
<file>intl.rc</file>
|
||||
<file>intl.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -12,5 +12,4 @@
|
|||
<library>shell32</library>
|
||||
<file>joy.c</file>
|
||||
<file>joy.rc</file>
|
||||
<file>joy.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -176,5 +176,5 @@ BEGIN
|
|||
IDS_REMOVE_TEXT "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> '%s' <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
|
||||
IDS_OVERWRITE_TITLE "ϳ<><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
IDS_OVERWRITE_TEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?"
|
||||
IDS_ANIMATE_CURSOR "Animated Cursor"
|
||||
IDS_ANIMATE_CURSOR "Ŕíłěîâŕíčé âęŕçłâíčę"
|
||||
END
|
||||
|
|
|
@ -15,5 +15,4 @@
|
|||
<file>main.c</file>
|
||||
<file>mouse.c</file>
|
||||
<file>main.rc</file>
|
||||
<file>main.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -648,35 +648,35 @@ LoadSoundProfiles(HWND hwndDlg)
|
|||
BOOL
|
||||
LoadSoundFiles(HWND hwndDlg)
|
||||
{
|
||||
TCHAR szPath[MAX_PATH];
|
||||
TCHAR szNone[MAX_PATH];
|
||||
TCHAR * ptr;
|
||||
WIN32_FIND_DATA FileData;
|
||||
WCHAR szPath[MAX_PATH];
|
||||
WCHAR * ptr;
|
||||
WIN32_FIND_DATAW FileData;
|
||||
HANDLE hFile;
|
||||
LRESULT lResult;
|
||||
UINT length;
|
||||
|
||||
length = GetWindowsDirectory(szPath, sizeof(szPath) / sizeof(TCHAR));
|
||||
if (length == 0 || length > (sizeof(szPath) / sizeof(TCHAR)))
|
||||
length = GetWindowsDirectoryW(szPath, MAX_PATH);
|
||||
if (length == 0 || length >= MAX_PATH - 9)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (szPath[length-1] != _T('\\'))
|
||||
if (szPath[length-1] != L'\\')
|
||||
{
|
||||
szPath[length] = _T('\\');
|
||||
szPath[length] = L'\\';
|
||||
length++;
|
||||
}
|
||||
_tcscpy(&szPath[length], _T("media\\*"));
|
||||
wcscpy(&szPath[length], L"media\\*");
|
||||
length += 7;
|
||||
|
||||
hFile = FindFirstFile(szPath, &FileData);
|
||||
hFile = FindFirstFileW(szPath, &FileData);
|
||||
if (hFile == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (LoadString(hApplet, IDS_NO_SOUND, szNone, MAX_PATH))
|
||||
if (LoadString(hApplet, IDS_NO_SOUND, szPath, MAX_PATH))
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_SOUND_LIST, CB_ADDSTRING, (WPARAM)0, (LPARAM)szNone);
|
||||
szPath[(sizeof(szPath)/sizeof(WCHAR))-1] = L'\0';
|
||||
SendDlgItemMessageW(hwndDlg, IDC_SOUND_LIST, CB_ADDSTRING, (WPARAM)0, (LPARAM)szPath);
|
||||
}
|
||||
|
||||
do
|
||||
|
@ -684,7 +684,7 @@ LoadSoundFiles(HWND hwndDlg)
|
|||
if (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||
continue;
|
||||
|
||||
ptr = _tcsrchr(FileData.cFileName, _T('\\'));
|
||||
ptr = wcsrchr(FileData.cFileName, L'\\');
|
||||
if (ptr)
|
||||
{
|
||||
ptr++;
|
||||
|
@ -693,13 +693,13 @@ LoadSoundFiles(HWND hwndDlg)
|
|||
{
|
||||
ptr = FileData.cFileName;
|
||||
}
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_SOUND_LIST, CB_ADDSTRING, (WPARAM)0, (LPARAM)ptr);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_SOUND_LIST, CB_ADDSTRING, (WPARAM)0, (LPARAM)ptr);
|
||||
if (lResult != CB_ERR)
|
||||
{
|
||||
_tcscpy(&szPath[length-1], FileData.cFileName);
|
||||
SendDlgItemMessage(hwndDlg, IDC_SOUND_LIST, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)_tcsdup(szPath));
|
||||
wcscpy(&szPath[length-1], FileData.cFileName);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_SOUND_LIST, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)wcsdup(szPath));
|
||||
}
|
||||
}while(FindNextFile(hFile, &FileData) != 0);
|
||||
}while(FindNextFileW(hFile, &FileData) != 0);
|
||||
|
||||
FindClose(hFile);
|
||||
return TRUE;
|
||||
|
|
|
@ -10,5 +10,4 @@
|
|||
<library>advapi32</library>
|
||||
<library>shell32</library>
|
||||
<file>ncpa.c</file>
|
||||
<file>ncpa.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -8,5 +8,4 @@
|
|||
<library>comctl32</library>
|
||||
<file>odbccp32.c</file>
|
||||
<file>odbccp32.rc</file>
|
||||
<file>odbccp32.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -16,5 +16,4 @@
|
|||
<file>advanced.c</file>
|
||||
<file>hibernate.c</file>
|
||||
<file>powercfg.rc</file>
|
||||
<file>powercfg.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* FILE: dll/cpl/sysdm/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for sysdm
|
||||
* TRANSLATOR: Kario <kario@szm.sk>
|
||||
* TRANSLATOR: Mário Kačmár aka Kario <kario@szm.sk>
|
||||
* DATE OF TR.: 20-09-2007
|
||||
* LAST CHANGE: 16-10-2009
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
@ -125,7 +126,7 @@ FONT 8, "MS Shell Dlg"
|
|||
BEGIN
|
||||
ICON IDI_USERPROF, IDC_STATIC, 6, 11, 16, 16, SS_ICON
|
||||
LTEXT "Používateľské profily obsahujú nastavenia pracovnej plochy a iné informácie týkajúce sa používateľského konta. Na každom používanom počítači je možné vytvoriť iný profil alebo je možné vybrať zdieľaný profil, ktorý je rovnaký na všetkých používaných počítačoch.",
|
||||
IDC_STATIC, 40, 11, 204, 35
|
||||
IDC_STATIC, 40, 11, 204, 44
|
||||
LTEXT "&Profily uložené na tomto počítači:", IDC_STATIC, 16, 51, 204, 9
|
||||
CONTROL "", IDC_USERPROFILE_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,
|
||||
6, 66, 244, 85, WS_EX_CLIENTEDGE
|
||||
|
@ -149,11 +150,11 @@ BEGIN
|
|||
LTEXT "Predvolený operačný &systém:", IDC_STATIC, 14, 26, 100, 8
|
||||
COMBOBOX IDC_STRECOSCOMBO, 14, 37, 224, 46, CBS_DROPDOWNLIST
|
||||
AUTOCHECKBOX "&Zobraziť zoznam operačných systémov na:", IDC_STRECLIST, 14, 56, 150, 8
|
||||
EDITTEXT IDC_STRRECLISTEDIT, 179, 54, 30, 12, ES_NUMBER
|
||||
EDITTEXT IDC_STRRECLISTEDIT, 183, 54, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECLISTUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 56, 25, 8
|
||||
AUTOCHECKBOX "Ak sú &potrebné možnosti obnovenia, zobraziť ich na:", IDC_STRRECREC, 14, 70, 163, 8
|
||||
EDITTEXT IDC_STRRECRECEDIT, 179, 68, 30, 12, ES_NUMBER
|
||||
AUTOCHECKBOX "Ak sú &potrebné možnosti obnovenia, zobraziť ich na:", IDC_STRRECREC, 14, 70, 167, 8
|
||||
EDITTEXT IDC_STRRECRECEDIT, 183, 68, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECRECUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 70, 25, 8
|
||||
LTEXT "Ak chcete manuálne upraviť súbor s možnosťami spustenia systému, kliknite na tlačidlo Upraviť.", IDC_STATIC, 14, 89, 187, 8
|
||||
|
@ -180,29 +181,29 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS
|
|||
CAPTION "Virtuálna pamäť"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Jednotka [menovka zväzku]", IDC_STATIC, 12, 5, 96, 9
|
||||
LTEXT "Veľkosť stránkovacieho súboru (v MB)", IDC_STATIC, 115, 5, 96, 9
|
||||
LTEXT "Jednotka [menovka zväzku]", IDC_STATIC, 10, 5, 96, 9
|
||||
LTEXT "Veľkosť stránkovacieho súboru (v MB)", IDC_STATIC, 112, 5, 96, 9
|
||||
LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
|
||||
GROUPBOX "Veľkosť stránkovacieho súboru pre vybranú jednotku", IDC_DRIVEGROUP, 10, 70, 204, 104
|
||||
LTEXT "Jednotka:", IDC_STATIC, 20, 80, 20, 8
|
||||
LTEXT "Jednotka:", IDC_STATIC, 20, 80, 30, 8
|
||||
LTEXT "", IDC_DRIVE, 88, 81, 100, 9
|
||||
LTEXT "Dostupné miesto:", IDC_STATIC, 20, 92, 56, 9
|
||||
LTEXT "", IDC_SPACEAVAIL, 88, 92, 104, 9
|
||||
LTEXT "&Počiatočná veľkosť (v MB):", -1, 22, 118, 54, 9
|
||||
LTEXT "Ma&ximálna veľkosť (v MB):", -1, 22, 131, 64, 9
|
||||
AUTORADIOBUTTON "&Vlastná veľkosť:", IDC_CUSTOM, 20, 105, 54, 9, WS_GROUP
|
||||
AUTORADIOBUTTON "Veľkosť určovaná &systémom", IDC_SYSMANSIZE, 20, 145, 88, 9
|
||||
AUTORADIOBUTTON "N&epoužívať stránkovací súbor", IDC_NOPAGEFILE, 20, 158, 78,9
|
||||
LTEXT "&Počiatočná veľkosť (v MB):", -1, 22, 118, 74, 9
|
||||
LTEXT "Ma&ximálna veľkosť (v MB):", -1, 22, 131, 74, 9
|
||||
AUTORADIOBUTTON "&Vlastná veľkosť:", IDC_CUSTOM, 20, 105, 74, 9, WS_GROUP
|
||||
AUTORADIOBUTTON "Veľkosť určovaná &systémom", IDC_SYSMANSIZE, 20, 145, 98, 9
|
||||
AUTORADIOBUTTON "N&epoužívať stránkovací súbor", IDC_NOPAGEFILE, 20, 158, 108,9
|
||||
EDITTEXT IDC_INITIALSIZE, 100, 114, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
EDITTEXT IDC_MAXSIZE, 100, 129, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Nastaviť", IDC_SET, 158, 155, 50, 14
|
||||
|
||||
GROUPBOX "Celková veľkosť stránkovacieho súboru pre všetky jednotky", IDC_TOTALGROUP, 10, 177, 204, 46
|
||||
LTEXT "Najmenšia povolená:", IDC_STATIC, 18, 188, 58, 9
|
||||
LTEXT "Najmenšia povolená:", IDC_STATIC, 18, 188, 78, 9
|
||||
LTEXT "", IDC_MINIMUM, 88, 188, 100, 9
|
||||
LTEXT "Odporúčaná:", IDC_STATIC, 18, 199, 52, 9
|
||||
LTEXT "", IDC_RECOMMENDED, 88, 197, 100, 9
|
||||
LTEXT "Aktuálne vyhradená:", IDC_STATIC, 18, 210, 66, 9
|
||||
LTEXT "Aktuálne vyhradená:", IDC_STATIC, 18, 210, 76, 9
|
||||
LTEXT "", IDC_CURRENT, 88, 208, 100, 9
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 114, 232, 48, 14
|
||||
|
|
|
@ -69,9 +69,9 @@ typedef struct _VIRTMEM
|
|||
typedef struct _BOOTRECORD
|
||||
{
|
||||
DWORD BootType;
|
||||
TCHAR szSectionName[128];
|
||||
TCHAR szBootPath[MAX_PATH];
|
||||
TCHAR szOptions[512];
|
||||
WCHAR szSectionName[128];
|
||||
WCHAR szBootPath[MAX_PATH];
|
||||
WCHAR szOptions[512];
|
||||
|
||||
}BOOTRECORD, *PBOOTRECORD;
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
|
||||
typedef struct _STARTINFO
|
||||
{
|
||||
TCHAR szFreeldrIni[MAX_PATH + 15];
|
||||
TCHAR szDumpFile[MAX_PATH];
|
||||
TCHAR szMinidumpDir[MAX_PATH];
|
||||
WCHAR szFreeldrIni[MAX_PATH + 15];
|
||||
WCHAR szDumpFile[MAX_PATH];
|
||||
WCHAR szMinidumpDir[MAX_PATH];
|
||||
DWORD dwCrashDumpEnabled;
|
||||
INT iFreeLdrIni;
|
||||
} STARTINFO, *PSTARTINFO;
|
||||
|
@ -33,8 +33,8 @@ SetTimeout(HWND hwndDlg, INT Timeout)
|
|||
EnableWindow(GetDlgItem(hwndDlg, IDC_STRRECLISTUPDWN), TRUE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_STRRECLISTEDIT), TRUE);
|
||||
}
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECLISTUPDWN, UDM_SETRANGE, (WPARAM) 0, (LPARAM) MAKELONG((short) 999, 0));
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECLISTUPDWN, UDM_SETPOS, (WPARAM) 0, (LPARAM) MAKELONG((short) Timeout, 0));
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECLISTUPDWN, UDM_SETRANGE, (WPARAM) 0, (LPARAM) MAKELONG((short) 999, 0));
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECLISTUPDWN, UDM_SETPOS, (WPARAM) 0, (LPARAM) MAKELONG((short) Timeout, 0));
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
@ -50,33 +50,33 @@ SetRecoveryTimeout(HWND hwndDlg, INT Timeout)
|
|||
EnableWindow(GetDlgItem(hwndDlg, IDC_STRRECRECUPDWN), TRUE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_STRRECRECEDIT), TRUE);
|
||||
}
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECRECUPDWN, UDM_SETRANGE, (WPARAM) 0, (LPARAM) MAKELONG((short) 999, 0));
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECRECUPDWN, UDM_SETPOS, (WPARAM) 0, (LPARAM) MAKELONG((short) Timeout, 0));
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECRECUPDWN, UDM_SETRANGE, (WPARAM) 0, (LPARAM) MAKELONG((short) 999, 0));
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECRECUPDWN, UDM_SETPOS, (WPARAM) 0, (LPARAM) MAKELONG((short) Timeout, 0));
|
||||
}
|
||||
|
||||
|
||||
static DWORD
|
||||
GetSystemDrive(TCHAR **szSystemDrive)
|
||||
GetSystemDrive(WCHAR **szSystemDrive)
|
||||
{
|
||||
DWORD dwBufSize;
|
||||
|
||||
/* get Path to freeldr.ini or boot.ini */
|
||||
*szSystemDrive = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(TCHAR));
|
||||
*szSystemDrive = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR));
|
||||
if (szSystemDrive != NULL)
|
||||
{
|
||||
dwBufSize = GetEnvironmentVariable(_T("SystemDrive"), *szSystemDrive, MAX_PATH);
|
||||
dwBufSize = GetEnvironmentVariableW(L"SystemDrive", *szSystemDrive, MAX_PATH);
|
||||
if (dwBufSize > MAX_PATH)
|
||||
{
|
||||
TCHAR *szTmp;
|
||||
WCHAR *szTmp;
|
||||
DWORD dwBufSize2;
|
||||
|
||||
szTmp = HeapReAlloc(GetProcessHeap(), 0, *szSystemDrive, dwBufSize * sizeof(TCHAR));
|
||||
szTmp = HeapReAlloc(GetProcessHeap(), 0, *szSystemDrive, dwBufSize * sizeof(WCHAR));
|
||||
if (szTmp == NULL)
|
||||
goto FailGetSysDrive;
|
||||
|
||||
*szSystemDrive = szTmp;
|
||||
|
||||
dwBufSize2 = GetEnvironmentVariable(_T("SystemDrive"), *szSystemDrive, dwBufSize);
|
||||
dwBufSize2 = GetEnvironmentVariableW(L"SystemDrive", *szSystemDrive, dwBufSize);
|
||||
if (dwBufSize2 > dwBufSize || dwBufSize2 == 0)
|
||||
goto FailGetSysDrive;
|
||||
}
|
||||
|
@ -95,15 +95,15 @@ FailGetSysDrive:
|
|||
}
|
||||
|
||||
static PBOOTRECORD
|
||||
ReadFreeldrSection(HINF hInf, TCHAR *szSectionName)
|
||||
ReadFreeldrSection(HINF hInf, WCHAR *szSectionName)
|
||||
{
|
||||
PBOOTRECORD pRecord;
|
||||
INFCONTEXT InfContext;
|
||||
TCHAR szName[MAX_PATH];
|
||||
TCHAR szValue[MAX_PATH];
|
||||
WCHAR szName[MAX_PATH];
|
||||
WCHAR szValue[MAX_PATH];
|
||||
DWORD LineLength;
|
||||
|
||||
if (!SetupFindFirstLine(hInf,
|
||||
if (!SetupFindFirstLineW(hInf,
|
||||
szSectionName,
|
||||
NULL,
|
||||
&InfContext))
|
||||
|
@ -118,31 +118,31 @@ ReadFreeldrSection(HINF hInf, TCHAR *szSectionName)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
_tcscpy(pRecord->szSectionName, szSectionName);
|
||||
wcscpy(pRecord->szSectionName, szSectionName);
|
||||
|
||||
do
|
||||
{
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
0,
|
||||
szName,
|
||||
sizeof(szName) / sizeof(TCHAR),
|
||||
sizeof(szName) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
1,
|
||||
szValue,
|
||||
sizeof(szValue) / sizeof(TCHAR),
|
||||
sizeof(szValue) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (!_tcsnicmp(szName, _T("BootType"), 8))
|
||||
if (!wcsnicmp(szName, L"BootType", 8))
|
||||
{
|
||||
if (!_tcsnicmp(szValue, _T("ReactOS"), 7))
|
||||
if (!wcsnicmp(szValue, L"ReactOS", 7))
|
||||
{
|
||||
//FIXME store as enum
|
||||
pRecord->BootType = 1;
|
||||
|
@ -152,14 +152,14 @@ ReadFreeldrSection(HINF hInf, TCHAR *szSectionName)
|
|||
pRecord->BootType = 0;
|
||||
}
|
||||
}
|
||||
else if (!_tcsnicmp(szName, _T("SystemPath"), 10))
|
||||
else if (!wcsnicmp(szName, L"SystemPath", 10))
|
||||
{
|
||||
_tcscpy(pRecord->szBootPath, szValue);
|
||||
wcscpy(pRecord->szBootPath, szValue);
|
||||
}
|
||||
else if (!_tcsnicmp(szName, _T("Options"), 7))
|
||||
else if (!wcsnicmp(szName, L"Options", 7))
|
||||
{
|
||||
//FIXME store flags as values
|
||||
_tcscpy(pRecord->szOptions, szValue);
|
||||
wcscpy(pRecord->szOptions, szValue);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -174,35 +174,35 @@ LoadFreeldrSettings(HINF hInf, HWND hwndDlg)
|
|||
{
|
||||
INFCONTEXT InfContext;
|
||||
PBOOTRECORD pRecord;
|
||||
TCHAR szDefaultOs[MAX_PATH];
|
||||
TCHAR szName[MAX_PATH];
|
||||
TCHAR szValue[MAX_PATH];
|
||||
WCHAR szDefaultOs[MAX_PATH];
|
||||
WCHAR szName[MAX_PATH];
|
||||
WCHAR szValue[MAX_PATH];
|
||||
DWORD LineLength;
|
||||
DWORD TimeOut;
|
||||
LRESULT lResult;
|
||||
|
||||
if (!SetupFindFirstLine(hInf,
|
||||
_T("FREELOADER"),
|
||||
_T("DefaultOS"),
|
||||
if (!SetupFindFirstLineW(hInf,
|
||||
L"FREELOADER",
|
||||
L"DefaultOS",
|
||||
&InfContext))
|
||||
{
|
||||
/* failed to find default os */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
1,
|
||||
szDefaultOs,
|
||||
sizeof(szDefaultOs) / sizeof(TCHAR),
|
||||
sizeof(szDefaultOs) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
/* no key */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupFindFirstLine(hInf,
|
||||
_T("FREELOADER"),
|
||||
_T("TimeOut"),
|
||||
if (!SetupFindFirstLineW(hInf,
|
||||
L"FREELOADER",
|
||||
L"TimeOut",
|
||||
&InfContext))
|
||||
{
|
||||
/* expected to find timeout value */
|
||||
|
@ -218,8 +218,8 @@ LoadFreeldrSettings(HINF hInf, HWND hwndDlg)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupFindFirstLine(hInf,
|
||||
_T("Operating Systems"),
|
||||
if (!SetupFindFirstLineW(hInf,
|
||||
L"Operating Systems",
|
||||
NULL,
|
||||
&InfContext))
|
||||
{
|
||||
|
@ -229,20 +229,20 @@ LoadFreeldrSettings(HINF hInf, HWND hwndDlg)
|
|||
|
||||
do
|
||||
{
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
0,
|
||||
szName,
|
||||
sizeof(szName) / sizeof(TCHAR),
|
||||
sizeof(szName) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
/* the ini file is messed up */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
1,
|
||||
szValue,
|
||||
sizeof(szValue) / sizeof(TCHAR),
|
||||
sizeof(szValue) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
/* the ini file is messed up */
|
||||
|
@ -252,14 +252,14 @@ LoadFreeldrSettings(HINF hInf, HWND hwndDlg)
|
|||
pRecord = ReadFreeldrSection(hInf, szName);
|
||||
if (pRecord)
|
||||
{
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM)szValue);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM)szValue);
|
||||
if (lResult != CB_ERR)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)pRecord);
|
||||
if (!_tcscmp(szDefaultOs, szName))
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)pRecord);
|
||||
if (!wcscmp(szDefaultOs, szName))
|
||||
{
|
||||
/* we store the friendly name as key */
|
||||
_tcscpy(szDefaultOs, szValue);
|
||||
wcscpy(szDefaultOs, szValue);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -271,16 +271,16 @@ LoadFreeldrSettings(HINF hInf, HWND hwndDlg)
|
|||
while (SetupFindNextLine(&InfContext, &InfContext));
|
||||
|
||||
/* find default os in list */
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_FINDSTRING, (WPARAM)-1, (LPARAM)szDefaultOs);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_FINDSTRING, (WPARAM)-1, (LPARAM)szDefaultOs);
|
||||
if (lResult != CB_ERR)
|
||||
{
|
||||
/* set cur sel */
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_SETCURSEL, (WPARAM)lResult, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_SETCURSEL, (WPARAM)lResult, (LPARAM)0);
|
||||
}
|
||||
|
||||
if(TimeOut)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECLIST, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECLIST, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
|
||||
SetTimeout(hwndDlg, TimeOut);
|
||||
|
@ -292,17 +292,17 @@ static INT
|
|||
LoadBootSettings(HINF hInf, HWND hwndDlg)
|
||||
{
|
||||
INFCONTEXT InfContext;
|
||||
TCHAR szName[MAX_PATH];
|
||||
TCHAR szValue[MAX_PATH];
|
||||
WCHAR szName[MAX_PATH];
|
||||
WCHAR szValue[MAX_PATH];
|
||||
DWORD LineLength;
|
||||
DWORD TimeOut = 0;
|
||||
TCHAR szDefaultOS[MAX_PATH];
|
||||
TCHAR szOptions[MAX_PATH];
|
||||
WCHAR szDefaultOS[MAX_PATH];
|
||||
WCHAR szOptions[MAX_PATH];
|
||||
PBOOTRECORD pRecord;
|
||||
LRESULT lResult;
|
||||
|
||||
if(!SetupFindFirstLine(hInf,
|
||||
_T("boot loader"),
|
||||
if(!SetupFindFirstLineW(hInf,
|
||||
L"boot loader",
|
||||
NULL,
|
||||
&InfContext))
|
||||
{
|
||||
|
@ -311,39 +311,39 @@ LoadBootSettings(HINF hInf, HWND hwndDlg)
|
|||
|
||||
do
|
||||
{
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
0,
|
||||
szName,
|
||||
sizeof(szName) / sizeof(TCHAR),
|
||||
sizeof(szName) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
1,
|
||||
szValue,
|
||||
sizeof(szValue) / sizeof(TCHAR),
|
||||
sizeof(szValue) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!_tcsnicmp(szName, _T("timeout"), 7))
|
||||
if (!wcsnicmp(szName, L"timeout", 7))
|
||||
{
|
||||
TimeOut = _ttoi(szValue);
|
||||
TimeOut = _wtoi(szValue);
|
||||
}
|
||||
|
||||
if (!_tcsnicmp(szName, _T("default"), 7))
|
||||
if (!wcsnicmp(szName, L"default", 7))
|
||||
{
|
||||
_tcscpy(szDefaultOS, szValue);
|
||||
wcscpy(szDefaultOS, szValue);
|
||||
}
|
||||
|
||||
}
|
||||
while (SetupFindNextLine(&InfContext, &InfContext));
|
||||
|
||||
if (!SetupFindFirstLine(hInf,
|
||||
_T("operating systems"),
|
||||
if (!SetupFindFirstLineW(hInf,
|
||||
L"operating systems",
|
||||
NULL,
|
||||
&InfContext))
|
||||
{
|
||||
|
@ -353,48 +353,48 @@ LoadBootSettings(HINF hInf, HWND hwndDlg)
|
|||
|
||||
do
|
||||
{
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
0,
|
||||
szName,
|
||||
sizeof(szName) / sizeof(TCHAR),
|
||||
sizeof(szName) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!SetupGetStringField(&InfContext,
|
||||
if (!SetupGetStringFieldW(&InfContext,
|
||||
1,
|
||||
szValue,
|
||||
sizeof(szValue) / sizeof(TCHAR),
|
||||
sizeof(szValue) / sizeof(WCHAR),
|
||||
&LineLength))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SetupGetStringField(&InfContext,
|
||||
SetupGetStringFieldW(&InfContext,
|
||||
2,
|
||||
szOptions,
|
||||
sizeof(szOptions) / sizeof(TCHAR),
|
||||
sizeof(szOptions) / sizeof(WCHAR),
|
||||
&LineLength);
|
||||
|
||||
pRecord = (PBOOTRECORD) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(BOOTRECORD));
|
||||
if (pRecord)
|
||||
{
|
||||
pRecord->BootType = 0;
|
||||
_tcscpy(pRecord->szBootPath, szName);
|
||||
_tcscpy(pRecord->szSectionName, szValue);
|
||||
_tcscpy(pRecord->szOptions, szOptions);
|
||||
wcscpy(pRecord->szBootPath, szName);
|
||||
wcscpy(pRecord->szSectionName, szValue);
|
||||
wcscpy(pRecord->szOptions, szOptions);
|
||||
|
||||
if (!_tcscmp(szName, szDefaultOS))
|
||||
if (!wcscmp(szName, szDefaultOS))
|
||||
{
|
||||
/* ms boot ini stores the path not the friendly name */
|
||||
_tcscpy(szDefaultOS, szValue);
|
||||
wcscpy(szDefaultOS, szValue);
|
||||
}
|
||||
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM)szValue);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM)szValue);
|
||||
if (lResult != CB_ERR)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)pRecord);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_SETITEMDATA, (WPARAM)lResult, (LPARAM)pRecord);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -406,16 +406,16 @@ LoadBootSettings(HINF hInf, HWND hwndDlg)
|
|||
while (SetupFindNextLine(&InfContext, &InfContext));
|
||||
|
||||
/* find default os in list */
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_FINDSTRING, (WPARAM)0, (LPARAM)szDefaultOS);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_FINDSTRING, (WPARAM)0, (LPARAM)szDefaultOS);
|
||||
if (lResult != CB_ERR)
|
||||
{
|
||||
/* set cur sel */
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_SETCURSEL, (WPARAM)lResult, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_SETCURSEL, (WPARAM)lResult, (LPARAM)0);
|
||||
}
|
||||
|
||||
if(TimeOut)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECLIST, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECLIST, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
|
||||
SetTimeout(hwndDlg, TimeOut);
|
||||
|
@ -430,40 +430,40 @@ DeleteBootRecords(HWND hwndDlg)
|
|||
LONG index;
|
||||
PBOOTRECORD pRecord;
|
||||
|
||||
lIndex = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_GETCOUNT, (WPARAM)0, (LPARAM)0);
|
||||
lIndex = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_GETCOUNT, (WPARAM)0, (LPARAM)0);
|
||||
if (lIndex == CB_ERR)
|
||||
return;
|
||||
|
||||
for (index = 0; index <lIndex; index++)
|
||||
{
|
||||
pRecord = (PBOOTRECORD) SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_GETITEMDATA, (WPARAM)index, (LPARAM)0);
|
||||
pRecord = (PBOOTRECORD) SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_GETITEMDATA, (WPARAM)index, (LPARAM)0);
|
||||
if ((INT_PTR)pRecord != CB_ERR)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, pRecord);
|
||||
}
|
||||
}
|
||||
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_RESETCONTENT, (WPARAM)0, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_RESETCONTENT, (WPARAM)0, (LPARAM)0);
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
LoadOSList(HWND hwndDlg, PSTARTINFO pStartInfo)
|
||||
{
|
||||
DWORD dwBufSize;
|
||||
TCHAR *szSystemDrive;
|
||||
WCHAR *szSystemDrive;
|
||||
HINF hInf;
|
||||
|
||||
dwBufSize = GetSystemDrive(&szSystemDrive);
|
||||
if (!dwBufSize)
|
||||
return FALSE;
|
||||
|
||||
_tcscpy(pStartInfo->szFreeldrIni, szSystemDrive);
|
||||
_tcscat(pStartInfo->szFreeldrIni, _T("\\freeldr.ini"));
|
||||
wcscpy(pStartInfo->szFreeldrIni, szSystemDrive);
|
||||
wcscat(pStartInfo->szFreeldrIni, L"\\freeldr.ini");
|
||||
|
||||
if (PathFileExists(pStartInfo->szFreeldrIni))
|
||||
if (PathFileExistsW(pStartInfo->szFreeldrIni))
|
||||
{
|
||||
/* freeldr.ini exists */
|
||||
hInf = SetupOpenInfFile(pStartInfo->szFreeldrIni,
|
||||
hInf = SetupOpenInfFileW(pStartInfo->szFreeldrIni,
|
||||
NULL,
|
||||
INF_STYLE_OLDNT,
|
||||
NULL);
|
||||
|
@ -479,13 +479,13 @@ LoadOSList(HWND hwndDlg, PSTARTINFO pStartInfo)
|
|||
}
|
||||
|
||||
/* try load boot.ini settings */
|
||||
_tcscpy(pStartInfo->szFreeldrIni, szSystemDrive);
|
||||
_tcscat(pStartInfo->szFreeldrIni, _T("\\boot.ini"));
|
||||
wcscpy(pStartInfo->szFreeldrIni, szSystemDrive);
|
||||
wcscat(pStartInfo->szFreeldrIni, L"\\boot.ini");
|
||||
|
||||
if (PathFileExists(pStartInfo->szFreeldrIni))
|
||||
if (PathFileExistsW(pStartInfo->szFreeldrIni))
|
||||
{
|
||||
/* load boot.ini settings */
|
||||
hInf = SetupOpenInfFile(pStartInfo->szFreeldrIni,
|
||||
hInf = SetupOpenInfFileW(pStartInfo->szFreeldrIni,
|
||||
NULL,
|
||||
INF_STYLE_OLDNT,
|
||||
NULL);
|
||||
|
@ -518,16 +518,16 @@ SetCrashDlgItems(HWND hwnd, PSTARTINFO pStartInfo)
|
|||
/* minidump type */
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), TRUE);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_STRRECOVERWRITE), FALSE);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)pStartInfo->szMinidumpDir);
|
||||
SendMessageW(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)pStartInfo->szMinidumpDir);
|
||||
}
|
||||
else if (pStartInfo->dwCrashDumpEnabled == 1 || pStartInfo->dwCrashDumpEnabled == 2)
|
||||
{
|
||||
/* kernel or complete dump */
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), TRUE);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_STRRECOVERWRITE), TRUE);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)pStartInfo->szDumpFile);
|
||||
SendMessageW(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)pStartInfo->szDumpFile);
|
||||
}
|
||||
SendDlgItemMessage(hwnd, IDC_STRRECDEBUGCOMBO, CB_SETCURSEL, (WPARAM)pStartInfo->dwCrashDumpEnabled, (LPARAM)0);
|
||||
SendDlgItemMessageW(hwnd, IDC_STRRECDEBUGCOMBO, CB_SETCURSEL, (WPARAM)pStartInfo->dwCrashDumpEnabled, (LPARAM)0);
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
@ -536,8 +536,8 @@ WriteStartupRecoveryOptions(HWND hwndDlg, PSTARTINFO pStartInfo)
|
|||
HKEY hKey;
|
||||
DWORD lResult;
|
||||
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
|
||||
_T("System\\CurrentControlSet\\Control\\CrashControl"),
|
||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
||||
L"System\\CurrentControlSet\\Control\\CrashControl",
|
||||
0,
|
||||
KEY_WRITE,
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
|
@ -547,30 +547,30 @@ WriteStartupRecoveryOptions(HWND hwndDlg, PSTARTINFO pStartInfo)
|
|||
}
|
||||
|
||||
lResult = (DWORD) SendDlgItemMessage(hwndDlg, IDC_STRRECWRITEEVENT, BM_GETCHECK, (WPARAM)0, (LPARAM)0);
|
||||
RegSetValueEx(hKey, _T("LogEvent"), 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
RegSetValueExW(hKey, L"LogEvent", 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
|
||||
lResult = (DWORD) SendDlgItemMessage(hwndDlg, IDC_STRRECSENDALERT, BM_GETCHECK, (WPARAM)0, (LPARAM)0);
|
||||
RegSetValueEx(hKey, _T("SendAlert"), 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
RegSetValueExW(hKey, L"SendAlert", 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
|
||||
lResult = (DWORD) SendDlgItemMessage(hwndDlg, IDC_STRRECRESTART, BM_GETCHECK, (WPARAM)0, (LPARAM)0);
|
||||
RegSetValueEx(hKey, _T("AutoReboot"), 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
RegSetValueExW(hKey, L"AutoReboot", 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
|
||||
lResult = (DWORD) SendDlgItemMessage(hwndDlg, IDC_STRRECOVERWRITE, BM_GETCHECK, (WPARAM)0, (LPARAM)0);
|
||||
RegSetValueEx(hKey, _T("Overwrite"), 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
RegSetValueExW(hKey, L"Overwrite", 0, REG_DWORD, (LPBYTE)&lResult, sizeof(lResult));
|
||||
|
||||
|
||||
if (pStartInfo->dwCrashDumpEnabled == 1 || pStartInfo->dwCrashDumpEnabled == 2)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(TCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
RegSetValueEx(hKey, _T("DumpFile"), 0, REG_EXPAND_SZ, (LPBYTE)pStartInfo->szDumpFile, (_tcslen(pStartInfo->szDumpFile) + 1) * sizeof(TCHAR));
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(WCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
RegSetValueExW(hKey, L"DumpFile", 0, REG_EXPAND_SZ, (LPBYTE)pStartInfo->szDumpFile, (wcslen(pStartInfo->szDumpFile) + 1) * sizeof(WCHAR));
|
||||
}
|
||||
else if (pStartInfo->dwCrashDumpEnabled == 3)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(TCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
RegSetValueEx(hKey, _T("MinidumpDir"), 0, REG_EXPAND_SZ, (LPBYTE)pStartInfo->szDumpFile, (_tcslen(pStartInfo->szDumpFile) + 1) * sizeof(TCHAR));
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(WCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
RegSetValueExW(hKey, L"MinidumpDir", 0, REG_EXPAND_SZ, (LPBYTE)pStartInfo->szDumpFile, (wcslen(pStartInfo->szDumpFile) + 1) * sizeof(WCHAR));
|
||||
}
|
||||
|
||||
RegSetValueEx(hKey, _T("CrashDumpEnabled"), 0, REG_DWORD, (LPBYTE)(DWORD_PTR)pStartInfo->dwCrashDumpEnabled, sizeof(pStartInfo->dwCrashDumpEnabled));
|
||||
RegSetValueExW(hKey, L"CrashDumpEnabled", 0, REG_DWORD, (LPBYTE)(DWORD_PTR)pStartInfo->dwCrashDumpEnabled, sizeof(pStartInfo->dwCrashDumpEnabled));
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
|
@ -578,13 +578,11 @@ static VOID
|
|||
LoadRecoveryOptions(HWND hwndDlg, PSTARTINFO pStartInfo)
|
||||
{
|
||||
HKEY hKey;
|
||||
DWORD dwValues;
|
||||
TCHAR szName[MAX_PATH];
|
||||
TCHAR szValue[MAX_PATH];
|
||||
DWORD i, dwName, dwValue, dwValueLength, dwType;
|
||||
WCHAR szName[MAX_PATH];
|
||||
DWORD dwValue, dwValueLength, dwType;
|
||||
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
|
||||
_T("System\\CurrentControlSet\\Control\\CrashControl"),
|
||||
L"System\\CurrentControlSet\\Control\\CrashControl",
|
||||
0,
|
||||
KEY_READ,
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
|
@ -593,88 +591,57 @@ LoadRecoveryOptions(HWND hwndDlg, PSTARTINFO pStartInfo)
|
|||
return;
|
||||
}
|
||||
|
||||
if (RegQueryInfoKey(hKey,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&dwValues,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL) != ERROR_SUCCESS)
|
||||
dwValueLength = sizeof(DWORD);
|
||||
if (RegQueryValueExW(hKey, L"LogEvent", NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD && dwValue)
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECWRITEEVENT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
|
||||
dwValueLength = sizeof(DWORD);
|
||||
if (RegQueryValueExW(hKey, L"SendAlert", NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD && dwValue)
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECSENDALERT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
|
||||
dwValueLength = sizeof(DWORD);
|
||||
if (RegQueryValueExW(hKey, L"AutoReboot", NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD && dwValue)
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECRESTART, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
|
||||
dwValueLength = sizeof(DWORD);
|
||||
if (RegQueryValueExW(hKey, L"Overwrite", NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD && dwValue)
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECOVERWRITE, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
|
||||
dwValueLength = sizeof(DWORD);
|
||||
if (RegQueryValueExW(hKey, L"CrashDumpEnabled", NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD && dwValue)
|
||||
pStartInfo->dwCrashDumpEnabled = dwValue;
|
||||
|
||||
dwValueLength = sizeof(pStartInfo->szDumpFile);
|
||||
if (RegQueryValueExW(hKey, L"DumpFile", NULL, &dwType, (LPBYTE)pStartInfo->szDumpFile, &dwValueLength) != ERROR_SUCCESS)
|
||||
pStartInfo->szDumpFile[0] = L'\0';
|
||||
|
||||
dwValueLength = sizeof(pStartInfo->szMinidumpDir);
|
||||
if (RegQueryValueExW(hKey, L"MinidumpDir", NULL, &dwType, (LPBYTE)pStartInfo->szMinidumpDir, &dwValueLength) != ERROR_SUCCESS)
|
||||
pStartInfo->szMinidumpDir[0] = L'\0';
|
||||
|
||||
if (LoadStringW(hApplet, IDS_NO_DUMP, szName, sizeof(szName) / sizeof(WCHAR)))
|
||||
{
|
||||
RegCloseKey(hKey);
|
||||
return;
|
||||
szName[(sizeof(szName)/sizeof(WCHAR))-1] = L'\0';
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szName);
|
||||
}
|
||||
|
||||
for (i = 0; i < dwValues; i++)
|
||||
if (LoadString(hApplet, IDS_FULL_DUMP, szName, sizeof(szName) / sizeof(WCHAR)))
|
||||
{
|
||||
dwName = sizeof(szName) / sizeof(TCHAR);
|
||||
|
||||
RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, NULL, NULL);
|
||||
if (dwType == REG_DWORD)
|
||||
{
|
||||
dwValueLength = sizeof(dwValue);
|
||||
dwName = sizeof(szName) / sizeof(TCHAR);
|
||||
if (RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) != ERROR_SUCCESS)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
dwValueLength = sizeof(szValue);
|
||||
dwName = sizeof(szName) / sizeof(TCHAR);
|
||||
if (RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, (LPBYTE)&szValue, &dwValueLength) != ERROR_SUCCESS)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!_tcscmp(szName, _T("LogEvent")))
|
||||
{
|
||||
if (dwValue)
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECWRITEEVENT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("SendAlert")))
|
||||
{
|
||||
if (dwValue)
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECSENDALERT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("AutoReboot")))
|
||||
{
|
||||
if (dwValue)
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECRESTART, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("Overwrite")))
|
||||
{
|
||||
if (dwValue)
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECOVERWRITE, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("DumpFile")))
|
||||
{
|
||||
_tcscpy(pStartInfo->szDumpFile, szValue);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("MinidumpDir")))
|
||||
{
|
||||
_tcscpy(pStartInfo->szMinidumpDir, szValue);
|
||||
}
|
||||
else if (!_tcscmp(szName, _T("CrashDumpEnabled")))
|
||||
{
|
||||
pStartInfo->dwCrashDumpEnabled = dwValue;
|
||||
}
|
||||
szName[(sizeof(szName)/sizeof(WCHAR))-1] = L'\0';
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szName);
|
||||
}
|
||||
|
||||
if (LoadString(hApplet, IDS_NO_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
|
||||
if (LoadStringW(hApplet, IDS_KERNEL_DUMP, szName, sizeof(szName) / sizeof(WCHAR)))
|
||||
{
|
||||
szName[(sizeof(szName)/sizeof(WCHAR))-1] = L'\0';
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szName);
|
||||
}
|
||||
|
||||
if (LoadString(hApplet, IDS_FULL_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
|
||||
|
||||
if (LoadString(hApplet, IDS_KERNEL_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
|
||||
|
||||
if (LoadString(hApplet, IDS_MINI_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
|
||||
if (LoadStringW(hApplet, IDS_MINI_DUMP, szName, sizeof(szName) / sizeof(WCHAR)))
|
||||
{
|
||||
szName[(sizeof(szName)/sizeof(WCHAR))-1] = L'\0';
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szName);
|
||||
}
|
||||
|
||||
SetCrashDlgItems(hwndDlg, pStartInfo);
|
||||
RegCloseKey(hKey);
|
||||
|
@ -692,7 +659,7 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
PBOOTRECORD pRecord;
|
||||
int iTimeout;
|
||||
LRESULT lResult;
|
||||
TCHAR szTimeout[10];
|
||||
WCHAR szTimeout[10];
|
||||
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
|
||||
|
@ -717,7 +684,7 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_STRRECEDIT:
|
||||
ShellExecute(0, _T("open"), _T("notepad"), pStartInfo->szFreeldrIni, NULL, SW_SHOWNORMAL);
|
||||
ShellExecuteW(0, L"open", L"notepad", pStartInfo->szFreeldrIni, NULL, SW_SHOWNORMAL);
|
||||
// FIXME use CreateProcess and wait untill finished
|
||||
// DeleteBootRecords(hwndDlg);
|
||||
// LoadOSList(hwndDlg);
|
||||
|
@ -729,9 +696,9 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
iTimeout = SendDlgItemMessage(hwndDlg, IDC_STRRECLISTUPDWN, UDM_GETPOS, (WPARAM)0, (LPARAM)0);
|
||||
else
|
||||
iTimeout = 0;
|
||||
_stprintf(szTimeout, _T("%i"), iTimeout);
|
||||
swprintf(szTimeout, L"%i", iTimeout);
|
||||
|
||||
lResult = SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
|
||||
lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
|
||||
if (lResult == CB_ERR)
|
||||
{
|
||||
/* ? */
|
||||
|
@ -746,13 +713,13 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
if (pStartInfo->iFreeLdrIni == 1) // FreeLdrIni style
|
||||
{
|
||||
/* set default timeout */
|
||||
WritePrivateProfileString(_T("FREELOADER"),
|
||||
_T("TimeOut"),
|
||||
WritePrivateProfileStringW(L"FREELOADER",
|
||||
L"TimeOut",
|
||||
szTimeout,
|
||||
pStartInfo->szFreeldrIni);
|
||||
/* set default os */
|
||||
WritePrivateProfileString(_T("FREELOADER"),
|
||||
_T("DefaultOS"),
|
||||
WritePrivateProfileStringW(L"FREELOADER",
|
||||
L"DefaultOS",
|
||||
pRecord->szSectionName,
|
||||
pStartInfo->szFreeldrIni);
|
||||
|
||||
|
@ -760,13 +727,13 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
else if (pStartInfo->iFreeLdrIni == 2) // BootIni style
|
||||
{
|
||||
/* set default timeout */
|
||||
WritePrivateProfileString(_T("boot loader"),
|
||||
_T("timeout"),
|
||||
WritePrivateProfileStringW(L"boot loader",
|
||||
L"timeout",
|
||||
szTimeout,
|
||||
pStartInfo->szFreeldrIni);
|
||||
/* set default os */
|
||||
WritePrivateProfileString(_T("boot loader"),
|
||||
_T("default"),
|
||||
WritePrivateProfileStringW(L"boot loader",
|
||||
L"default",
|
||||
pRecord->szBootPath,
|
||||
pStartInfo->szFreeldrIni);
|
||||
|
||||
|
@ -807,11 +774,11 @@ StartRecDlgProc(HWND hwndDlg,
|
|||
{
|
||||
if (pStartInfo->dwCrashDumpEnabled == 1 || pStartInfo->dwCrashDumpEnabled == 2)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(TCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szDumpFile) / sizeof(WCHAR), (LPARAM)pStartInfo->szDumpFile);
|
||||
}
|
||||
else if (pStartInfo->dwCrashDumpEnabled == 3)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szMinidumpDir) / sizeof(TCHAR), (LPARAM)pStartInfo->szMinidumpDir);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(pStartInfo->szMinidumpDir) / sizeof(WCHAR), (LPARAM)pStartInfo->szMinidumpDir);
|
||||
}
|
||||
|
||||
pStartInfo->dwCrashDumpEnabled = lResult;
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<library>comctl32</library>
|
||||
<library>ntdll</library>
|
||||
<library>msimg32</library>
|
||||
<library>shell32</library>
|
||||
<library>shlwapi</library>
|
||||
|
@ -26,6 +25,5 @@
|
|||
<file>userprofile.c</file>
|
||||
<file>virtmem.c</file>
|
||||
<file>sysdm.rc</file>
|
||||
<file>sysdm.spec</file>
|
||||
<pch>precomp.h</pch>
|
||||
</module>
|
||||
|
|
|
@ -12,5 +12,4 @@
|
|||
<library>shell32</library>
|
||||
<file>telephon.c</file>
|
||||
<file>telephon.rc</file>
|
||||
<file>telephon.spec</file>
|
||||
</module>
|
||||
|
|
|
@ -18,6 +18,5 @@
|
|||
<file>timedate.c</file>
|
||||
<file>timezone.c</file>
|
||||
<file>timedate.rc</file>
|
||||
<file>timedate.spec</file>
|
||||
</module>
|
||||
|
||||
|
|
|
@ -18,5 +18,4 @@
|
|||
<file>users.c</file>
|
||||
<file>usrmgr.c</file>
|
||||
<file>usrmgr.rc</file>
|
||||
<file>usrmgr.spec</file>
|
||||
</module>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue