Synchronize with trunk r58606.

svn path=/branches/ros-csrss/; revision=58607
This commit is contained in:
Hermès Bélusca-Maïto 2013-03-24 19:05:43 +00:00
commit 1e1a59fb22
235 changed files with 13278 additions and 5390 deletions

View file

@ -3,7 +3,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_HELP, "ファイルのアクセス制御リスト(ACL) を表 示または変更します。n\n\
IDS_HELP, "ファイルのアクセス制御リスト(ACL) を表示または変更します。\n\n\
CACLS ファイル名 [/T] [/E] [/C] [/G ユーザー名:アクセス権]\n\
[/R ユーザー名 [...]] [/P ユーザー名:アクセス権 [...]]\n\
[/D ユーザー名 [...]]\n\

View file

@ -18,6 +18,15 @@
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
@ -33,9 +42,3 @@
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif

View file

@ -0,0 +1,27 @@
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_HELP, "Gestisce le impostazioni della riga di comando di editing, la cronologia e le macro.\n\
\n\
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=size]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=file] [macroname=[text]]\n\
\n\
/INSERT Attiva la modalità di inserimento.\n\
/OVERSTRIKE Disattiva la modalità di inserimento.\n\
/EXENAME=exename Consente di impostare il nome del programma per visualizzare/cambiare la cronologia\n\
e le macro. Il valore predefinito è cmd.exe.\n\
/HISTORY Consente di visualizzare la cronologia dei comandi.\n\
/LISTSIZE=size Imposta il numero di comandi al buffer storico.\n\
/REINSTALL Cancella la cronologia dei comandi.\n\
/MACROS Consente di visualizzare le definizioni delle macro.\n\
/MACROS:exename Visualizza le definizioni di macro per un programma specifico.\n\
/MACROS:ALL Visualizza le definizioni macro per tutti i programmi.\n\
/MACROFILE=file Carica le definizioni di macro da un file.\n\
macroname Specifica il nome di una macro per creare.\n\
text Consente di specificare il testo di sostituzione per la macro.\n"
IDS_INVALID_MACRO_DEF, "Definizion macro non valida: %s\n"
END

View file

@ -0,0 +1,226 @@
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 478, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "Programma di diagnostica ReactX"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,474,250
PUSHBUTTON "&Aiuto", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Prossima pagina", IDC_BUTTON_NEXT, 257, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Salva tutte le informazioni...", IDC_BUTTON_SAVE_INFO, 311, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&uSCITA", IDC_BUTTON_EXIT, 425, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Questo strumento riporta informazioni dettagliate sui componenti ReactX e dei driver installati sul sistema.", -1, 10, 10, 443, 17
LTEXT "Se si sa quale zona è la causa del problema, fare clic sopra la scheda appropriata. In caso contrario, è possibile utilizzare il tasto Pagina successiva qui sotto per visitare ogni pagina in sequenza.", -1, 10, 30, 443, 25
GROUPBOX "Informazioni di sistema", -1, 10, 55, 443, 130, SS_RIGHT
LTEXT "Data/Ora:", -1, 70, 70, 80, 10, SS_RIGHT
LTEXT "Nome del computer:", -1, 70, 80, 80, 10, SS_RIGHT
LTEXT "Sistema operativo:", -1, 70, 90, 80, 10, SS_RIGHT
LTEXT "Lingua:", -1, 70, 100, 80, 10, SS_RIGHT
LTEXT "Produttore DI sistema:", -1, 70, 110, 80, 10, SS_RIGHT
LTEXT "Modello di Sistem :", -1, 70, 120, 80, 10, SS_RIGHT
LTEXT "BIOS:", -1, 70, 130, 80, 10, SS_RIGHT
LTEXT "Processore:", -1, 70, 140, 80, 10, SS_RIGHT
LTEXT "Memoria:", -1, 70, 150, 80, 10, SS_RIGHT
LTEXT "Page file:", -1, 70, 160, 80, 10, SS_RIGHT
LTEXT "ReactX-Version:", -1, 70, 170, 80, 10, SS_RIGHT
LTEXT "", IDC_STATIC_TIME, 155, 70, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_COMPUTER, 155, 80, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_OS, 155, 90, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_LANG, 155, 100, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_MANU, 155, 110, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_MODEL, 155, 120, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_BIOS, 155, 130, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_PROC, 155, 140, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_MEM, 155, 150, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_SWAP, 155, 160, 195, 10, SS_LEFT
LTEXT "", IDC_STATIC_VERSION, 155, 170, 195, 10, SS_LEFT
END
IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Device", -1, 10, 10, 250, 100
RTEXT "Nome:", -1, 20, 25, 70, 10
RTEXT "Fabbricante:", -1, 20, 35, 70, 10
RTEXT "Chip Type:", -1, 20, 45, 70, 10
RTEXT "DAC Type:", -1, 20, 55, 70, 10
RTEXT "Totale memnoria (Approssimativo):", -1, 20, 65, 70, 10
RTEXT "Modalità di visualizzazione corrente:", -1, 20, 75, 70, 10
RTEXT "Monitor:", -1, 20, 85, 70, 10
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 150, 10
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 150, 10
GROUPBOX "Driver", -1, 270, 10, 190, 100
RTEXT "Driver Principale:", -1, 275, 25, 55, 10
RTEXT "Versione:", -1, 275, 35, 55, 10
RTEXT "Data:", -1, 275, 45, 55, 10
RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10
RTEXT "Mini-VDD:", -1, 275, 65, 55, 10
RTEXT " vvdddVDD:", -1, 275, 75, 55, 10
RTEXT "DDI Version:", -1, 275, 85, 55, 10
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 335, 35, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 335, 35, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_DATE, 335, 45, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 335, 55, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 335, 65, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_VDD, 335, 75, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_DDI, 335, 85, 100, 10
GROUPBOX "ReactX-Features", -1, 10, 115, 450, 60
RTEXT "Accelerazione DirectDraw:", -1, 15, 130, 110, 12
RTEXT "Accelerazione Direct3D:", -1, 15, 145, 110, 12
RTEXT "AGP Texture Acceleration:", -1, 15, 160, 110, 12
LTEXT "", IDC_STATIC_DDSTATE, 130, 130, 40, 10
LTEXT "", IDC_STATIC_D3DSTATE, 130, 145, 40, 10
LTEXT "", IDC_STATIC_AGPSTATE, 130, 160, 40, 10
PUSHBUTTON "Abilita", IDC_BUTTON_DDRAW, 170, 124, 60, 14, WS_DISABLED
PUSHBUTTON "Abilita", IDC_BUTTON_D3D, 170, 140, 60, 14, WS_DISABLED
PUSHBUTTON "Abilita", IDC_BUTTON_AGP, 170, 156, 60, 14, WS_DISABLED
PUSHBUTTON "Test DirectDraw", IDC_BUTTON_TESTDD, 250, 124, 80, 14
PUSHBUTTON "Test Direct3D", IDC_BUTTON_TEST3D, 250, 140, 80, 14
GROUPBOX "Notes", -1, 10, 180, 450, 40
EDITTEXT IDC_TEXT_INFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP
END
IDD_SOUND_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Device", -1, 10, 10, 250, 100
RTEXT "Nome:", -1, 20, 25, 70, 10
RTEXT "Device ID:", -1, 20, 35, 70, 10
RTEXT "Manufacturer ID:", -1, 20, 45, 70, 10
RTEXT "Product ID:", -1, 20, 55, 70, 10
RTEXT "Tipo:", -1, 20, 65, 70, 10
RTEXT "Default Device:", -1, 20, 75, 70, 10
LTEXT "", IDC_STATIC_DSOUND_NAME, 95, 25, 150, 10
LTEXT "", IDC_STATIC_DSOUND_DEVICEID, 95, 35, 150, 10
LTEXT "", IDC_STATIC_DSOUND_VENDORID, 95, 45, 150, 10
LTEXT "", IDC_STATIC_DSOUND_PRODUCTID, 95, 55, 150, 10
LTEXT "", IDC_STATIC_DSOUND_TYPE, 95, 65, 150, 10
LTEXT "", IDC_STATIC_DSOUND_STANDARD, 95, 75, 150, 10
GROUPBOX "Driver", -1, 270, 10, 190, 100
RTEXT "Nome:", -1, 275, 25, 55, 10
RTEXT "Versione:", -1, 275, 35, 55, 10
RTEXT "Data:", -1, 275, 45, 55, 10
RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10
RTEXT "Altri Files:", -1, 275, 65, 55, 10
RTEXT "Provider:", -1, 275, 75, 55, 10
LTEXT "", IDC_STATIC_DSOUND_DRIVER, 335, 25, 100, 10
LTEXT "", IDC_STATIC_DSOUND_VERSION, 335, 35, 100, 10
LTEXT "", IDC_STATIC_DSOUND_DATE, 335, 45, 100, 10
LTEXT "", IDC_STATIC_DSOUND_LOGO, 335, 55, 100, 10
LTEXT "", IDC_STATIC_DSOUND_FILES, 335, 65, 100, 10
LTEXT "", IDC_STATIC_ADAPTER_PROVIDER, 335, 75, 100, 10
GROUPBOX "ReactX-Features", -1, 10, 115, 450, 60
CONTROL "", IDC_SLIDER_DSOUND, "msctls_trackbar32", TBS_BOTTOM | TBS_AUTOTICKS | WS_TABSTOP, 120, 135, 80, 17
RTEXT "Hardware Sound\nAcceleration Level:", -1, 20, 135, 90, 20
PUSHBUTTON "Test DirectSound", IDC_BUTTON_TESTDSOUND, 270, 134, 80, 14
GROUPBOX "Note", -1, 10, 180, 450, 40
EDITTEXT IDC_TEXT_DSOUNDINFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP
END
IDD_MUSIC_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
END
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Devices", -1, 10, 10, 452, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60
GROUPBOX "Input Devices", -1, 10, 100, 452, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 112, 432, 40, 0x00000200
GROUPBOX "Informazioni", -1, 10, 170, 452, 50
EDITTEXT IDC_RICH_INFO, 20, 182, 432, 30, WS_DISABLED | WS_TABSTOP
END
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Registered DirectPlay Service Provider", -1, 10, 10, 452, 80
CONTROL "", IDC_LIST_PROVIDER, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60
END
IDD_HELP_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_MAIN_DIALOG "Tool di diagnostica ReactX"
IDS_SYSTEM_DIALOG "Sistema"
IDS_DISPLAY_DIALOG "Display"
IDS_SOUND_DIALOG "Suoni"
IDS_MUSIC_DIALOG "Musica"
IDS_INPUT_DIALOG "Input"
IDS_NETWORK_DIALOG "Network"
IDS_HELP_DIALOG "Aiuto"
IDS_FORMAT_MB "%I64uMB RAM"
IDS_FORMAT_SWAP "%I64u MB utilizzata, %I64u MB avviabile"
IDS_FORMAT_UNIPROC "%s (%u CPU)"
IDS_FORMAT_MPPROC "%s (%u CPUs)"
IDS_VERSION_UNKNOWN "Versione Sconosciuta"
IDS_DEVICE_STATUS_ATTACHED "Connesso"
IDS_DEVICE_STATUS_MISSING "Disconnesso"
IDS_DEVICE_STATUS_UNKNOWN "Sconosciuto"
IDS_DEVICE_NAME "Nome Device"
IDS_DEVICE_STATUS "Stato"
IDS_DEVICE_CONTROLLER "Controller ID"
IDS_DEVICE_MANUFACTURER "Manufacturer ID"
IDS_DEVICE_PRODUCT "Product ID"
IDS_DEVICE_FORCEFEEDBACK "Forza Feedback-Driver"
IDS_NOT_APPLICABLE "Non applicabile"
IDS_OPTION_YES "Si"
IDS_DIRECTPLAY_COL_NAME1 "Nome"
IDS_DIRECTPLAY_COL_NAME2 "Registro"
IDS_DIRECTPLAY_COL_NAME3 "File"
IDS_DIRECTPLAY_COL_NAME4 "Versione"
IDS_DIRECTPLAY8_MODEMSP "DirectPlay8-Modem Service Provider"
IDS_DIRECTPLAY8_SERIALSP "DirectPlay8 Serial Service Provider"
IDS_DIRECTPLAY8_IPXSP "DirectPlay8 IPX Service Provider"
IDS_DIRECTPLAY8_TCPSP "DirectPlay8-TCP/IP Service Provider"
IDS_DIRECTPLAY_TCPCONN "Connessione Internet TCP/IP per DirectPlay"
IDS_DIRECTPLAY_IPXCONN "Connessione IPX per DirectPlay"
IDS_DIRECTPLAY_MODEMCONN "Connessione Modem per DirectPlay"
IDS_DIRECTPLAY_SERIALCONN "Connessione seriale per DirectPlay"
IDS_REG_SUCCESS "OK"
IDS_REG_FAIL "Errore"
IDS_DDTEST_ERROR "Test fallito!"
IDS_DDTEST_DESCRIPTION "Questo avvierà il controllo dell'interfaccia DirectDraw. Continuare?"
IDS_DDPRIMARY_DESCRIPTION "Questo test utilizza DirectDraw per disegnare sulla superficie primaria. Rettangoli in bianco e nero devono essere compilati. Continuare?"
IDS_DDPRIMARY_RESULT "Hai visto rettangoli bianchi e neri?"
IDS_DDOFFSCREEN_DESCRIPTION "Questo test utilizza DirectDraw per disegnare buffer fuori schermo. Spostameni rettangolo bianco devono essere compilati. Continuare?"
IDS_DDOFFSCREEN_RESULT "Hai visto il rettangolo bianco muoversi?"
IDS_DDFULLSCREEN_DESCRIPTION "Questo test utilizza DirectDraw per disegnare in una modalità schermo intero. I Spostamenti del rettangolo bianco devono essere compilati. Continuare?"
IDS_DDFULLSCREEN_RESULT "Hai visto un rettangolo bianco in movimento in modalità schermo intero?"
IDS_FORMAT_ADAPTER_MEM "%u MB"
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
IDS_OPTION_NO "No"
IDS_D3DTEST_DESCRIPTION "Avviare il test dell'interfaccia Direct3D. Continuare?"
IDS_D3DTEST_D3Dx "Questo test utilizza accelerazione hardware dell'interfaccia Direct3D % u."
END

View file

@ -22,6 +22,9 @@
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
@ -34,12 +37,6 @@
#ifdef LANGUAGE_NB_NO
#include "lang/no-NO.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
@ -52,12 +49,18 @@
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif

View file

@ -39,6 +39,9 @@ END
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_LT_LT
#include "lang/lt-LT.rc"
#endif

View file

@ -0,0 +1,13 @@
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_INSTALL, "Installa"
IDS_PRINT, "Stampa"
IDS_STRING, ""
IDS_OPEN, "Open Font..."
IDS_ERROR, "Errore"
IDS_ERROR_NOMEM, "Memoria insufficiente per completare l'operazione."
IDS_ERROR_NOFONT, "Il file% 1 non è un file di origine valido."
IDS_ERROR_NOCLASS, "Impossibile avviare la classe."
END

View file

@ -19,8 +19,8 @@ BEGIN
AUTORADIOBUTTON "1 枚ずつ取る(&O)", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP
AUTORADIOBUTTON "3 枚ずつ取る(&T)", IDC_OPT_DRAWTHREE, 14, 32, 70, 10
AUTOCHECKBOX "時間を表 示する(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED
AUTOCHECKBOX "ステータスバーを表 示する(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
AUTOCHECKBOX "時間を表示する(&S)", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED
AUTOCHECKBOX "ステータスバーを表示する(&T)", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14
PUSHBUTTON "キャンセル", IDCANCEL, 101, 97, 50, 14
@ -53,8 +53,8 @@ END
STRINGTABLE
BEGIN
IDS_SOL_NAME "ソ リティア"
IDS_SOL_ABOUT "J Brown によるソ リティア\n\nCardLib バージョン 1.0。"
IDS_SOL_NAME "ソリティア"
IDS_SOL_ABOUT "J Brown によるソリティア\n\nCardLib バージョン 1.0。"
IDS_SOL_QUIT "現在のゲームを終了しますか?"
IDS_SOL_WIN "おめでとう、あなたの勝ちです!"
IDS_SOL_DEAL "もう一度カードを配りますか?"

View file

@ -71,14 +71,14 @@ BEGIN
BEGIN
MENUITEM "&Dağıt\tF2", IDM_GAME_NEW
MENUITEM SEPARATOR
MENUITEM "D&esteler", IDM_GAME_DECK
MENUITEM "&Ayarlar", IDM_GAME_OPTIONS
MENUITEM "D&esteler...", IDM_GAME_DECK
MENUITEM "&Ayarlar...", IDM_GAME_OPTIONS
MENUITEM SEPARATOR
MENUITEM "&Çıkış", IDM_GAME_EXIT
END
POPUP "&Yardım"
BEGIN
MENUITEM "&İçerik\tF1", IDM_HELP_CONTENTS
MENUITEM "&Yardım Konuları\tF1", IDM_HELP_CONTENTS
MENUITEM "&Hakkında", IDM_HELP_ABOUT
END
END

View file

@ -49,7 +49,7 @@ END
STRINGTABLE
BEGIN
IDS_SPI_NAME "スパイダ"
IDS_SPI_ABOUT "Gregor Schneider によるスパイダ ソ リティア\n\nCardLib バージョン 1.0"
IDS_SPI_ABOUT "Gregor Schneider によるスパイダ ソリティア\n\nCardLib バージョン 1.0"
IDS_SPI_QUIT "現在のゲームを終了しますか?"
IDS_SPI_WIN "おめでとう、あなたの勝ちです!"
IDS_SPI_DEAL "もう一度カードを配りますか?"

View file

@ -64,13 +64,13 @@ BEGIN
BEGIN
MENUITEM "&Yeni oyun\tF2", IDM_GAME_NEW
MENUITEM SEPARATOR
MENUITEM "&Desteler", IDM_GAME_DECK
MENUITEM "&Desteler...", IDM_GAME_DECK
MENUITEM SEPARATOR
MENUITEM "&Çıkış", IDM_GAME_EXIT
END
POPUP "&Yardım"
BEGIN
MENUITEM "&İçerik\tF1", IDM_HELP_CONTENTS
MENUITEM "&Yardım Konuları\tF1", IDM_HELP_CONTENTS
MENUITEM "&Hakkında", IDM_HELP_ABOUT
END
END

View file

@ -23,7 +23,7 @@
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE BEGIN
IDS_APPNAME, "Wine Mayın Tarlası"
IDS_APPNAME, "Mayın Tarlası"
IDS_NOBODY, "Hiç kimse"
IDS_ABOUT, "Telif hakkı: Joshua Thielen, 2000"
END
@ -31,20 +31,20 @@ END
MENU_WINEMINE MENU
BEGIN
POPUP "&Seçenekler" BEGIN
MENUITEM "&Yeni\tF2", IDM_NEW
MENUITEM "&Yeni\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "&Soru İmi", IDM_MARKQ
MENUITEM "&Soru İmi", IDM_MARKQ
MENUITEM SEPARATOR
MENUITEM "&Başlangıç", IDM_BEGINNER
MENUITEM "&Orta", IDM_ADVANCED
MENUITEM "&İleri", IDM_EXPERT
MENUITEM "&Özel", IDM_CUSTOM
MENUITEM "&Başlangıç", IDM_BEGINNER
MENUITEM "&Orta", IDM_ADVANCED
MENUITEM "&İleri", IDM_EXPERT
MENUITEM "&Özel...", IDM_CUSTOM
MENUITEM SEPARATOR
MENUITEM "&Çıkış\tAlt+X", IDM_EXIT
MENUITEM "&Çıkış\tAlt+X", IDM_EXIT
END
POPUP "&Bilgi" BEGIN
MENUITEM "&En Kısa Süreler", IDM_TIMES
MENUITEM "&Hakkında", IDM_ABOUT
MENUITEM "&En Kısa Süreler...", IDM_TIMES
MENUITEM "&Hakkında", IDM_ABOUT
END
END

View file

@ -4,8 +4,8 @@ STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "セッションを終了します。\n\n\
/v\t\t実行中に詳細情報を表 示します。\n\
/?\t\tこの情報を表 示します。\n\n"
/v\t\t実行中に詳細情報を表示します。\n\
/?\t\tこの情報を表示します。\n\n"
IDS_LOGOFF_REMOTE, "リモート マシンのセッションを終了しています。"
IDS_LOGOFF_LOCAL, "このマシンの現在のセッションを終了しています。"

View file

@ -0,0 +1,72 @@
/*
* PROJECT: ReactOS Magnifier
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/magnify/lang/tr-TR.rc
* PURPOSE: Turkish Language File for Magnifier
* TRANSLATOR: 2013 - Erdem Ersoy (eersoy93)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDC_MAGNIFIER MENU
BEGIN
POPUP "&Seçke"
BEGIN
MENUITEM "&Çıkış", IDM_EXIT
MENUITEM "&Ayarlar...", IDM_OPTIONS
MENUITEM SEPARATOR
MENUITEM "&Hakkında", IDM_ABOUT
END
END
IDC_MAGNIFIER ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
IDD_ABOUTBOX DIALOGEX 22, 17, 220, 75
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_CAPTION | WS_SYSMENU
CAPTION "Hakkında"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
ICON IDI_ICON,IDC_MYICON,14,9,20,20
LTEXT "Büyüteç: Sürüm 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX
LTEXT "Telif Hakkı: 2007 - Marc Piulachs (marc.piulachs@codexchange.net)",IDC_STATIC,48,24,125,22
PUSHBUTTON "Tamam",IDOK,162,48,50,14
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Büyüteç Ayarları"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Çıkış",IDOK,96,161,50,14
PUSHBUTTON "Yardım",IDC_BUTTON_HELP,38,161,50,14
LTEXT "Büyütme düzeyi:",IDC_STATIC,6,8,68,8
COMBOBOX IDC_ZOOM,72,6,63,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
GROUPBOX "İzleme",IDC_STATIC,7,25,139,59
GROUPBOX "Sunum",IDC_STATIC,7,87,139,57
CONTROL "Fare imlecini takip et",IDC_FOLLOWMOUSECHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,42,114,10
CONTROL "Düğme takımı odağını izle",IDC_FOLLOWKEYBOARDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,54,114,10
CONTROL "Metin düzenlemesini izle",IDC_FOLLOWTEXTEDITINGCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,66,114,10
CONTROL "Renkleri ters çevir",IDC_INVERTCOLORSCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,102,114,10
CONTROL "Simge durumunda başlat",IDC_STARTMINIMIZEDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,114,114,10
CONTROL "Büyüteci göster",IDC_SHOWMAGNIFIERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,126,114,10
END
IDD_WARNINGDIALOG DIALOGEX 0, 0, 250, 97
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
CAPTION "ReactOS Büyüteç"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Tamam",IDOK,193,76,50,14
ICON IDI_ICON,IDC_STATIC,7,17,20,20
LTEXT "Büyüteç, hafif görme engelli kullanıcıların en az çaba harcamaları için tasarlanmıştır. Görme engelli bir çok kullanıcı, günlük kullanım için bu aracı kullanmaya gereksinim duyacaktır.",IDC_STATIC,36,7,207,33
CONTROL "Bunu bir daha gösterme",IDC_SHOWWARNINGCHECK, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,43,80,137,10
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Büyüteç"
END

View file

@ -46,6 +46,9 @@
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif

View file

@ -0,0 +1,30 @@
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Kütük"
BEGIN
MENUITEM "&Aç...", IDM_OPEN_FILE
MENUITEM "&Kapat", IDM_CLOSE_FILE
MENUITEM SEPARATOR
MENUITEM "&Çıkış", IDM_EXIT
END
POPUP "&Yardım"
BEGIN
MENUITEM "&Hakkında", IDM_ABOUT
END
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_ALL_TYPES_FILTER "Tüm Desteklenen Dosyalar (*.wav, *.cda, *.mid, *.midi, *.avi)\0*.wav;*.cda;*.mid;*.midi;*.avi\0"
IDS_TOOLTIP_PLAY "Çal"
IDS_TOOLTIP_STOP "Durdur"
IDS_TOOLTIP_EJECT "Çıkar"
IDS_TOOLTIP_BACKWARD "Bir Önceki"
IDS_TOOLTIP_SEEKBACK "Geri Sar"
IDS_TOOLTIP_SEEKFORW "İleri Sar"
IDS_TOOLTIP_FORWARD "Bir Sonraki"
IDS_APPTITLE "ReactOS Çokluortam Oynatıcısı"
IDS_PLAY "Çal"
END

View file

@ -51,6 +51,9 @@
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif

View file

@ -1,4 +1,4 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
@ -14,12 +14,12 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "ヘルプ", IDC_PROGHELP, GRAYED
END
POPUP "表 示"
POPUP "表示"
BEGIN
MENUITEM "デバイス (種類別)", IDC_DEVBYTYPE
MENUITEM "デバイス (接続別)", IDC_DEVBYCONN
MENUITEM "リソ ース (種類別)", IDC_RESBYTYPE, GRAYED
MENUITEM "リソ ース (接続別)", IDC_RESBYCONN, GRAYED
MENUITEM "リソース (種類別)", IDC_RESBYTYPE, GRAYED
MENUITEM "リソース (接続別)", IDC_RESBYCONN, GRAYED
MENUITEM SEPARATOR
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
END
@ -72,8 +72,8 @@ BEGIN
IDS_HINT_EXIT " このプログラムを終了します。"
IDS_HINT_REFRESH " サービスのリストを更新します。"
IDS_HINT_PROP " 現在選択されているシートのプロパティを開きます。"
IDS_HINT_HELP " ヘルプ ウィンドウを表 示します。"
IDS_HINT_ABOUT " ReactOS デバイス マネージャについて表 示します。"
IDS_HINT_HELP " ヘルプ ウィンドウを表示します。"
IDS_HINT_ABOUT " ReactOS デバイス マネージャについて表示します。"
IDS_HINT_SYS_RESTORE " このウィンドウを通常の大きさに復元します。"
IDS_HINT_SYS_MOVE " このウィンドウを移動します。"

View file

@ -18,7 +18,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "終了(&X)", IDM_EXIT
END
POPUP "表 示(&V)"
POPUP "表示(&V)"
BEGIN
MENUITEM "更新(&R)", IDM_REFRESH
END
@ -78,7 +78,7 @@ BEGIN
LTEXT "Static",IDC_EVENTCOMPUTERSTATIC,56,54,72,8
LTEXT "イベントID:",IDC_STATIC,133,15,36,8
LTEXT "Static",IDC_EVENTIDSTATIC,175,15,87,8
LTEXT "ソ ース:",IDC_STATIC,133,28,36,8
LTEXT "ソース:",IDC_STATIC,133,28,36,8
LTEXT "Static",IDC_EVENTSOURCESTATIC,175,28,87,8
LTEXT "種類:",IDC_STATIC,133,42,36,8
LTEXT "Static",IDC_EVENTTYPESTATIC,175,42,87,8
@ -93,7 +93,7 @@ END
STRINGTABLE
BEGIN
IDS_APP_TITLE "イベント ビューア"
IDS_EVENTSTRINGIDNOTFOUND "イベント ID (%lu) (ソ ース %s 内) に関する説明が見つかりませんでした。 リモート コンピュータからメッセージを表 示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能 性があります。"
IDS_EVENTSTRINGIDNOTFOUND "イベント ID (%lu) (ソース %s 内) に関する説明が見つかりませんでした。 リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。"
IDS_EVENTLOG_ERROR_TYPE "エラー"
IDS_EVENTLOG_WARNING_TYPE "警告"
IDS_EVENTLOG_INFORMATION_TYPE "情報"

View file

@ -26,7 +26,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "プロパティ...", ID_PROP, GRAYED
END
POPUP "表 示"
POPUP "表示"
BEGIN
MENUITEM "大きいアイコン", ID_VIEW_LARGE
MENUITEM "小さいアイコン", ID_VIEW_SMALL
@ -89,7 +89,7 @@ BEGIN
PUSHBUTTON "一時停止", IDC_PAUSE , 130, 155, 54, 15, WS_DISABLED
PUSHBUTTON "再開", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED
LTEXT "サービス名:", IDC_STATIC, 4, 11, 53, 11
LTEXT "表 示名:", IDC_STATIC, 4, 29, 53, 11
LTEXT "表示名:", IDC_STATIC, 4, 29, 53, 11
LTEXT "説明:", IDC_STATIC, 4, 51, 53, 11
LTEXT "実行ファイルのパス:", IDC_STATIC, 6, 73, 82, 9
LTEXT "スタートアップの種類:", IDC_STATIC, 6, 108, 53, 11
@ -124,7 +124,7 @@ BEGIN
EDITTEXT IDC_CREATE_DESC, 10, 97, 210, 48, WS_CHILD | WS_VISIBLE
EDITTEXT IDC_CREATE_OPTIONS, 10, 162, 210, 13, WS_CHILD | WS_VISIBLE
LTEXT "*サービス名 :", IDC_STATIC, 12, 12, 54, 9
LTEXT "*表 示名 :", IDC_STATIC, 12, 33, 54, 9
LTEXT "*表示名 :", IDC_STATIC, 12, 33, 54, 9
LTEXT "*実行ファイルのパス :", IDC_STATIC, 10, 51, 68, 9
LTEXT "説明 :", IDC_STATIC, 12, 86, 44, 9
PUSHBUTTON "OK", IDOK, 126, 192, 44, 13
@ -258,14 +258,14 @@ BEGIN
IDS_HINT_DELETE " 選択したサービスを削除します。"
IDS_HINT_PROP " 現在選択されている項目のプロパティ シートを開きます。"
IDS_HINT_LARGE " アイテムを大きいアイコンで表 示します。"
IDS_HINT_SMALL " アイテムを小さいアイコンで表 示します。"
IDS_HINT_LIST " アイテムを一覧で表 示します。"
IDS_HINT_DETAILS " 各アイテムの情報をウィンドウに表 示します。"
IDS_HINT_CUST " 表 示をカスタマイズします。"
IDS_HINT_LARGE " アイテムを大きいアイコンで表示します。"
IDS_HINT_SMALL " アイテムを小さいアイコンで表示します。"
IDS_HINT_LIST " アイテムを一覧で表示します。"
IDS_HINT_DETAILS " 各アイテムの情報をウィンドウに表示します。"
IDS_HINT_CUST " 表示をカスタマイズします。"
IDS_HINT_HELP " ヘルプ ウィンドウを表 示します。"
IDS_HINT_ABOUT " ReactOS サービス マネージャについて表 示します。"
IDS_HINT_HELP " ヘルプ ウィンドウを表示します。"
IDS_HINT_ABOUT " ReactOS サービス マネージャについて表示します。"
IDS_HINT_SYS_RESTORE " このウィンドウを通常の大きさに復元します。"
IDS_HINT_SYS_MOVE " このウィンドウを移動します。"

View file

@ -17,8 +17,8 @@ BEGIN
MENUITEM "上書き保存(&S)\tCtrl+S", IDM_FILESAVE
MENUITEM "名前を付けて保存(&A)...", IDM_FILESAVEAS
MENUITEM SEPARATOR
MENUITEM "背景に設定 (並べて表 示)", IDM_FILEASWALLPAPERPLANE
MENUITEM "背景に設定 (中央に表 示)", IDM_FILEASWALLPAPERCENTERED
MENUITEM "背景に設定 (並べて表示)", IDM_FILEASWALLPAPERPLANE
MENUITEM "背景に設定 (中央に表示)", IDM_FILEASWALLPAPERCENTERED
MENUITEM "背景に設定 (拡大)", IDM_FILEASWALLPAPERSTRETCHED
MENUITEM SEPARATOR
MENUITEM "ペイントの終了(&Q)\tAlt+F4", IDM_FILEEXIT
@ -31,16 +31,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "切り取り\tCtrl+X", IDM_EDITCUT
MENUITEM "コピー\tCtrl+C", IDM_EDITCOPY
MENUITEM "貼 り付け\tCtrl+V", IDM_EDITPASTE
MENUITEM "貼り付け\tCtrl+V", IDM_EDITPASTE
MENUITEM "選択範囲の削除\tDel", IDM_EDITDELETESELECTION
MENUITEM "選択範囲の挿入", IDM_EDITINVERTSELECTION
MENUITEM "すべて選択\tCtrl+A", IDM_EDITSELECTALL
MENUITEM SEPARATOR
MENUITEM "ファイルへコピー", IDM_EDITCOPYTO
MENUITEM "ファイルから貼 り付け", IDM_EDITPASTEFROM
MENUITEM "ファイルから貼り付け", IDM_EDITPASTEFROM
END
POPUP "表 示(&V)"
POPUP "表示(&V)"
BEGIN
MENUITEM "ツール ボックス\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
MENUITEM "カラー パレット\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
@ -60,10 +60,10 @@ BEGIN
MENUITEM "800%", IDM_VIEWZOOM800
END
MENUITEM SEPARATOR
MENUITEM "グリッドを表 示\tCtrl+G", IDM_VIEWSHOWGRID
MENUITEM "実寸表 示", IDM_VIEWSHOWMINIATURE
MENUITEM "グリッドを表示\tCtrl+G", IDM_VIEWSHOWGRID
MENUITEM "実寸表示", IDM_VIEWSHOWMINIATURE
END
MENUITEM "全画面表 示\tCtrl+F", IDM_VIEWFULLSCREEN
MENUITEM "全画面表示\tCtrl+F", IDM_VIEWFULLSCREEN
END
POPUP "画像(&I)"
@ -179,7 +179,7 @@ BEGIN
IDS_PROGRAMNAME, "ペイント"
IDS_WINDOWTITLE, "%s - ペイント"
IDS_INFOTITLE, "ReactOS ペイント"
IDS_INFOTEXT, "ReactOS ペイントは GNU Lesser General Public License (LGPL) version 3 (詳細は www.gnu.org)の下で利用可能 です。"
IDS_INFOTEXT, "ReactOS ペイントは GNU Lesser General Public License (LGPL) version 3 (詳細は www.gnu.org)の下で利用可能です。"
IDS_SAVEPROMPTTEXT, "%s の変更内容を保存しますか?"
IDS_DEFAULTFILENAME, "無題.bmp"
IDS_MINIATURETITLE, "縮小図"

View file

@ -0,0 +1,206 @@
/*
* PROJECT: PAINT for ReactOS
* LICENSE: unknown (LGPL assumed)
* FILE: base/applications/mspaint/lang/tr-TR.rc
* PURPOSE: Turkish Language resource file
* TRANSLATORS: 2013 - Erdem Ersoy (eersoy93)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
ID_MENU MENU
BEGIN
POPUP "&Kütük"
BEGIN
MENUITEM "&Yeni\tCtrl+N", IDM_FILENEW
MENUITEM "&Aç...\tCtrl+O", IDM_FILEOPEN
MENUITEM "&Kaydet\tCtrl+S", IDM_FILESAVE
MENUITEM "Ay&rı Kaydet...", IDM_FILESAVEAS
MENUITEM SEPARATOR
MENUITEM "Döşeyerek Duvar Kağıdı Yap", IDM_FILEASWALLPAPERPLANE
MENUITEM "Ortalayarak Duvar Kağıdı Yap", IDM_FILEASWALLPAPERCENTERED
MENUITEM "Uzatarak Duvar Kağıdı Yap", IDM_FILEASWALLPAPERSTRETCHED
MENUITEM SEPARATOR
MENUITEM "&Çıkış\tAlt+F4", IDM_FILEEXIT
END
POPUP "&Düzen"
BEGIN
MENUITEM "Geri Al\tCtrl+Z", IDM_EDITUNDO
MENUITEM "Yinele\tCtrl+Y", IDM_EDITREDO
MENUITEM SEPARATOR
MENUITEM "Kes\tCtrl+X", IDM_EDITCUT
MENUITEM "Çoğalt\tCtrl+C", IDM_EDITCOPY
MENUITEM "Yapıştır\tCtrl+V", IDM_EDITPASTE
MENUITEM "Seçimi Sil\tDel", IDM_EDITDELETESELECTION
MENUITEM "Seçimi Evir", IDM_EDITINVERTSELECTION
MENUITEM "Hepsini Seç\tCtrl+A", IDM_EDITSELECTALL
MENUITEM SEPARATOR
MENUITEM "Seçimi Şuraya Kopyala...", IDM_EDITCOPYTO
MENUITEM "Şuradan Yapıştır...", IDM_EDITPASTEFROM
END
POPUP "&Görünüm"
BEGIN
MENUITEM "Araç Çubuğu\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
MENUITEM "Renklik\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
MENUITEM "Durum Çubuğu", IDM_VIEWSTATUSBAR, CHECKED
MENUITEM "Metin Çubuğu", IDM_FORMATICONBAR, CHECKED, GRAYED
MENUITEM SEPARATOR
POPUP "Büyüt"
BEGIN
POPUP "Kullanıcı Tanımlı"
BEGIN
MENUITEM "%12,5", IDM_VIEWZOOM125
MENUITEM "%25", IDM_VIEWZOOM25
MENUITEM "%50", IDM_VIEWZOOM50
MENUITEM "%100", IDM_VIEWZOOM100
MENUITEM "%200", IDM_VIEWZOOM200
MENUITEM "%400", IDM_VIEWZOOM400
MENUITEM "%800", IDM_VIEWZOOM800
END
MENUITEM SEPARATOR
MENUITEM "Kılavuzu Göster\tCtrl+G", IDM_VIEWSHOWGRID
MENUITEM "Küçüğünü Göster", IDM_VIEWSHOWMINIATURE
END
MENUITEM "Tam Ekran\tCtrl+F", IDM_VIEWFULLSCREEN
END
POPUP "G&örüntü"
BEGIN
MENUITEM "Döndür ya da Çevir...\tCtrl+R", IDM_IMAGEROTATEMIRROR
MENUITEM "Boyutlandır...\tCtrl+W", IDM_IMAGECHANGESIZE
MENUITEM "Kırp", IDM_IMAGECROP
MENUITEM "Renkleri Evir...\tCtrl+I", IDM_IMAGEINVERTCOLORS
MENUITEM "Öznitelikler\tCtrl+E", IDM_IMAGEATTRIBUTES
MENUITEM "Resmi Temizle\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE
MENUITEM "Donuk Çiz", IDM_IMAGEDRAWOPAQUE
END
POPUP "R&enkler"
BEGIN
MENUITEM "Renkliği Düzenle...", IDM_COLORSEDITPALETTE
END
POPUP "&Yardım"
BEGIN
MENUITEM "Yardım Konuları", IDM_HELPHELPTOPICS
MENUITEM SEPARATOR
MENUITEM "Hakkında", IDM_HELPINFO
END
END
ID_ACCELERATORS ACCELERATORS
BEGIN
"^N", IDM_FILENEW
"^O", IDM_FILEOPEN
"^S", IDM_FILESAVE
"^Z", IDM_EDITUNDO
"^Y", IDM_EDITREDO
"^X", IDM_EDITCUT
"^C", IDM_EDITCOPY
"^V", IDM_EDITPASTE
VK_DELETE, IDM_EDITDELETESELECTION, VIRTKEY
"^A", IDM_EDITSELECTALL
"^T", IDM_VIEWTOOLBOX
"^L", IDM_VIEWCOLORPALETTE
"^G", IDM_VIEWSHOWGRID
"^F", IDM_VIEWFULLSCREEN
"^R", IDM_IMAGEROTATEMIRROR
"^W", IDM_IMAGECHANGESIZE
"^I", IDM_IMAGEINVERTCOLORS
"^E", IDM_IMAGEATTRIBUTES
"N", IDM_IMAGEDELETEIMAGE, CONTROL, SHIFT, VIRTKEY
END
IDD_MIRRORROTATE DIALOGEX 100, 100, 180, 100
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Resmi Döndür ya da Çevir"
BEGIN
GROUPBOX "Döndür ya da Çevir", IDD_MIRRORROTATEGROUP, 6, 6, 112, 86
AUTORADIOBUTTON "Yatay Çevir", IDD_MIRRORROTATERB1, 12, 18, 100, 10, WS_GROUP
AUTORADIOBUTTON "Dikey Çevir", IDD_MIRRORROTATERB2, 12, 30, 100, 10
AUTORADIOBUTTON "Açıyla Çevir", IDD_MIRRORROTATERB3, 12, 42, 100, 10
AUTORADIOBUTTON "90°", IDD_MIRRORROTATERB4, 42, 54, 50, 10, WS_GROUP | WS_DISABLED
AUTORADIOBUTTON "180°", IDD_MIRRORROTATERB5, 42, 66, 50, 10, WS_DISABLED
AUTORADIOBUTTON "270°", IDD_MIRRORROTATERB6, 42, 78, 50, 10, WS_DISABLED
DEFPUSHBUTTON "Tamam", IDOK, 125, 8, 48, 14
PUSHBUTTON "Vazgeç", IDCANCEL, 125, 24, 48, 14
END
IDD_ATTRIBUTES DIALOGEX 100, 100, 225, 120
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Öznitelikler"
BEGIN
EDITTEXT IDD_ATTRIBUTESEDIT1, 48, 40, 35, 12
EDITTEXT IDD_ATTRIBUTESEDIT2, 128, 40, 35, 12
LTEXT "En:", IDD_ATTRIBUTESTEXT1, 10, 40, 35, 10
LTEXT "Boy:", IDD_ATTRIBUTESTEXT2, 90, 40, 35, 10
LTEXT "Kütüğün Zamanı:", IDD_ATTRIBUTESTEXT3, 10, 5, 60, 10
LTEXT "Kütüğün Boyutu:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10
LTEXT "Çözünürlük:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10
LTEXT "(Daha yok.)", IDD_ATTRIBUTESTEXT6, 60, 5, 90, 10
LTEXT "(Daha yok.)", IDD_ATTRIBUTESTEXT7, 60, 15, 90, 10
LTEXT "(Daha yok.)", IDD_ATTRIBUTESTEXT8, 60, 25, 90, 10
GROUPBOX "Birim", IDD_ATTRIBUTESGROUP1, 6, 57, 158, 27
AUTORADIOBUTTON "İnç", IDD_ATTRIBUTESRB1, 12, 69, 45, 10, WS_GROUP
AUTORADIOBUTTON "cm", IDD_ATTRIBUTESRB2, 62, 69, 45, 10
AUTORADIOBUTTON "Nokta", IDD_ATTRIBUTESRB3, 112, 69, 45, 10
GROUPBOX "Renkler", IDD_ATTRIBUTESGROUP2, 6, 88, 158, 27
AUTORADIOBUTTON "Siyah-beyaz", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP
AUTORADIOBUTTON "Renkli", IDD_ATTRIBUTESRB5, 92, 100, 35, 10
DEFPUSHBUTTON "Tamam", IDOK, 170, 8, 48, 14
PUSHBUTTON "Vazgeç", IDCANCEL, 170, 24, 48, 14
PUSHBUTTON "Öntanımlı", IDD_ATTRIBUTESSTANDARD, 170, 40, 48, 14
END
IDD_CHANGESIZE DIALOGEX 100, 100, 225, 80
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Boyutlandır"
BEGIN
GROUPBOX "Boyutlandır", IDD_CHANGESIZEGROUP, 6, 6, 158, 66
ICON IDI_HORZSTRETCH, IDD_CHANGESIZEICON1, 12, 18, 32, 32
LTEXT "Yatay:", IDD_CHANGESIZETEXT1, 45, 24, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT1, 90, 23, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT2, 125, 24, 15, 10
ICON IDI_VERTSTRETCH, IDD_CHANGESIZEICON2, 12, 43, 32, 32
LTEXT "Dikey:", IDD_CHANGESIZETEXT3, 45, 49, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT2, 90, 48, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT4, 125, 49, 15, 10
DEFPUSHBUTTON "Tamam", IDOK, 170, 8, 48, 14
PUSHBUTTON "Vazgeç", IDCANCEL, 170, 24, 48, 14
END
STRINGTABLE
BEGIN
IDS_PROGRAMNAME, "Görüntü Düzenleyicisi"
IDS_WINDOWTITLE, "%s - Görüntü Düzenleyicisi"
IDS_INFOTITLE, "ReactOS için Görüntü Düzenleyicisi"
IDS_INFOTEXT, "ReactOS için Görüntü Düzenleyicisi GNU Kısıtlı Genel Kamu Lisansı'nın (LGPL) 3. sürümüyle lisanslıdır. (bk: www.gnu.org)"
IDS_SAVEPROMPTTEXT, "%s için yapılan değişiklikler kaydedilsin mi?"
IDS_DEFAULTFILENAME, "Adsız.bmp"
IDS_MINIATURETITLE, "Küçüğü"
IDS_TOOLTIP1, "Özgür Seçim"
IDS_TOOLTIP2, "Dikdörtgen Seçim"
IDS_TOOLTIP3, "Silgi"
IDS_TOOLTIP4, "Boya Kabı"
IDS_TOOLTIP5, "Renk Seçici"
IDS_TOOLTIP6, "Büyüteç"
IDS_TOOLTIP7, "Kalem"
IDS_TOOLTIP8, "Fırça"
IDS_TOOLTIP9, "Püskürteç"
IDS_TOOLTIP10, "Metin"
IDS_TOOLTIP11, "Çizgi"
IDS_TOOLTIP12, "Kıvrım"
IDS_TOOLTIP13, "Dikdörtgen"
IDS_TOOLTIP14, "Çokgen"
IDS_TOOLTIP15, "Söbek"
IDS_TOOLTIP16, "Yuvarlatılmış Dikdörtgen"
IDS_OPENFILTER, "Bit Eşlem Görüntüleri (*.bmp;*.dib)\1*.bmp;*.dib\1Tüm Kütükler (*.*)\1*.*\1"
IDS_SAVEFILTER, "24-bit Bit Eşlem Görüntüsü(*.bmp;*.dib)\1*.bmp;*.dib\1"
IDS_FILESIZE, "%d sekizlik"
IDS_PRINTRES, "Her metrekarede %d x %d nokta"
END

View file

@ -86,6 +86,9 @@
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif

View file

@ -27,11 +27,11 @@ BEGIN
GROUPBOX "色",IDC_STATIC,7,83,228,85
ICON "", IDC_REMICON, 15,19,20,20
ICON "", IDC_COLORSICON, 15,98,20,20
LTEXT "リモート デスクトップの画面サイズを設定してください。スライダのつまみを右端に動かすと、全画面表 示になります",IDC_STATIC,53,22,175,21
LTEXT "リモート デスクトップの画面サイズを設定してください。スライダのつまみを右端に動かすと、全画面表示になります",IDC_STATIC,53,22,175,21
CONTROL "", IDC_GEOSLIDER, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 56, 42, 124, 17
COMBOBOX IDC_BPPCOMBO,56,102,128,80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_COLORIMAGE,"Static",SS_OWNERDRAW | SS_SUNKEN, 56,121,127,10
LTEXT "注意: この設定はリモート コンピュータの設定で上書きされる可能 性があります。",IDC_STATIC,56,143,165,18
LTEXT "注意: この設定はリモート コンピュータの設定で上書きされる可能性があります。",IDC_STATIC,56,143,165,18
LTEXT "小",IDC_STATIC,35,42,15,8
LTEXT "大",IDC_STATIC,189,42,17,8
LTEXT "", IDC_SETTINGS_RESOLUTION_TEXT, 56, 62, 120, 10, SS_CENTER
@ -57,7 +57,7 @@ BEGIN
IDS_HIGHCOLOR16 "65,536 色 (16 ビット)"
IDS_HIGHCOLOR24 "16,777,216 色 (24 ビット)"
IDS_PIXEL "%lu x %lu ピクセル"
IDS_FULLSCREEN "全画面表 示"
IDS_FULLSCREEN "全画面表示"
IDS_BROWSESERVER "<参照...>"
IDS_HEADERTEXT1 "リモート デスクトップ"
IDS_HEADERTEXT2 "接続"

View file

@ -0,0 +1,41 @@
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "\nEinen WLAN Adapter konfigurieren.\n\n\
WLANCONF [-c SSID [-w WEP] [-a]] [-d] [-s]\n\n\
\t-c SSID\t\teine Verbindung mit der angegebenen\n\
\t\t\tSSID herstellen \n\
\t-w WEP\t\tden zu benutzenden WEP-Schlüssel angeben\n\
\t-a\t\tals ad-hoc-Netzwerk konfigurieren\n\
\t-d\t\tvom aktuellen Access Point trennen\n\
\t-s\t\t scannt nach verfügbaren Access Points\n\
\t\t\tin der Nähe.\n\n\
Werden keine Parameter angegeben, werden Informationen zur WLAN-Verbindung ausgegeben.\n"
/* === */
IDS_NO_NETWORK, "Keine Netzwerke gefunden.\n"
IDS_NO_WLAN_ADAPTER, "Es konnte kein WLAN Adapter gefunden werden.\n"
IDS_SUCCESS, "Die Operation wurde erfolgreich abgeschlossen.\n"
IDS_WLAN_DISCONNECT, "\nWLAN getrennt\n"
/* === */
IDS_MSG_WEP_ENABLED, "WEP aktiv: %s\n"
IDS_MSG_NETWORK_MODE, "Netzwerkmodus: %s\n"
IDS_MSG_CURRENT_WIRELESS, "\nAktuelle WLAN-Konfiguration:\n\n"
IDS_MSG_ENCRYPTED, "Verschlüsselt: %s\n"
IDS_MSG_NETWORK_TYPE, "Netzwerktyp: %s\n"
IDS_MSG_RSSI, "RSSI: %i dBm\n"
IDS_MSG_SUPPORT_RATE, "Unterstützte Geschwindigkeiten (Mbps): "
IDS_MSG_TRANSMISSION_POWER, "Sendeleistung: %d mW\n"
IDS_MSG_ANTENNA_COUNT, "Anzahl der Antennen: %d\n"
IDS_MSG_TRANSMIT_ANTENNA, "Sendeantenne: %d\n"
IDS_MSG_TRANSMIT_ANTENNA_ANY, "Sendeantenne: beliebig\n"
IDS_MSG_RECEIVE_ANTENNA, "Empfangsantenne: %d\n"
IDS_MSG_RECEIVE_ANTENNA_ANY, "Empfangsantenne: beliebig\n"
IDS_MSG_FRAGMENT_THRESHOLD, "Fragmentierungsschwelle: %d Bytes\n"
IDS_MSG_RTS_THRESHOLD, "RTS-Schwelle: %d Bytes\n"
/* === */
IDS_YES, "Ja"
IDS_NO, "Nein"
IDS_ADHOC, "Adhoc"
IDS_INFRASTRUCTURE, "Infrastruktur"
END

View file

@ -0,0 +1,40 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "\nConfigurazione adattatore WLAN.\n\n\
WLANCONF [-c SSID [-w WEP] [-a]] [-d] [-s]\n\n\
\t-c SSID\t\tConnesso al SSID,\n\
\t-w WEP\t\tSpecifica una chiave WEP da usare.\n\
\t-a\t\tSpecifica la rete di destinazione ad-hoc\n\
\t-d\t\tDisconneti dall'AP corrente.\n\
\t-s\t\tEsegue la scansione e visualizza un elenco di punti di accesso\n\
\t\t\tin range.\n\n\
Non passando nessun parametro verranno stampate le informazioni relative alla connessione WLAN corrente\n"
/* === */
IDS_NO_NETWORK, "Nessuna rete trovata\n"
IDS_NO_WLAN_ADAPTER, "Impossibile trovare un adattatore WLAN sul sistema\n"
IDS_SUCCESS, "Operazione completata con successo.\n"
IDS_WLAN_DISCONNECT, "\nWLAN disconnesso\n"
/* === */
IDS_MSG_WEP_ENABLED, "WEP abilitato: %s\n"
IDS_MSG_NETWORK_MODE, "Modalità di rete: %s\n"
IDS_MSG_CURRENT_WIRELESS, "\Informazioni correnti per la configurazione wireless:\n\n"
IDS_MSG_ENCRYPTED, "Crittografia: %s\n"
IDS_MSG_NETWORK_TYPE, "Tipologia rete: %s\n"
IDS_MSG_RSSI, "RSSI: %i dBm\n"
IDS_MSG_SUPPORT_RATE, "Tariffe supportate (Mbps): "
IDS_MSG_TRANSMISSION_POWER, "Potenza Trasmissione: %d mW\n"
IDS_MSG_ANTENNA_COUNT, "Numero Antenne: %d\n"
IDS_MSG_TRANSMIT_ANTENNA, "Trasmissione antenna: %d\n"
IDS_MSG_TRANSMIT_ANTENNA_ANY, "Trasmissione antenna: Qualsiasi\n"
IDS_MSG_RECEIVE_ANTENNA, "Ricezione Antenna: %d\n"
IDS_MSG_RECEIVE_ANTENNA_ANY, "Ricezione Antenna: Qualsiasi\n"
IDS_MSG_FRAGMENT_THRESHOLD, "Soglia di Frammentazione: %d bytes\n"
IDS_MSG_RTS_THRESHOLD, "Soglia RTS: %d bytes\n"
/* === */
IDS_YES, "Si"
IDS_NO, "No"
IDS_ADHOC, "Adhoc"
IDS_INFRASTRUCTURE, "Infrastruttura"
END

View file

@ -5,13 +5,21 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS WLAN Configuration Tool\0"
#define REACTOS_STR_INTERNAL_NAME "wlanconf\0"
#define REACTOS_STR_INTERNAL_NAME "wlanconf\0"
#define REACTOS_STR_ORIGINAL_FILENAME "wlanconf.exe\0"
#define REACTOS_STR_ORIGINAL_COPYRIGHT "Cameron Gutman (cameron.gutman@reactos.org)\0"
#include <reactos/version.rc>
// UTF-8
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif

View file

@ -61,7 +61,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "切り取り(&T)\tCtrl+X", CMD_CUT
MENUITEM "コピー(&C)\tCtrl+C", CMD_COPY
MENUITEM "貼 り付け(&P)\tCtrl+V", CMD_PASTE
MENUITEM "貼り付け(&P)\tCtrl+V", CMD_PASTE
MENUITEM "削除(&D)\tDel", CMD_DELETE
MENUITEM SEPARATOR
MENUITEM "検索(&F)...\tCtrl+F", CMD_SEARCH
@ -77,7 +77,7 @@ BEGIN
MENUITEM "右端で折り返す(&W)", CMD_WRAP
MENUITEM "フォント(&F)...", CMD_FONT
END
POPUP "表 示(&V)"
POPUP "表示(&V)"
BEGIN
MENUITEM "ステータス バー(&B)", CMD_STATUSBAR
END

View file

@ -1,10 +1,8 @@
/*
/*
* Notepad (Turkish resources)
*
* Copyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>
* Proofread 1998 by David Lee Lambert <lamber45@egr.msu.edu>
* Copyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>
* Çeviri 2012 Arda Tanrıkulu <ardatanrikulu@gmail.com>
* Copyright 2012 Arda Tanrıkulu <ardatanrikulu@gmail.com>
* Copyright 2013 Erdem Ersoy (eersoy93)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -43,81 +41,80 @@ END
MAIN_MENU MENU
BEGIN
POPUP "&Dosya"
POPUP "&Kütük"
BEGIN
MENUITEM "&Yeni\tCtrl+N", CMD_NEW
MENUITEM "&Aç...\tCtrl+O", CMD_OPEN
MENUITEM "&Yeni\tCtrl+N", CMD_NEW
MENUITEM "&Aç...\tCtrl+O", CMD_OPEN
MENUITEM "&Kaydet\tCtrl+S", CMD_SAVE
MENUITEM "&Farklı Kaydet...", CMD_SAVE_AS
MENUITEM "Ay&rı Kaydet...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "&Sayfa Yapısı...", CMD_PAGE_SETUP
MENUITEM "&Yazdır\tCtrl+P", CMD_PRINT
MENUITEM "&Yazıcı Ayarları...", CMD_PRINTER_SETUP
MENUITEM "Ya&zdır...\tCtrl+P", CMD_PRINT
MENUITEM "Yaz&ıcı Ayarları...", CMD_PRINTER_SETUP
MENUITEM SEPARATOR
MENUITEM "&Çıkış", CMD_EXIT
MENUITEM "&Çıkış", CMD_EXIT
END
POPUP "&Düzen"
BEGIN
MENUITEM "&Geri Al\tCtrl+Z", CMD_UNDO
MENUITEM "&Geri Al\tCtrl+Z", CMD_UNDO
MENUITEM SEPARATOR
MENUITEM "&Kes\tCtrl+X", CMD_CUT
MENUITEM "K&opyala\tCtrl+C", CMD_COPY
MENUITEM "Y&apıştır\tCtrl+V", CMD_PASTE
MENUITEM "&Sil\tDel", CMD_DELETE
MENUITEM "&Çoğalt\tCtrl+C", CMD_COPY
MENUITEM "&Yapıştır\tCtrl+V", CMD_PASTE
MENUITEM "&Sil\tDel", CMD_DELETE
MENUITEM SEPARATOR
MENUITEM "&Bul...\tCtrl+F", CMD_SEARCH
MENUITEM "Son&rakini Bul\tF3", CMD_SEARCH_NEXT
MENUITEM "&Değiştir\tCtrl+H", CMD_REPLACE
MENUITEM "G&it...\tCtrl+G", CMD_GOTO
MENUITEM "&Ara...\tCtrl+F", CMD_SEARCH
MENUITEM "S&onrakini Ara\tF3", CMD_SEARCH_NEXT
MENUITEM "&Değiştir...\tCtrl+H",CMD_REPLACE
MENUITEM "G&it...\tCtrl+G", CMD_GOTO
MENUITEM SEPARATOR
MENUITEM "&Tümünü Seç\tCtrl+A", CMD_SELECT_ALL
MENUITEM "Saat/Tari&h\tF5", CMD_TIME_DATE
MENUITEM "&Zaman\tF5", CMD_TIME_DATE
END
POPUP "&Biçim"
BEGIN
MENUITEM "&Sözcük Kaydır", CMD_WRAP
MENUITEM "&Yazı Tipi...", CMD_FONT
MENUITEM "&Satır Kaydır", CMD_WRAP
MENUITEM "&Yazı Türü...", CMD_FONT
END
POPUP "&Görünüm"
BEGIN
MENUITEM "&Durum çubuğu", CMD_STATUSBAR
MENUITEM "&Durum Çubuğu", CMD_STATUSBAR
END
POPUP "&Yardım"
BEGIN
MENUITEM "&Yardım Konuları", CMD_HELP_CONTENTS
MENUITEM "&Ara...", CMD_HELP_SEARCH
MENUITEM "&Yardımda yardım", CMD_HELP_ON_HELP
MENUITEM "&Yardım Konuları", CMD_HELP_CONTENTS
MENUITEM "Yardımda &Ara...", CMD_HELP_SEARCH
MENUITEM "Yardım &İçin Yardım", CMD_HELP_ON_HELP
MENUITEM SEPARATOR
MENUITEM "&Not Defteri &Hakkında", CMD_ABOUT
MENUITEM "Bil&gi", CMD_ABOUT_WINE
MENUITEM "&Hakkında", CMD_ABOUT
MENUITEM "&Bilgi", CMD_ABOUT_WINE
END
END
/* Dialog `Page setup' */
DIALOG_PAGESETUP DIALOGEX 0, 0, 225, 95
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Sayfa Yapısı"
BEGIN
LTEXT "Üst&bilgi:", 0x140, 10, 07, 40, 15
EDITTEXT 0x141, 60, 05,110, 12, WS_BORDER | WS_TABSTOP
LTEXT "Altbil&gi:", 0x142, 10, 24, 40, 15
EDITTEXT 0x143, 60, 22,110, 12, WS_BORDER | WS_TABSTOP
LTEXT "Üst &Bilgi:", 0x140, 10, 07, 40, 15
EDITTEXT 0x141, 60, 05,110, 12, WS_BORDER | WS_TABSTOP
LTEXT "&Alt Bilgi:", 0x142, 10, 24, 40, 15
EDITTEXT 0x143, 60, 22,110, 12, WS_BORDER | WS_TABSTOP
GROUPBOX "&Kenar Boşlukları:", 0x144, 10, 43,160, 45
LTEXT "S&ol:", 0x145, 20, 55, 30, 10, WS_CHILD
GROUPBOX "Kenar Payı:", 0x144, 10, 43,160, 45
LTEXT "S&ol:", 0x145, 20, 55, 30, 10, WS_CHILD
EDITTEXT /*STRING_PAGESETUP_LEFTVALUE,*/ 0x147, 50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT "&Üst:", 0x148, 20, 73, 30, 10, WS_CHILD
LTEXT "&Üst:", 0x148, 20, 73, 30, 10, WS_CHILD
EDITTEXT /*STRING_PAGESETUP_TOPVALUE,*/ 0x14A, 50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT "&Sağ:", 0x14B, 100, 55, 30, 10, WS_CHILD
LTEXT "&Sağ:", 0x14B, 100, 55, 30, 10, WS_CHILD
EDITTEXT /*STRING_PAGESETUP_RIGHTVALUE,*/ 0x14D, 130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT "A&lt:", 0x14E, 100, 73, 30, 10, WS_CHILD
LTEXT "A&lt:", 0x14E, 100, 73, 30, 10, WS_CHILD
EDITTEXT /*STRING_PAGESETUP_BOTTOMVALUE,*/ 0x150, 130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
DEFPUSHBUTTON "Tamam", IDOK, 180, 3, 40, 15, WS_TABSTOP
PUSHBUTTON "İptal", IDCANCEL, 180, 21, 40, 15, WS_TABSTOP
PUSHBUTTON "&Yardım", IDHELP, 180, 39, 40, 15, WS_TABSTOP
DEFPUSHBUTTON "&Tamam", IDOK, 180, 3, 40, 15, WS_TABSTOP
PUSHBUTTON "&Vazgeç", IDCANCEL, 180, 21, 40, 15, WS_TABSTOP
PUSHBUTTON "&Yardım", IDHELP, 180, 39, 40, 15, WS_TABSTOP
END
/* Dialog `Encoding' */
@ -129,31 +126,31 @@ BEGIN
COMBOBOX ID_ENCODING,54,0,156,80,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "K&odlama:",0x155,5,2,41,12
COMBOBOX ID_EOLN,54,18,156,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Sonhatlar:",0x156,5,20,41,12
LTEXT "&Sonlanma:",0x156,5,20,41,12
END
/* Dialog 'Go To' */
DIALOG_GOTO DIALOGEX 0,0,165,50
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Satıra git"
CAPTION "Satıra Git"
BEGIN
EDITTEXT ID_LINENUMBER,54,10,106,12,WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT "&Satır No:",0x155,5,12,41,12,WS_CHILD | WS_TABSTOP | ES_NUMBER
DEFPUSHBUTTON "Tamam", IDOK, 75, 30, 40, 15, WS_CHILD | WS_TABSTOP
PUSHBUTTON "İptal", IDCANCEL, 120, 30, 40, 15, WS_CHILD | WS_TABSTOP
LTEXT "Satır No:",0x155,5,12,41,12,WS_CHILD | WS_TABSTOP | ES_NUMBER
DEFPUSHBUTTON "&Tamam", IDOK, 75, 30, 40, 15, WS_CHILD | WS_TABSTOP
PUSHBUTTON "&Vazgeç", IDCANCEL, 120, 30, 40, 15, WS_CHILD | WS_TABSTOP
END
IDD_ABOUTBOX DIALOGEX DISCARDABLE 22,16,284,170
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Not Defteri Hakkında"
CAPTION "ReactOS Metin Düzenleyicisi Hakkında"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "ReactOS Not Defteri v1.0\r\nCopyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>\r\nCopyright 2000 Mike McCormack <Mike_McCormack@looksmart.com.au>\r\nCopyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>\r\nCopyright 2002 Andriy Palamarchuk\r\n",
CONTROL "ReactOS Metin Düzenleyicisi - Sürüm: 1.0\r\nTelif Hakkı: 1997,98 Marcel Baur (mbaur@g26.ethz.ch)\r\nTelif Hakkı: 2000 Mike McCormack (Mike_McCormack@looksmart.com.au)\r\nTelif Hakkı: 2002 Sylvain Petreolle (spetreolle@yahoo.fr)\r\nTelif Hakkı: 2002 Andriy Palamarchuk\r\n",
-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,46,7,232,39
CONTROL " ",
-1,"Static",0x50000000,8,48,272,11
DEFPUSHBUTTON "Kapat",IDOK,114,149,44,15,WS_GROUP
DEFPUSHBUTTON "&Tamam",IDOK,114,149,44,15,WS_GROUP
ICON IDI_NPICON,-1,12,9,20,30
EDITTEXT IDC_LICENSE,8,64,272,81,ES_MULTILINE |
ES_READONLY | WS_VSCROLL
@ -161,7 +158,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
STRING_LICENSE, "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program 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 General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
STRING_LICENSE, "ÖNEMLİ: Aşağıdaki metin özgün metnin resmi olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu yazılım özgürdür, yani bu yazılım Özgür Yazılım Vakfı'nın yayınladığı GNU Genel Kamu Lisansı'nın 2. sürümü veya daha sonraki sürümleri altında yeniden dağıtabilir veya değiştirebilirsiniz.\r\n\r\nBu yazılım, kullanışlı olabileceği umuduyla dağıtılmıştır, ancak özellikle SATILABİLİRLİK ve BELİRLİ BİR AMACA UYGUNLUK açısından olmak üzere bu yazılımın hiçbir güvencesi yoktur. Daha fazla bilgi için GNU Genel Kamu Lisansı'na bakınız.\r\n\r\nBu yazılımla birlikte GNU Genel Kamu Lisansı'nın bir sûretine de iye olmanız gerekir, eğer yoksa Özgür Yazılım Vakfı A.Ş.'ne (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız. \r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program 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 General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
@ -173,29 +170,29 @@ STRING_PAGESETUP_RIGHTVALUE, "20 mm" /* FIXME */
STRING_PAGESETUP_TOPVALUE, "25 mm" /* FIXME */
STRING_PAGESETUP_BOTTOMVALUE, "25 mm" /* FIXME */
STRING_NOTEPAD, "Not Defteri"
STRING_NOTEPAD, "Metin Düzenleyicisi"
STRING_ERROR, "HATA"
STRING_WARNING, "UYARI"
STRING_INFO, "Bilgi"
STRING_UNTITLED, "Adsız"
STRING_ALL_FILES, "Tüm dosyalar (*.*)"
STRING_TEXT_FILES_TXT, "Metin dosyaları (*.txt)"
STRING_ALL_FILES, "Tüm Kütükler (*.*)"
STRING_TEXT_FILES_TXT, "Metin Belgeleri (*.txt)"
STRING_TOOLARGE, "'%s' dosyası Not Defteri için çok büyük.\n\nBu dosyayı düzenlemek için başka bir düzenleyici kullanın."
STRING_NOTEXT, "Hiçbirşey yazmadınız."
STRING_DOESNOTEXIST, "'%s' dosyası bulunamıyor.\n\nYeni bir dosya yaratmak ister misiniz?"
STRING_NOTSAVED, " dosyasındaki metin değişmiş.\n\nDeğişiklikleri kaydetmek istiyor musunuz?"
STRING_NOTFOUND, "'%s' bulunamıyor."
STRING_OUT_OF_MEMORY, "Bu işlemi tamamlamak için yetersiz bellek. Kullanılabilen belleği arttırmak için bir veya daha fazla uygulamadan çıkıp yeniden deneyin."
STRING_CANNOTFIND "'%s' bulunamıyor"
STRING_TOOLARGE, "'%s' kütüğü Metin Düzenleyicisi için çok büyük. Bu kütüğü düzenlemek için başka bir metin düzenleyicisi kullanınız."
STRING_NOTEXT, "Hiçbir şey yazmadınız. Lütfen bir şeyler yazıp yeniden deneyiniz."
STRING_DOESNOTEXIST, "'%s' kütüğü mevcut değil. Yeni bir kütük oluşturmak ister misiniz?"
STRING_NOTSAVED, "'%s' kütüğündeki metin değiştirilmiş. Değişiklikleri kaydetmek istiyor musunuz?"
STRING_NOTFOUND, "'%s' kütüğü bulunamadı."
STRING_OUT_OF_MEMORY, "Bu işlemi tamamlamak için gereken bellek yetersiz. Kullanılabilen belleği arttırmak için bir veya daha fazla uygulamadan çıkıp bu işlemi yeniden deneyiniz."
STRING_CANNOTFIND "'%s' bulunamadı."
STRING_ANSI, "ANSI"
STRING_UNICODE, "Unicode"
STRING_UNICODE_BE, "Unicode (big endian)"
STRING_UNICODE_BE, "Unicode (Big Endian)"
STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_LF, "UNIX"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "St %d, Stn %d"
STRING_LINE_COLUMN, "%d. Satır, %d. Sütun"
END

View file

@ -64,7 +64,7 @@ BEGIN
ID_REGISTRY_CONNECTNETWORKREGISTRY
MENUITEM "&Disconnetti da Registro di rete...",
ID_REGISTRY_DISCONNECTNETWORKREGISTRY,GRAYED
ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Stampa\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
MENUITEM SEPARATOR
@ -227,7 +227,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP |
CAPTION "Modifica DWORD"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Name:",IDC_STATIC,6,6,134,8
LTEXT "&Nome:",IDC_STATIC,6,6,134,8
EDITTEXT IDC_VALUE_NAME,6,17,240,12,ES_AUTOHSCROLL | ES_READONLY
LTEXT "&Dati:",IDC_STATIC,6,35,161,8
EDITTEXT IDC_VALUE_DATA,6,46,116,12,ES_AUTOHSCROLL
@ -242,43 +242,43 @@ END
IDD_EDIT_RESOURCE_LIST DIALOGEX 32, 24, 170, 120
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP |
WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Resource List"
CAPTION "Lista Risorse"
FONT 8, "MS Shell Dlg"
{
CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 10, 150, 75
DEFPUSHBUTTON "OK", IDOK, 27, 100, 50, 14
PUSHBUTTON "Show...", IDC_SHOW_RESOURCE, 93, 100, 50, 14, WS_DISABLED
PUSHBUTTON "Visualizza...", IDC_SHOW_RESOURCE, 93, 100, 50, 14, WS_DISABLED
}
IDD_EDIT_RESOURCE DIALOGEX 6, 18, 281, 283
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP |
WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Resources"
CAPTION "Risorse"
FONT 8, "MS Shell Dlg"
{
LTEXT "DMA:", IDC_STATIC, 10, 5, 20, 8
CONTROL "", IDC_DMA_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 15, 261, 31
LTEXT "Interrupt:", IDC_STATIC, 10, 48, 35, 8
LTEXT "Interruzione:", IDC_STATIC, 10, 48, 35, 8
CONTROL "", IDC_IRQ_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 58, 261, 31
LTEXT "Memory:", IDC_STATIC, 10, 91, 32, 8
LTEXT "Memoria:", IDC_STATIC, 10, 91, 32, 8
CONTROL "", IDC_MEMORY_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 101, 261, 31
LTEXT "Port:", IDC_STATIC, 10, 134, 38, 8
LTEXT "Porta:", IDC_STATIC, 10, 134, 38, 8
CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31
LTEXT "Device specific data:", IDC_STATIC, 10, 177, 80, 8
LTEXT "Dati specifici del dispositivo", IDC_STATIC, 10, 177, 80, 8
CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31
GROUPBOX "Usage", IDC_STATIC, 10, 219, 125, 39
LTEXT "Undetermined", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED
LTEXT "Shared", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED
LTEXT "Device exclusive", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
LTEXT "Driver exclusive", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
RTEXT "Interface Type:", IDC_STATIC, 144, 220, 58, 8
GROUPBOX "Utilizzo", IDC_STATIC, 10, 219, 125, 39
LTEXT "Indeterminato", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED
LTEXT "Condividi", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED
LTEXT "Device esclusivo", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
LTEXT "Driver esclusivo", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
RTEXT "Tipo di interfaccia:", IDC_STATIC, 144, 220, 58, 8
LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8
RTEXT "Bus Nummer:", IDC_STATIC, 151, 230, 51, 8
LTEXT "", IDC_BUSNUMBER, 205, 230, 66, 8
RTEXT "Version:", IDC_STATIC, 151, 240, 51, 8
RTEXT "Versione:", IDC_STATIC, 151, 240, 51, 8
LTEXT "", IDC_VERSION, 205, 240, 66, 8
RTEXT "Revision:", IDC_STATIC, 151, 250, 51, 8
RTEXT "Revisione:", IDC_STATIC, 151, 250, 51, 8
LTEXT "", IDC_REVISION, 205, 250, 66, 8
DEFPUSHBUTTON "OK",IDOK, 92, 263, 40, 14
PUSHBUTTON "&Data...", IDC_SHOW_RESOURCE_DATA, 148, 263, 40, 14, WS_DISABLED
@ -306,7 +306,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
ID_REGISTRY_MENU "Contiene i comandi per lavorare su tutto il Registro"
ID_EDIT_MENU "Contiene i comandi per editare valori o chiavi"
ID_EDIT_MENU "Contiene i comandi per modificare valori o chiavi"
ID_VIEW_MENU "Contiene i comandi per personalizzare la finestra del Registro"
ID_FAVOURITES_MENU "Contiene i comandi per accedere alle chiavi usate frequentemente"
ID_HELP_MENU "Contiene i comandi per visualizzare la Guida e informazioni sull'editor del Registro"
@ -324,9 +324,9 @@ BEGIN
ID_REGISTRY_EXPORTREGISTRYFILE
"Esporta tutto o parte del Registro in un file di testo"
ID_REGISTRY_LOADHIVE
"Loads a hive file into the registry"
"Carica un file hive nel Registro di sistema"
ID_REGISTRY_UNLOADHIVE
"Unloads a hive from the registry"
"Espelle un hive dal Registro di sistema"
ID_REGISTRY_CONNECTNETWORKREGISTRY
"Si connette al Registro di un computer remoto"
ID_REGISTRY_DISCONNECTNETWORKREGISTRY
@ -370,23 +370,23 @@ BEGIN
IDS_ERR_DELETEVALUE "Impossibile cancellare tutti i valori indicati!"
IDS_ERR_RENVAL_CAPTION "Errore nel rinominare il valore"
IDS_ERR_RENVAL_TOEMPTY "Impossibile rinominare %s. Il nome indicato è vuoto. Riprovate con un altro nome."
IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration"
IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?"
IDS_QUERY_IMPORT_HIVE_CAPTION "Conferma ripristino della chiave"
IDS_QUERY_IMPORT_HIVE_MSG "Una chiave sarà ripristinata in cima alla chiave correntemente selezionata.\n Tutti i valori e le sottochiavi di questa chiave verranno eliminati.\n Si desidera continuare l'operazione?"
IDS_NEW_KEY "Nuova chiave #%d"
IDS_NEW_VALUE "Nuovo valore #%d"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_BINARY_EMPTY "(valore binario di lunghezza nulla)"
IDS_BINARY_EMPTY "(valore binario di lunghezza nulla)"
IDS_DEFAULT_VALUE_NAME "(predefinito)"
IDS_VALUE_NOT_SET "(valore non impostato)"
IDS_UNKNOWN_TYPE "Tipo sconosciuto: (0x%lx)"
IDS_MY_COMPUTER "Il mio Computer"
IDS_IMPORT_REG_FILE "Importa file di Registro"
IDS_EXPORT_REG_FILE "Esporta file di Registro"
IDS_LOAD_HIVE "Load Hive"
IDS_UNLOAD_HIVE "Unload Hive"
IDS_LOAD_HIVE "Carica Hive"
IDS_UNLOAD_HIVE "Scarica Hive"
IDS_INVALID_DWORD "(valore DWORD non valido)"
END
@ -436,48 +436,48 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_IMPORT_PROMPT "Adding information can unintentionally change or delete values and cause components to stop working correctly.\nIf you do not trust the source of this information in '%s', do not add it to registry.\n\nAre you sure you want to continue?"
IDS_IMPORT_OK "The keys and values contained in '%s' have been successfully added to the registry."
IDS_IMPORT_ERROR "Cannot import '%s': Error opening the file. There may be a disk, file system error or file may not exist."
IDS_EXPORT_ERROR "Cannot export '%s': Error creating or writing to the file. There may be a disk or file system error."
IDS_IMPORT_PROMPT "Aggiungendo informazioni si possono involontariamente modificare o eliminare i valori e causare il giusto funzionamente dei componenti.\n Se non si considera attendibile la fonte di queste informazioni in '% s', non aggiungere al Registro di sistema.\n\n Si desidera continuare? "
IDS_IMPORT_OK "Le chiavi e i valori contenuti in '% s' sono stati correttamente aggiunti al Registro di sistema."
IDS_IMPORT_ERROR "Impossibile importare '% s': Errore durante l'apertura del file. Ci può essere un disco, file cdanneggiati o il file non esiste."
IDS_EXPORT_ERROR "Impossibile esportare '% s': Errore durante la creazione o la scrittura del file. Ci può essere un disco o un file di sistema danneggiato."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_BUSNUMBER "Bus Number"
IDS_INTERFACE "Interface"
IDS_DMA_CHANNEL "Channel"
IDS_DMA_PORT "Port"
IDS_INTERRUPT_VECTOR "Vector"
IDS_INTERRUPT_LEVEL "Level"
IDS_INTERRUPT_AFFINITY "Affinity"
IDS_INTERRUPT_TYPE "Type"
IDS_MEMORY_ADDRESS "Physical Address"
IDS_MEMORY_LENGTH "Length"
IDS_MEMORY_ACCESS "Access"
IDS_PORT_ADDRESS "Physical Address"
IDS_PORT_LENGTH "Length"
IDS_PORT_ACCESS "Access"
IDS_SPECIFIC_RESERVED1 "Reserved 1"
IDS_SPECIFIC_RESERVED2 "Reserved 2"
IDS_SPECIFIC_DATASIZE "Data Size"
IDS_INTERFACE "Interfaccia"
IDS_DMA_CHANNEL "Canale"
IDS_DMA_PORT "Porta"
IDS_INTERRUPT_VECTOR "Vettore"
IDS_INTERRUPT_LEVEL "Livello"
IDS_INTERRUPT_AFFINITY "Affinità"
IDS_INTERRUPT_TYPE "Tipo"
IDS_MEMORY_ADDRESS "Indirizzo fisico"
IDS_MEMORY_LENGTH "Lunghezza"
IDS_MEMORY_ACCESS "Accesso"
IDS_PORT_ADDRESS "Indirizzo fisico"
IDS_PORT_LENGTH "Lunghezza"
IDS_PORT_ACCESS "Accesso"
IDS_SPECIFIC_RESERVED1 "Riservato 1"
IDS_SPECIFIC_RESERVED2 "Riservato 2"
IDS_SPECIFIC_DATASIZE "Lunghezza dati"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_PORT_PORT_IO "Port"
IDS_PORT_MEMORY_IO "Memory"
IDS_INTERRUPT_EDGE_SENSITIVE "Edge Sensitive"
IDS_INTERRUPT_LEVEL_SENSITIVE "Level Sensitive"
IDS_MEMORY_READ_ONLY "Read Only"
IDS_MEMORY_WRITE_ONLY "Write Only"
IDS_MEMORY_READ_WRITE "Read / Write"
IDS_PORT_PORT_IO "Porta"
IDS_PORT_MEMORY_IO "Memoria"
IDS_INTERRUPT_EDGE_SENSITIVE "Sensibile al fronte"
IDS_INTERRUPT_LEVEL_SENSITIVE "Sensibile al livello"
IDS_MEMORY_READ_ONLY "Solo lettura"
IDS_MEMORY_WRITE_ONLY "Solo scrittura"
IDS_MEMORY_READ_WRITE "Leggi / Scrivi"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_BUS_UNDEFINED "Undefined"
IDS_BUS_INTERNAL "Internal"
IDS_BUS_UNDEFINED "Indefinito"
IDS_BUS_INTERNAL "Interno"
IDS_BUS_ISA "ISA"
IDS_BUS_EISA "EISA"
IDS_BUS_MICROCHANNEL "MicroChannel"
@ -489,11 +489,11 @@ BEGIN
IDS_BUS_CBUS "C-Bus"
IDS_BUS_MPIBUS "MPI-Bus"
IDS_BUS_MPSABUS "MPSA-Bus"
IDS_BUS_PROCESSORINTERNAL "Processor Internal"
IDS_BUS_PROCESSORINTERNAL "Processore Interno"
IDS_BUS_INTERNALPOWERBUS "Internal Power Bus"
IDS_BUS_PNPISABUS "PnP-ISA Bus"
IDS_BUS_PNPBUS "PnP Bus"
IDS_BUS_UNKNOWNTYPE "Unknown Interface Type"
IDS_BUS_UNKNOWNTYPE "Tipologia interfaccia sconosciuta"
END
/*****************************************************************/
@ -513,15 +513,18 @@ BEGIN
EDITTEXT IDC_EXPORT_BRANCH_TEXT,30,34,335,12
END
//
// Dialog resources
//
IDD_LOADHIVE DIALOGEX DISCARDABLE 0, 0, 193, 34
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Load Hive"
CAPTION "Carica Hive"
FONT 8, "Ms Shell Dlg"
{
LTEXT "&Key:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT
LTEXT "&Chiave:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT
EDITTEXT IDC_EDIT_KEY, 23, 2, 167, 13
DEFPUSHBUTTON "OK", IDOK, 140, 17, 50, 14
PUSHBUTTON "Cancel", IDCANCEL, 89, 17, 50, 14
PUSHBUTTON "Annulla", IDCANCEL, 89, 17, 50, 14
}
IDD_ADDFAVORITES DIALOGEX DISCARDABLE 0, 0, 186, 46

View file

@ -164,7 +164,7 @@ BEGIN
BEGIN
MENUITEM "切り取り(&C)", ID_HEXEDIT_CUT
MENUITEM "コピー(&C)", ID_HEXEDIT_COPY
MENUITEM "貼 り付け(&P)", ID_HEXEDIT_PASTE
MENUITEM "貼り付け(&P)", ID_HEXEDIT_PASTE
MENUITEM "削除(&D)", ID_HEXEDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "すべて選択(&A)", ID_HEXEDIT_SELECT_ALL

View file

@ -25,6 +25,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* include localised resources */
// UTF-8
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif

View file

@ -3,27 +3,27 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* Dialog */
IDD_GUI DIALOGEX DISCARDABLE 0, 0, 240, 255
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Remote Shutdown"
CAPTION "Accesso remoto"
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "&OK",IDC_OK,125,232,50,14
PUSHBUTTON "&Cancel",IDC_CANCEL,178,232,50,14
CTEXT "Co&mputers:", IDC_STATIC,9,9,35,36
LISTBOX IDC_COMPUTER_LIST,8,19,162,55
PUSHBUTTON "&Add...",IDC_ADD_SYSTEM,179,19,50,14
PUSHBUTTON "&Remove",IDC_REMOVE_SYSTEM,179,36,50,14,WS_DISABLED
PUSHBUTTON "&Browse...",IDC_BROWSE_SYSTEM,179,53,50,14
CTEXT "Which action do you want these computers to execute?", IDC_ACTION,14,81,20,14
PUSHBUTTON "&Aggiungi...",IDC_ADD_SYSTEM,179,19,50,14
PUSHBUTTON "&Rimuovi...",IDC_REMOVE_SYSTEM,179,36,50,14,WS_DISABLED
PUSHBUTTON "&Naviga...",IDC_BROWSE_SYSTEM,179,53,50,14
CTEXT "quale azione si vuole eseguire?", IDC_ACTION,14,81,20,14
COMBOBOX IDC_ACTION_TYPE,37,79,129,14,WS_TABSTOP | CBS_DROPDOWN
CHECKBOX "Warn users",IDC_WARN_USERS,178,79,50,14,BS_AUTOCHECKBOX | WS_TABSTOP
CTEXT "Display warning for",IDC_SHOW_WARN_ONE,11,99,65,14
CHECKBOX "Avvio all'utente",IDC_WARN_USERS,178,79,50,14,BS_AUTOCHECKBOX | WS_TABSTOP
CTEXT "Visualizza avviso per",IDC_SHOW_WARN_ONE,11,99,65,14
EDITTEXT IDC_SHOW_WARN,78,97,41,14
CTEXT "second(s)",IDC_SHOW_WARN_TWO,124,99,32,10
GROUPBOX "Shutdown Event Tracker",IDC_STATIC,5,114,224,114
CTEXT "Reason:",IDC_STATIC,16,130,27,8
CHECKBOX "Planned",IDC_PLANNED,175,130,40,12,BS_AUTOCHECKBOX | WS_TABSTOP
CTEXT "secondi(s)",IDC_SHOW_WARN_TWO,124,99,32,10
GROUPBOX "Individuazione evento di arresto",IDC_STATIC,5,114,224,114
CTEXT "Ragione:",IDC_STATIC,16,130,27,8
CHECKBOX "Progettato",IDC_PLANNED,175,130,40,12,BS_AUTOCHECKBOX | WS_TABSTOP
COMBOBOX IDC_REASON_CODE,17,142,198,13,WS_TABSTOP | CBS_DROPDOWN
CTEXT "Comm&ent:",IDC_COMMENT_CAPTION,17,159,30,8
CTEXT "Comm&ento:",IDC_COMMENT_CAPTION,17,159,30,8
EDITTEXT IDC_COMMENT_TEXT,17,171,198,50,WS_VSCROLL
END
@ -35,69 +35,69 @@ BEGIN
Usage: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\
[/m \\\\computer][/t xxx][/d [p|u:]xx:yy [/c ""comment""]]\n\
\n\
No arguments or /? Display this help.\n\
/i Show the graphical user interface (GUI). This option must be the\n\
first one.\n\
/l Log off on the local system only. Cannot be used with /m or /d.\n\
/s Shutdown the computer.\n\
/r Restart the computer.\n\
/g Restart the computer and restart all the registered applications.\n\
/a Cancel a delayed shutdown. Can only be used during the delay\n\
period.\n\
/p Shutdown the local computer without any timeout or warning. Can be\n\
used with /d or /f.\n\
/h Hibernate the local computer. Usable with /f.\n\
/e Document the reason for the unexpected computer shutdown.\n\
/m \\\\computer Specify the target computer (UNC/IP address).\n\
/t xxx Set the timeout period to xxx seconds before shutting down.\n\
The valid range starts from 0 to 315360000 (10 years),\n\
30 being the default value.\n\
/c ""comment"" Comment on the reason for shutdown or restart.\n\
512 characters maximum allowed.\n\
/f Force running applications to close without warning users. If you\n\
do not specify any other parameter, this option will also log off.\n\
/d [p|u:]xx:yy Give the reason code for the shutdown or the restart.\n\
p indicates that the shutdown or the restart is planned.\n\
u indicates that the reason is defined by the user.\n\
If neither p nor u are specified, the shutdown or the restart are\n\
not planned.\n\
xx is the major reason code (positive integer smaller than 256).\n\
yy is the minor reason code (positive integer smaller than 65536).\n"
Non ci sono argomenti o/? Visualizza aiuti.\n\
/i Mostra l'interfaccia utente grafica (GUI). Questa opzione deve essere la \n\
prima.\n\
/l Disconnessione dal sistema locale. Non può essere utilizzata con /m or /d.\n\
/s Chiusura del computer.\n\
/r Riavvio del computer.\n\
/g Riavvio del computer e riavvio di tutte le applicazioni registrate.\n\
/a cancellare un arresto ritardato. Può essere utilizzato solo durante il periodo\n\
di ritardo.\n\
/p Spegnere il computer locale senza alcun timeout o avviso. Può essere\n\
utilizzato con /d or /f.\n\
/h Sospensione del computer locale. Utilizzabile con /f.\n\
/e Documento e il motivo dell'arresto del computer inatteso.\n\
/m \\\\computer Specificare la destinazione del computer (UNC/IP address).\n\
/t xxx Imposta il periodo di timeout di xxx secondi prima di spegnersi.\n\
L'intervallo valido inizia 0-315360000 (10 anni),\n\
30 è il valore di default.\n\
/c ""comment"" Commento sul motivo per cui spegnere o riavviare.\n\
512 caratteri massimi consentiti.\n\
/f Forzare la chiusura delle applicazioni in esecuzione senza che avvertire gli utenti. Se\n\
non è specificato un'altro parametro, questa opzione è valida anche per la disconnessione.\n\
/d [p|u:]xx:yy Indicare il codice motivo per l'arresto o il riavvio.\n\
p indica che l'arresto o il riavvio è previsto.\n\
u indica che il motivo è definito dall'utente.\n\
Se nè p nè u vengono specificati, l'arresto o il riavvio non sono\n\
pianificati.\n\
xx è il codice maggiore (numero intero positivo inferiore a 256).\n\
yy è il codice minore (numero intero positivo inferiore a 65536).\n"
IDS_ERROR_SHUTDOWN_REBOOT, "ERROR: Unable to shutdown and restart at the same time.\n"
IDS_ERROR_TIMEOUT, "ERROR: Timeout value of %u is out of bounds (0-315360000).\n"
IDS_ERROR_ABORT, "ERROR: Unable to abort the shutdown of the system.\n"
IDS_ERROR_LOGOFF, "ERROR: Unable to logoff the system.\n"
IDS_ERROR_SHUTDOWN, "ERROR: Unable to shutdown the system.\n"
IDS_ERROR_RESTART, "ERROR: Unable to restart the system.\n"
IDS_ERROR_MAX_COMMENT_LENGTH, "ERROR: Comment length exceeds maximum character limit set by the system.\n"
IDS_ERROR_HIBERNATE, "ERROR: Unable to send system into hibernation mode.\n"
IDS_ERROR_HIBERNATE_LOCAL, "ERROR: Hibernation mode cannot be started remotely.\n"
IDS_ERROR_HIBERNATE_ENABLED, "ERROR: Hibernation mode is not enabled.\n"
IDS_ERROR_DIALOG_CAPTION, "Remote Shutdown"
IDS_ERROR_DIALOG_INIT, "Unable to display the graphical user interface."
IDS_ERROR_SHUTDOWN_REBOOT, "ERROR: Impossibile arrestare e riavviare al tempo stesso.\n"
IDS_ERROR_TIMEOUT, "ERROR: Il valore di timeout di u% è fuori dai limiti (0-315360000) \n"
IDS_ERROR_ABORT, "ERROR: Impossibile interrompere l'arresto del sistema \n."
IDS_ERROR_LOGOFF, "ERROR: Impossibile disconnettersi dal sistema \n"
IDS_ERROR_SHUTDOWN, "ERROR: Impossibile arrestare il sistema \n."
IDS_ERROR_RESTART, "ERROR: Impossibile riavviare il sistema \n."
IDS_ERROR_MAX_COMMENT_LENGTH, "ERROR: Lunghezza commento supera il limite massimo di caratteri impostato dal sistema \n"
IDS_ERROR_HIBERNATE, "ERROR: Impossibile avviare il sistema in modalità di sospensione. \n"
IDS_ERROR_HIBERNATE_LOCAL, "ERROR: Modalitài sospensione non può essere avviata in modalità remota \n"
IDS_ERROR_HIBERNATE_ENABLED, "ERROR: Modalità di sospensione non è abilitata \n"
IDS_ERROR_DIALOG_CAPTION, "Arresto improviso"
IDS_ERROR_DIALOG_INIT, "Impossibile visualizzare l'interfaccia utente grafica."
END
/* Remote shutdown action strings */
STRINGTABLE DISCARDABLE
BEGIN
IDS_ACTION_SHUTDOWN, "Shutdown the system"
IDS_ACTION_RESTART, "Restart the system"
IDS_ACTION_UNEXPECTED_SHUTDOWN, "Annotate the unexpected shutdown"
IDS_ACTION_SHUTDOWN, "Esci dal sistema"
IDS_ACTION_RESTART, "Riavvia il sistema"
IDS_ACTION_UNEXPECTED_SHUTDOWN, "Arresto improviso"
END
/* Remote shutdown reason strings */
STRINGTABLE DISCARDABLE
BEGIN
IDS_REASON_OTHER, "Other"
IDS_REASON_HARDWARE_MAINTENANCE, "Hardware: Maintenance"
IDS_REASON_HARDWARE_INSTALL, "Hardware: Installation"
IDS_REASON_OS_RECOVER, "Operating System: Recovery"
IDS_REASON_OS_RECONFIGURE, "Operating System: Reconfigure"
IDS_REASON_APP_MAINTENANCE, "Application: Maintenance"
IDS_REASON_APP_INSTALL, "Application: Installation"
IDS_REASON_APP_UNRESPONSIVE, "Application: Unresponsive"
IDS_REASON_APP_UNSTABLE, "Application: Unstable"
IDS_REASON_SECURITY, "Security Issue"
IDS_REASON_NETWORK, "Loss of network connectivity"
IDS_REASON_OTHER, "Altro"
IDS_REASON_HARDWARE_MAINTENANCE, "Hardware: Manutenzione"
IDS_REASON_HARDWARE_INSTALL, "Hardware: Installazione"
IDS_REASON_OS_RECOVER, "Sistema Operativo System: Recupero"
IDS_REASON_OS_RECONFIGURE, "Sistema Operativo: Riconfigurazione"
IDS_REASON_APP_MAINTENANCE, "Applicazione: Manutenzione"
IDS_REASON_APP_INSTALL, "Applicazione: Installazione"
IDS_REASON_APP_UNRESPONSIVE, "Applicazione: Non Risponde"
IDS_REASON_APP_UNSTABLE, "Applicazione: Instabile"
IDS_REASON_SECURITY, "Problema di sicurezza"
IDS_REASON_NETWORK, "Connetività di rete assente"
END

View file

@ -36,13 +36,13 @@ BEGIN
END
END
STRINGTABLE
STRINGTABLE
BEGIN
IDS_APP_TITLE "Sound recorder"
IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32"
END
STRINGTABLE
STRINGTABLE
BEGIN
IDS_STRPOS "Position: %.2f s"
IDS_STRDUR "Lenght: %.2f s"

View file

@ -0,0 +1,54 @@
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDC_REACTOS_SNDREC32 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Ses Kaydedicisi Hakkında"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDI_SNDREC32,-1,19,14,21,20
LTEXT "ReactOS Ses Kaydedicisi, sürüm 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX
LTEXT "Tekif Hakkı - 2009",IDC_STATIC,55,25,114,8
DEFPUSHBUTTON "&Tamam",IDOK,139,54,50,14,WS_GROUP
END
IDR_MENU1 MENU
BEGIN
POPUP "&Kütük"
BEGIN
MENUITEM "&Yeni", ID_NEW
MENUITEM "&Aç...", ID_FILE_OPEN
MENUITEM "&Kaydet", ID_FILE_SAVE, GRAYED
MENUITEM "Ay&rı Kaydet...", ID_FILE_SAVEAS, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Çıkış", ID_EXIT
END
MENUITEM "Yapılacak", 0
MENUITEM "Yapılacak_2", 0
POPUP "&Yardım"
BEGIN
MENUITEM "&Hakkında", ID__ABOUT
END
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Ses Kaydedicisi"
IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32"
END
STRINGTABLE
BEGIN
IDS_STRPOS "Konum: %.2f s"
IDS_STRDUR "Uzunluk: %.2f s"
IDS_STRBUF "Nitelik: %.2f KB"
IDS_STRFMT "%.1f kHz, %u bitlik"
IDS_STRMONO "Tek Yol"
IDS_STRSTEREO "Çift Yol"
IDS_STRCHAN "%s"
END

View file

@ -47,14 +47,17 @@ IDB_BITMAP2_STOP_DIS BITMAP "resources/but_stop_dis.bmp"
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"

View file

@ -35,7 +35,7 @@ BEGIN
PUSHBUTTON "録音(&R)", IDC_RECORDING, 13,61,47,8, BS_AUTORADIOBUTTON
PUSHBUTTON "その他(&O):", IDC_OTHER, 13,80,42,8, BS_AUTORADIOBUTTON | WS_DISABLED
COMBOBOX IDC_LINE, 55,80,155,50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
LTEXT "表 示するコントロール:", IDC_LABELCONTROLS, 7, 109, 162, 8
LTEXT "表示するコントロール:", IDC_LABELCONTROLS, 7, 109, 162, 8
CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96
PUSHBUTTON "OK", IDOK, 114,226,50,14

View file

@ -10,16 +10,16 @@ BEGIN
END
POPUP "オプション(&O)"
BEGIN
MENUITEM "常に手前に表 示(&A)", ID_OPTIONS_ALWAYSONTOP
MENUITEM "常に手前に表示(&A)", ID_OPTIONS_ALWAYSONTOP
, CHECKED
MENUITEM "未使用時に最小化(&M)", ID_OPTIONS_MINIMIZEONUSE
, CHECKED
MENUITEM "最小化時に隠す(&H)", ID_OPTIONS_HIDEWHENMINIMIZED
, CHECKED
MENUITEM "16 ビット タスクの表 示(&S)", ID_OPTIONS_SHOW16BITTASKS
MENUITEM "16 ビット タスクの表示(&S)", ID_OPTIONS_SHOW16BITTASKS
, CHECKED
END
POPUP "表 示(&V)"
POPUP "表示(&V)"
BEGIN
MENUITEM "最新の状態に更新(&R)", ID_VIEW_REFRESH
POPUP "更新の頻度(&U)"
@ -43,16 +43,16 @@ BEGIN
MENUITEM "CPU ごとに 1 グラフ(&P)", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU
, CHECKED
END
MENUITEM "カーネル時間を表 示する(&S)", ID_VIEW_SHOWKERNELTIMES
MENUITEM "カーネル時間を表示する(&S)", ID_VIEW_SHOWKERNELTIMES
END
POPUP "ウィンドウ(&W)"
BEGIN
MENUITEM "上下に並べて表 示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表 示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "上下に並べて表示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "最小化(&M)", ID_WINDOWS_MINIMIZE
MENUITEM "最大化(&X)", ID_WINDOWS_MAXIMIZE
MENUITEM "重ねて表 示(&C)", ID_WINDOWS_CASCADE
MENUITEM "手前に表 示(&B)", ID_WINDOWS_BRINGTOFRONT
MENUITEM "重ねて表示(&C)", ID_WINDOWS_CASCADE
MENUITEM "手前に表示(&B)", ID_WINDOWS_BRINGTOFRONT
END
POPUP "ヘルプ(&H)"
BEGIN
@ -64,12 +64,12 @@ END
IDR_WINDOWSMENU MENU DISCARDABLE
BEGIN
MENUITEM "上下に並べて表 示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表 示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "上下に並べて表示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "最小化(&M)", ID_WINDOWS_MINIMIZE
MENUITEM "最大化(&X)", ID_WINDOWS_MAXIMIZE
MENUITEM "重ねて表 示(&C)", ID_WINDOWS_CASCADE
MENUITEM "手前に表 示(&B)", ID_WINDOWS_BRINGTOFRONT
MENUITEM "重ねて表示(&C)", ID_WINDOWS_CASCADE
MENUITEM "手前に表示(&B)", ID_WINDOWS_BRINGTOFRONT
END
IDR_APPLICATION_PAGE_CONTEXT1 MENU DISCARDABLE
@ -89,16 +89,16 @@ BEGIN
POPUP "DUMMY"
BEGIN
MENUITEM "切り替え(&S)", ID_APPLICATION_PAGE_SWITCHTO
MENUITEM "手前に表 示(&B)", ID_WINDOWS_BRINGTOFRONT
MENUITEM "手前に表示(&B)", ID_WINDOWS_BRINGTOFRONT
MENUITEM SEPARATOR
MENUITEM "上下に並べて表 示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表 示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "上下に並べて表示(&H)", ID_WINDOWS_TILEHORIZONTALLY
MENUITEM "左右に並べて表示(&V)", ID_WINDOWS_TILEVERTICALLY
MENUITEM "最小化(&M)", ID_WINDOWS_MINIMIZE
MENUITEM "最大化(&X)", ID_WINDOWS_MAXIMIZE
MENUITEM "重ねて表 示(&C)", ID_WINDOWS_CASCADE
MENUITEM "重ねて表示(&C)", ID_WINDOWS_CASCADE
MENUITEM SEPARATOR
MENUITEM "タスクの終了(&E)", ID_APPLICATION_PAGE_ENDTASK
MENUITEM "プロセスの表 示(&G)", ID_APPLICATION_PAGE_GOTOPROCESS
MENUITEM "プロセスの表示(&G)", ID_APPLICATION_PAGE_GOTOPROCESS
END
END
@ -110,7 +110,7 @@ BEGIN
MENUITEM "元のサイズに戻す(&R)", ID_RESTORE
MENUITEM "閉じる(&C)", ID_FILE_EXIT
MENUITEM SEPARATOR
MENUITEM "常に手前に表 示(&A)", ID_OPTIONS_ALWAYSONTOP
MENUITEM "常に手前に表示(&A)", ID_OPTIONS_ALWAYSONTOP
END
END
@ -180,7 +180,7 @@ BEGIN
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
WS_BORDER | WS_TABSTOP,7,7,233,177
PUSHBUTTON "プロセスの終了(&E)",IDC_ENDPROCESS,171,189,69,14
CONTROL "全ユーザーのプロセスを表 示する(&S)",IDC_SHOWALLPROCESSES,
CONTROL "全ユーザーのプロセスを表示する(&S)",IDC_SHOWALLPROCESSES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,111,10
END
@ -233,8 +233,8 @@ BEGIN
ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP
GROUPBOX "CPU 使用率の履歴",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT
GROUPBOX "メモリ使用量の履歴",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPARENT
PUSHBUTTON "CPU 使用率の表 示",IDC_CPU_USAGE_GRAPH,12,17,47,37,NOT WS_TABSTOP,WS_EX_CLIENTEDGE
PUSHBUTTON "メモリ使用量の表 示",IDC_MEM_USAGE_GRAPH,12,75,47,37,NOT WS_TABSTOP,WS_EX_CLIENTEDGE
PUSHBUTTON "CPU 使用率の表示",IDC_CPU_USAGE_GRAPH,12,17,47,37,NOT WS_TABSTOP,WS_EX_CLIENTEDGE
PUSHBUTTON "メモリ使用量の表示",IDC_MEM_USAGE_GRAPH,12,75,47,37,NOT WS_TABSTOP,WS_EX_CLIENTEDGE
PUSHBUTTON "CPU 使用率の履歴",IDC_CPU_USAGE_HISTORY_GRAPH,81,17,
153,37,NOT WS_TABSTOP,WS_EX_CLIENTEDGE
PUSHBUTTON "メモリ使用量の履歴",IDC_MEM_USAGE_HISTORY_GRAPH,81,75,
@ -334,7 +334,7 @@ FONT 9, "MS UI Gothic"
BEGIN
DEFPUSHBUTTON "OK",IDOK,84,178,50,14
PUSHBUTTON "キャンセル",IDCANCEL,138,178,50,14
LTEXT "タスク マネージャの [プロセス] ページに表 示する列を選択します。",
LTEXT "タスク マネージャの [プロセス] ページに表示する列を選択します。",
IDC_STATIC,7,7,181,17
CONTROL "イメージ名(&I)",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
WS_DISABLED | WS_TABSTOP,7,28,56,10
@ -517,41 +517,41 @@ END
STRINGTABLE DISCARDABLE
BEGIN
ID_FILE_NEW "新しいプログラムを実行します"
ID_OPTIONS_ALWAYSONTOP "最小化されない限り、常にタスク マネージャがほかのすべてのウィンドウよりも手前に表 示されます"
ID_OPTIONS_ALWAYSONTOP "最小化されない限り、常にタスク マネージャがほかのすべてのウィンドウよりも手前に表示されます"
ID_OPTIONS_MINIMIZEONUSE
"[切り替え] 操作を実行すると、タスク マネージャが最小化されます"
ID_OPTIONS_HIDEWHENMINIMIZED "最小化されたときに、タスク マネージャを隠します"
ID_VIEW_REFRESH "[更新の頻度] の設定にかかわらず、今すぐタスク マネージャを更新します"
ID_VIEW_LARGE "大きいアイコンを使ってタスクを表 示します"
ID_VIEW_SMALL "小さいアイコンを使ってタスクを表 示します"
ID_VIEW_DETAILS "各タスクの情報を表 示します"
ID_VIEW_UPDATESPEED_HIGH "毎秒 2 回表 示を更新します"
ID_VIEW_UPDATESPEED_NORMAL "2 秒に 1 回表 示を更新します"
ID_VIEW_UPDATESPEED_LOW "4 秒に 1 回表 示を更新します"
ID_VIEW_LARGE "大きいアイコンを使ってタスクを表示します"
ID_VIEW_SMALL "小さいアイコンを使ってタスクを表示します"
ID_VIEW_DETAILS "各タスクの情報を表示します"
ID_VIEW_UPDATESPEED_HIGH "毎秒 2 回表示を更新します"
ID_VIEW_UPDATESPEED_NORMAL "2 秒に 1 回表示を更新します"
ID_VIEW_UPDATESPEED_LOW "4 秒に 1 回表示を更新します"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_VIEW_UPDATESPEED_PAUSED "表 示を自動的に更新しません"
ID_VIEW_UPDATESPEED_PAUSED "表示を自動的に更新しません"
ID_WINDOWS_TILEHORIZONTALLY
"デスクトップ上でウィンドウを重ならないように上下に並べて表 示します"
ID_WINDOWS_TILEVERTICALLY "デスクトップ上でウィンドウを重ならないように左右に並べて表 示します"
"デスクトップ上でウィンドウを重ならないように上下に並べて表示します"
ID_WINDOWS_TILEVERTICALLY "デスクトップ上でウィンドウを重ならないように左右に並べて表示します"
ID_WINDOWS_MINIMIZE "ウィンドウを最小化します"
ID_WINDOWS_MAXIMIZE "ウィンドウを最大化します"
ID_WINDOWS_CASCADE "デスクトップ上でウィンドウを重ねて表 示します"
ID_WINDOWS_BRINGTOFRONT "ウィンドウを手前に表 示しますが、切り替えません。"
ID_HELP_TOPICS "タスク マネージャのヘルプ トピックを表 示します"
ID_HELP_ABOUT "プログラム情報、バージョン番号、著作権を表 示します"
ID_WINDOWS_CASCADE "デスクトップ上でウィンドウを重ねて表示します"
ID_WINDOWS_BRINGTOFRONT "ウィンドウを手前に表示しますが、切り替えません。"
ID_HELP_TOPICS "タスク マネージャのヘルプ トピックを表示します"
ID_HELP_ABOUT "プログラム情報、バージョン番号、著作権を表示します"
ID_FILE_EXIT "タスク マネージャ アプリケーションを終了します"
ID_OPTIONS_SHOW16BITTASKS
"16 ビット タスクを、関連付けられた ntvdm.exe の下に表 示します"
ID_VIEW_SELECTCOLUMNS "[プロセス] ページに表 示する列を選択します"
ID_VIEW_SHOWKERNELTIMES "カーネル時間をパフォーマンス グラフ上に表 示します"
"16 ビット タスクを、関連付けられた ntvdm.exe の下に表示します"
ID_VIEW_SELECTCOLUMNS "[プロセス] ページに表示する列を選択します"
ID_VIEW_SHOWKERNELTIMES "カーネル時間をパフォーマンス グラフ上に表示します"
ID_VIEW_CPUHISTORY_ONEGRAPHALL
"1 つの履歴グラフで CPU 使用率の合計を表 示します"
ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "CPU 使用率の履歴を CPU ごとにグラフで表 示します"
"1 つの履歴グラフで CPU 使用率の合計を表示します"
ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "CPU 使用率の履歴を CPU ごとにグラフで表示します"
ID_APPLICATION_PAGE_SWITCHTO
"タスクを手前に表 示し、フォーカスを切り替えます"
"タスクを手前に表示し、フォーカスを切り替えます"
END
STRINGTABLE DISCARDABLE
@ -611,7 +611,7 @@ BEGIN
IDS_TAB_IOWRITESBYTES "I/O 書き込みバイト数"
IDS_TAB_IOOTHERBYTES "I/O その他のバイト数"
IDS_MENU_SELECTCOLUMNS "列の選択(&S)..."
IDS_MENU_16BITTASK "16 ビット タスクの表 示(&S)"
IDS_MENU_16BITTASK "16 ビット タスクの表示(&S)"
IDS_MENU_WINDOWS "ウィンドウ(&W)"
IDS_MENU_LARGEICONS "大きいアイコン(&G)"
IDS_MENU_SMALLICONS "小さいアイコン(&M)"
@ -619,19 +619,19 @@ BEGIN
IDS_MENU_ONEGRAPHALLCPUS "すべての CPU で 1 グラフ(&O)"
IDS_MENU_ONEGRAPHPERCPU "CPU ごとに 1 グラフ(&P)"
IDS_MENU_CPUHISTORY "CPU 履歴(&C)"
IDS_MENU_SHOWKERNELTIMES "カーネル時間を表 示する(&S)"
IDS_MENU_SHOWKERNELTIMES "カーネル時間を表示する(&S)"
IDS_CREATENEWTASK "新しいタスクの作成"
IDS_CREATENEWTASK_DESC "実行するプログラム名、または開くフォルダやドキュメント名、インターネット リソ ース名を入力してください。"
IDS_CREATENEWTASK_DESC "実行するプログラム名、または開くフォルダやドキュメント名、インターネット リソース名を入力してください。"
IDS_MSG_ACCESSPROCESSAFF "プロセスの関係へのアクセスまたは設定ができません"
IDS_MSG_PROCESSONEPRO "プロセスは、少なくとも 1 つのプロセッサと関係を持たなければなりません。"
IDS_MSG_INVALIDOPTION "無効なオプション"
IDS_MSG_UNABLEDEBUGPROCESS "デバッガを添付できません"
IDS_MSG_WARNINGDEBUG "警告: このプロセスをデバッグすると、データが失われる可能 性があります。\nデバッガを添付しますか?"
IDS_MSG_WARNINGDEBUG "警告: このプロセスをデバッグすると、データが失われる可能性があります。\nデバッガを添付しますか?"
IDS_MSG_TASKMGRWARNING "タスク マネージャの警告"
IDS_MSG_WARNINGTERMINATING "警告: プロセスを終了すると、データが失われたり、システムが\n不安定になったりするなどの、予 期しない結果になることがあります。\nプロセスを終了する前に、状態またはデータを保存するかどうかの\n確認メッセージは表 示されません。プロセスを終了しますか?"
IDS_MSG_WARNINGTERMINATING "警告: プロセスを終了すると、データが失われたり、システムが\n不安定になったりするなどの、予期しない結果になることがあります。\nプロセスを終了する前に、状態またはデータを保存するかどうかの\n確認メッセージは表示されません。プロセスを終了しますか?"
IDS_MSG_UNABLETERMINATEPRO "プロセスを終了できません"
IDS_MSG_UNABLECHANGEPRIORITY "優先度を変更できません"
IDS_MSG_WARNINGCHANGEPRIORITY "警告: このプロセスの優先度クラスを変更すると、システムが不安定に\nなるなど、予 期しない結果になることがあります。\n優先度クラスを変更しますか?"
IDS_MSG_WARNINGCHANGEPRIORITY "警告: このプロセスの優先度クラスを変更すると、システムが不安定に\nなるなど、予期しない結果になることがあります。\n優先度クラスを変更しますか?"
IDS_MSG_TRAYICONCPUUSAGE "CPU 使用率: %d%%"
IDS_STATUS_MEMUSAGE "メモリ使用量: %dKB / %dKB"
IDS_STATUS_CPUUSAGE "CPU 使用率: %3d%%"

View file

@ -173,7 +173,7 @@ END
IDD_TABSTOPS DIALOG 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Tabs"
FONT 8, "MS SHell DLg"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Tab stops", -1, 10, 10, 120, 90
COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE

View file

@ -1,7 +1,8 @@
/*
* Turkish Resources for Wordpad
*
* Copyright 2006 Fatih Aþýcý <fasici@linux-sevenler.org>
* Copyright 2006 Fatih Aşıcı <fasici@linux-sevenler.org>
* Copyright 2013 Erdem Ersoy (eersoy93)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -20,78 +21,78 @@
#include "wordpad.h"
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
LANGUAGE LANG_TURKISH, SUBLANG_NEUTRAL
IDM_MAINMENU MENU
BEGIN
POPUP "&Dosya"
POPUP "&Kütük"
BEGIN
MENUITEM "&Yeni...\tCtrl+N", ID_FILE_NEW
MENUITEM "&Aç...\tCtrl+O", ID_FILE_OPEN
MENUITEM "&Aç...\tCtrl+O", ID_FILE_OPEN
MENUITEM "&Kaydet\tCtrl+S", ID_FILE_SAVE
MENUITEM "&Farklý Kaydet...", ID_FILE_SAVEAS
MENUITEM "Ay&rı Kaydet...", ID_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Print...\tCtrl+P", ID_PRINT
MENUITEM "Print previe&w...", ID_PREVIEW
MENUITEM "Pag&e setup...", ID_PRINTSETUP
MENUITEM "Ya&zdır...\tCtrl+P", ID_PRINT
MENUITEM "&Baskı Önizleme...", ID_PREVIEW
MENUITEM "&Sayfa Yapısı...", ID_PRINTSETUP
MENUITEM SEPARATOR
MENUITEM "&Çýk", ID_FILE_EXIT
MENUITEM "&Çıkış", ID_FILE_EXIT
END
POPUP "&Düzen"
POPUP "&Düzen"
BEGIN
MENUITEM "&Geri Al\tCtrl+Z", ID_EDIT_UNDO
MENUITEM "&Yinele\tCtrl+Y", ID_EDIT_REDO
MENUITEM SEPARATOR
MENUITEM "Ke&s\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Kopyala\tCtrl+C", ID_EDIT_COPY
MENUITEM "Ya&pýþtýr\tCtrl+V", ID_EDIT_PASTE
MENUITEM "&Kes\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Çoğalt\tCtrl+C", ID_EDIT_COPY
MENUITEM "Ya&pıştır\tCtrl+V", ID_EDIT_PASTE
MENUITEM "&Sil\tDel", ID_EDIT_CLEAR
MENUITEM "&Tümünü seç\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM "&Tümünü Seç\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Find...\tCtrl+F", ID_FIND
MENUITEM "Find &next\tF3", ID_FIND_NEXT
MENUITEM "&Replace...\tCtrl+H", ID_REPLACE
MENUITEM "&Ara\tCtrl+F", ID_FIND
MENUITEM "S&onrakini Ara\tF3", ID_FIND_NEXT
MENUITEM "&Değiştir...\tCtrl+H", ID_REPLACE
MENUITEM SEPARATOR
MENUITEM "Salt-&okunur", ID_EDIT_READONLY
MENUITEM "&Deðiþmiþ", ID_EDIT_MODIFIED
MENUITEM "Sa&lt Okunur", ID_EDIT_READONLY
MENUITEM "D&eğiştirilmiş", ID_EDIT_MODIFIED
MENUITEM SEPARATOR
POPUP "D&iðerleri"
POPUP "D&iğer Seçenekler"
BEGIN
MENUITEM "Seçim &bilgisi", ID_EDIT_SELECTIONINFO
MENUITEM "Karakter bi&çimi", ID_EDIT_CHARFORMAT
MENUITEM "&Öntanýmlý kar. biçimi", ID_EDIT_DEFCHARFORMAT
MENUITEM "Paragra&f biçimi", ID_EDIT_PARAFORMAT
MENUITEM "&Metni al", ID_EDIT_GETTEXT
MENUITEM "&Seçim Bilgisi", ID_EDIT_SELECTIONINFO
MENUITEM "&Damga Biçimi", ID_EDIT_CHARFORMAT
MENUITEM "&Öntanımlı Damga Biçimi", ID_EDIT_DEFCHARFORMAT
MENUITEM "&Paragraf Biçimi", ID_EDIT_PARAFORMAT
MENUITEM "&Metni Al", ID_EDIT_GETTEXT
END
END
POPUP "&View"
POPUP "&Görünüm"
BEGIN
MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
MENUITEM "&Formatbar", ID_TOGGLE_FORMATBAR
MENUITEM "&Ruler", ID_TOGGLE_RULER
MENUITEM "&Statusbar", ID_TOGGLE_STATUSBAR
MENUITEM "&Araç Çubuğu", ID_TOGGLE_TOOLBAR
MENUITEM "&Biçim Çubuğu", ID_TOGGLE_FORMATBAR
MENUITEM "&Çizgilik", ID_TOGGLE_RULER
MENUITEM "&Durum Çubuğu", ID_TOGGLE_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "&Options...", ID_VIEWPROPERTIES
MENUITEM "A&yarlar...", ID_VIEWPROPERTIES
END
POPUP "&Insert"
POPUP "&Ekle"
BEGIN
MENUITEM "&Date and time...", ID_DATETIME
MENUITEM "&Tarih veya Saat...",ID_DATETIME
END
POPUP "&Biçim"
POPUP "&Biçim"
BEGIN
MENUITEM "&Font...", ID_FONTSETTINGS
MENUITEM "&Bullet points", ID_BULLET
MENUITEM "&Paragraph...", ID_PARAFORMAT
MENUITEM "&Tabs...", ID_TABSTOPS
MENUITEM "&Yazı Türü...", ID_FONTSETTINGS
MENUITEM "&Madde İmi", ID_BULLET
MENUITEM "&Paragraf...", ID_PARAFORMAT
MENUITEM "&Sekmeler...", ID_TABSTOPS
POPUP "&Arkaplan"
BEGIN
MENUITEM "S&istem\tCtrl+1", ID_BACK_1
MENUITEM "&Sarýmtýrak\tCtrl+2", ID_BACK_2
MENUITEM "&Dizge Rengi\tCtrl+1", ID_BACK_1
MENUITEM "&Sarımtırak\tCtrl+2", ID_BACK_2
END
END
POPUP "&Help"
POPUP "&Yardım"
BEGIN
MENUITEM "&About Wine Wordpad", ID_ABOUT
MENUITEM "&Hakkında", ID_ABOUT
END
END
@ -99,12 +100,12 @@ IDM_POPUP MENU
BEGIN
POPUP ""
BEGIN
MENUITEM "Ke&s", ID_EDIT_CUT
MENUITEM "&Kopyala", ID_EDIT_COPY
MENUITEM "Ya&pýþtýr", ID_EDIT_PASTE
MENUITEM "&Kes", ID_EDIT_CUT
MENUITEM "&Çoğalt", ID_EDIT_COPY
MENUITEM "&Yapıştır", ID_EDIT_PASTE
MENUITEM SEPARATOR
MENUITEM "&Bullet points", ID_BULLET
MENUITEM "&Paragraph...", ID_PARAFORMAT
MENUITEM "&Madde İmi", ID_BULLET
MENUITEM "&Paragraf...", ID_PARAFORMAT
END
END
@ -112,22 +113,154 @@ IDM_COLOR_POPUP MENU
BEGIN
POPUP ""
BEGIN
MENUITEM "Siyah", ID_COLOR_BLACK
MENUITEM "Koyu Kýrmýzý",ID_COLOR_MAROON
MENUITEM "Yeþil", ID_COLOR_GREEN
MENUITEM "Koyu Sarý", ID_COLOR_OLIVE
MENUITEM "Koyu Mavi", ID_COLOR_NAVY
MENUITEM "Mor", ID_COLOR_PURPLE
MENUITEM "Deniz Mavisi",ID_COLOR_TEAL
MENUITEM "Gri", ID_COLOR_GRAY
MENUITEM "Gümüþ", ID_COLOR_SILVER
MENUITEM "Kýrmýzý", ID_COLOR_RED
MENUITEM "Parlak Yeþil",ID_COLOR_LIME
MENUITEM "Sarý", ID_COLOR_YELLOW
MENUITEM "Mavi", ID_COLOR_BLUE
MENUITEM "Pembe", ID_COLOR_FUCHSIA
MENUITEM "Turkuaz", ID_COLOR_AQUA
MENUITEM "Beyaz", ID_COLOR_WHITE
MENUITEM "Automatic", ID_COLOR_AUTOMATIC
MENUITEM "Kara", ID_COLOR_BLACK
MENUITEM "Vişne Çürüğü", ID_COLOR_MAROON
MENUITEM "Yeşil", ID_COLOR_GREEN
MENUITEM "Zeytinyağı", ID_COLOR_OLIVE
MENUITEM "Deniz Mavisi", ID_COLOR_NAVY
MENUITEM "Mor", ID_COLOR_PURPLE
MENUITEM "Çamurcun", ID_COLOR_TEAL
MENUITEM "Kül Rengi", ID_COLOR_GRAY
MENUITEM "Gümüş", ID_COLOR_SILVER
MENUITEM "Al", ID_COLOR_RED
MENUITEM "Misket limonu", ID_COLOR_LIME
MENUITEM "Sarı", ID_COLOR_YELLOW
MENUITEM "Mavi", ID_COLOR_BLUE
MENUITEM "Küpe Çiçeği", ID_COLOR_FUCHSIA
MENUITEM "Turkuaz", ID_COLOR_AQUA
MENUITEM "Beyaz", ID_COLOR_WHITE
MENUITEM "Dizge Rengi", ID_COLOR_AUTOMATIC
END
END
IDD_DATETIME DIALOG 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Zaman"
FONT 10, "MS Sans Serif"
BEGIN
LTEXT "Var Olan Biçimler:",-1,3,2,100,15
LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
PUSHBUTTON "&Tamam",IDOK,87,12,40,12
PUSHBUTTON "&Vazgeç",IDCANCEL,87,26,40,12
END
IDD_NEWFILE DIALOG 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Yeni"
FONT 10, "MS Sans Serif"
BEGIN
LTEXT "Yeni belge türü:",-1,3,2,100,15
LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "&Tamam",IDOK,97,12,40,12
PUSHBUTTON "&Vazgeç",IDCANCEL,97,26,40,12
END
IDD_PARAFORMAT DIALOG 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Paragraf Düzeni"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Pay", -1, 10, 10, 120, 68
LTEXT "Sol", -1, 15, 22, 40, 13
EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
LTEXT "Sağ", -1, 15, 40, 40, 13
EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
LTEXT "İlk satır", -1, 15, 58, 40, 13
EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
LTEXT "Hizâlama", -1, 15, 87, 40, 13
COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
PUSHBUTTON "&Tamam", IDOK, 137, 15, 50, 15
PUSHBUTTON "&Vazgeç", IDCANCEL, 137, 33, 50, 15
END
IDD_TABSTOPS DIALOG 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Sekmeler"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Sekme Durakları", -1, 10, 10, 120, 90
COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
DEFPUSHBUTTON "&Ekle", ID_TAB_ADD, 20, 80, 45, 15
PUSHBUTTON "&Sil", ID_TAB_DEL, 72, 80, 45, 15
PUSHBUTTON "&Tamam", IDOK, 137, 15, 50, 15
PUSHBUTTON "&Vazgeç", IDCANCEL, 137, 33, 50, 15
PUSHBUTTON "&Hepsini Sil", ID_TAB_EMPTY, 137, 51, 50, 15
END
IDD_FORMATOPTS DIALOG 0, 0, 280, 110
STYLE DS_SYSMODAL
CAPTION ""
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Satır Kaydırma", -1, 10, 10, 130, 85
RADIOBUTTON "&Kaydırma yok", IDC_PAGEFMT_WN, 18, 25, 117, 15
RADIOBUTTON "&Pencere kenarlığına kadar", IDC_PAGEFMT_WW, 18, 45, 117, 15
RADIOBUTTON "&Çizgiliğe kadar", IDC_PAGEFMT_WM, 18, 65, 117, 15
GROUPBOX "Çubuklar", -1, 150, 10, 120, 85
CHECKBOX "&Araç Çubuğu", IDC_PAGEFMT_TB, 160, 20, 80, 15
CHECKBOX "&Biçim Çubuğu", IDC_PAGEFMT_FB, 160, 38, 80, 15
CHECKBOX "Ç&izgilik", IDC_PAGEFMT_RU, 160, 56, 80, 15
CHECKBOX "&Durum Çubuğu", IDC_PAGEFMT_SB, 160, 74, 80, 15
LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END
STRINGTABLE
BEGIN
STRING_ALL_FILES, "Tüm Kütükler (*.*)"
STRING_TEXT_FILES_TXT, "Metin Belgeleri (*.txt)"
STRING_TEXT_FILES_UNICODE_TXT, "Unicode Metin Belgeleri (*.txt)"
STRING_RICHTEXT_FILES_RTF, "Zengin Metin Belgeleri (*.rtf)"
STRING_NEWFILE_RICHTEXT, "Zengin Metin Belgesi"
STRING_NEWFILE_TXT, "Metin Belgesi"
STRING_NEWFILE_TXT_UNICODE, "Unicode Metin Belgesi"
STRING_PRINTER_FILES_PRN, "Yazıcı Dosyaları (*.PRN)"
END
STRINGTABLE
BEGIN
STRING_ALIGN_LEFT, "Sol"
STRING_ALIGN_RIGHT, "Sağ"
STRING_ALIGN_CENTER, "Orta"
END
STRINGTABLE
BEGIN
STRING_VIEWPROPS_TITLE, "Ayarlar"
STRING_VIEWPROPS_TEXT, "Metin"
STRING_VIEWPROPS_RICHTEXT, "Zengin Metin"
END
STRINGTABLE
BEGIN
STRING_PREVIEW_PRINT, "Yazdır"
STRING_PREVIEW_NEXTPAGE, "Sonraki Sayfa"
STRING_PREVIEW_PREVPAGE, "Önceki Sayfa"
STRING_PREVIEW_TWOPAGES, "İkili"
STRING_PREVIEW_ONEPAGE, "Tekli"
STRING_PREVIEW_ZOOMIN, "Yakınlaştır"
STRING_PREVIEW_ZOOMOUT, "Uzaklaştır"
STRING_PREVIEW_CLOSE, "Tamam"
STRING_PREVIEW_PAGE, "Sayfa"
STRING_PREVIEW_PAGES, "Sayfalar"
STRING_UNITS_CM, "cm"
STRING_UNITS_IN, "in"
STRING_UNITS_INCH, "inç"
STRING_UNITS_PT, "pt"
END
STRINGTABLE
BEGIN
STRING_DEFAULT_FILENAME, "Adsız"
STRING_PROMPT_SAVE_CHANGES, "'%s' için değişiklikler kaydedilsin mi?"
STRING_SEARCH_FINISHED, "Belge araması tamamlandı."
STRING_LOAD_RICHED_FAILED, "Zengin metin kitaplığının yüklenmesi başarısız oldu."
STRING_SAVE_LOSEFORMATTING, "Eğer düz metin belgesi olarak kaydedilirse yapılan tüm değişiklikler kaybolacak. Devam etmek istiyor musunuz?"
STRING_INVALID_NUMBER, "Geçersiz sayı biçimi."
STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE içeren belgeler desteklenmiyor."
STRING_WRITE_FAILED, "Belgenin kaydedilmesi başarısız oldu."
STRING_WRITE_ACCESS_DENIED, "Bu kütüğü kaydetme yetkiniz yok."
STRING_OPEN_FAILED, "Belgenin açılması başarısız oldu."
STRING_OPEN_ACCESS_DENIED, "Bu kütüğü açma yetkiniz yok."
STRING_PRINTING_NOT_IMPLEMENTED, "Yazdırma seçeneği daha tamamlanmadı."
STRING_MAX_TAB_STOPS, "En fazla 32 adet sekme durağı ekleyebilirsiniz."
END

View file

@ -77,9 +77,6 @@ IDC_ZOOM CURSOR "zoom.cur"
#ifdef LANGUAGE_PL_PL
#include "Pl.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "Tr.rc"
#endif
/* UTF-8 */
#ifdef LANGUAGE_DA_DK
@ -124,6 +121,9 @@ IDC_ZOOM CURSOR "zoom.cur"
#ifdef LANGUAGE_SV_SE
#include "Sv.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "Tr.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "Uk.rc"
#endif

View file

@ -1,7 +1,7 @@
/*
* Copyright 2005
* Turkish language support
*
* Stefan Leichter
* Copyright (C) 2013 Erdem Ersoy (eersoy93)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -18,10 +18,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define WINE_FILENAME_STR "urlmon.dll"
#define WINE_FILEVERSION 6,0,2800,1485
#define WINE_FILEVERSION_STR "6.0.2800.1485"
#define WINE_PRODUCTVERSION 6,0,2800,1485
#define WINE_PRODUCTVERSION_STR "6.0.2800.1485"
#include "resources.h"
#include "wine/wine_common_ver.rc"
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
{
IDS_FAILED, "Zengin Metin Düzenleyicisi'nin açılması başarısız oldu."
}

View file

@ -84,6 +84,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef LANGUAGE_SR_SP
#include "Sr.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "Tr.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "Uk.rc"
#endif

View file

@ -377,11 +377,15 @@ INT cmd_copy(LPTSTR param)
if (size > 512)
{
TCHAR *old_evar = evar;
evar = cmd_realloc(evar,size * sizeof(TCHAR) );
if (evar!=NULL)
size = GetEnvironmentVariable (_T("COPYCMD"), evar, size);
else
{
size=0;
evar = old_evar;
}
}
/* check see if we did get any env variable */

View file

@ -83,7 +83,7 @@ INT CommandEcho (LPTSTR param)
{
/* skip the first character */
ConOutPuts(param + 1);
ConOutPuts(_T("\n"));
ConOutPuts(_T("\r\n"));
}
return 0;
}

View file

@ -491,10 +491,16 @@ int __cdecl compare(const void *arg1,const void *arg2)
INT ret;
File1 = cmd_alloc(sizeof(FileName));
File2 = cmd_alloc(sizeof(FileName));
if(!File1 || !File2)
if (!File1)
return 0;
File2 = cmd_alloc(sizeof(FileName));
if(!File2)
{
cmd_free(File1);
return 0;
}
memcpy(File1,arg1,sizeof(FileName));
memcpy(File2,arg2,sizeof(FileName));
@ -660,14 +666,16 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
/* aseemble a list of all files names */
do
{
FileName * oldFileList = FileList;
if(!_tcscmp (file.cFileName, _T(".")) ||
!_tcscmp (file.cFileName, _T("..")))
continue;
/* Don't show files when they are doing 'cd' or 'rd' */
if(!ShowAll &&
file.dwFileAttributes != 0xFFFFFFFF &&
!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
file.dwFileAttributes != 0xFFFFFFFF &&
!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
continue;
}
@ -677,6 +685,8 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
if(FileList == NULL)
{
/* Don't leak old buffer */
cmd_free(oldFileList);
/* Assemble the orginal string and return */
_tcscpy(strOut,szOrginal);
FindClose(hFile);
@ -688,7 +698,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
} while(FindNextFile(hFile,&file));
FindClose(hFile);
FindClose(hFile);
/* Check the size of the list to see if we
found any matches */

View file

@ -4,9 +4,9 @@ BEGIN
IDS_UsageMessage, "%s\n\n使用法: regsvr32 [/u] [/s] [/c] [/n] [/i[:コマンド ライン]] DLL名\n\
/u - サーバーを登録解除する\n\
/s - サイレント; メッセージ ボックスを表 示しない\n\
/c - コンソ ール出力\n\
/i - 省略可能 な [コマンド ライン] を引数として DllInstall を呼び出す; /u と併用した場合は dll uninstall を呼び出す\n\
/s - サイレント; メッセージ ボックスを表示しない\n\
/c - コンソール出力\n\
/i - 省略可能な [コマンド ライン] を引数として DllInstall を呼び出す; /u と併用した場合は dll uninstall を呼び出す\n\
/n - DllRegisterServer を呼び出さない; このオプションは /i と併用する必要がある"
IDS_NoDllSpecified, "DLL 名が指定されていません。"
@ -18,7 +18,7 @@ IDS_SwitchN_NoI, "フラグを認識できません: /n を指定する場
IDS_DllNotLoaded, "LoadLibrary('%s') に失敗しました。\nGetLastError は 0x%08x を返しました。"
IDS_MissingEntry, "%s を読み込みましたが、%s エントリ ポイントが見つかりませんでした。\n\n\
%s はエクスポートされていないか、%s の不正なバージョンがメモリ上にある可能 性があります。検出や削除をするため、PView の使用を検討してください。"
%s はエクスポートされていないか、%s の不正なバージョンがメモリ上にある可能性があります。検出や削除をするため、PView の使用を検討してください。"
IDS_FailureMessage, "%s (%s の) に失敗しました。\n返ってきたコード: 0x%08x"

View file

@ -19,9 +19,9 @@
/*
* Uncomment the line below to start services
* using the SERVICE_START_PENDING state
* using the SERVICE_START_PENDING state.
*/
// #define USE_SERVICE_START_PENDING
#define USE_SERVICE_START_PENDING
/*
* Uncomment the line below to use asynchronous IO operations
@ -38,6 +38,7 @@ LIST_ENTRY ServiceListHead;
static RTL_RESOURCE DatabaseLock;
static DWORD ResumeCount = 1;
/* The critical section synchronizes service controls commands */
static CRITICAL_SECTION ControlServiceCriticalSection;
static DWORD PipeTimeout = 30000; /* 30 Seconds */
@ -359,7 +360,7 @@ ScmGetServiceEntryByResumeCount(DWORD dwResumeCount)
DWORD
ScmCreateNewServiceRecord(LPCWSTR lpServiceName,
PSERVICE *lpServiceRecord)
PSERVICE* lpServiceRecord)
{
PSERVICE lpService = NULL;
@ -772,13 +773,11 @@ ScmCheckDriver(PSERVICE Service)
if (Service->Status.dwServiceType == SERVICE_KERNEL_DRIVER)
{
RtlInitUnicodeString(&DirName,
L"\\Driver");
RtlInitUnicodeString(&DirName, L"\\Driver");
}
else
else // if (Service->Status.dwServiceType == SERVICE_FILE_SYSTEM_DRIVER)
{
RtlInitUnicodeString(&DirName,
L"\\FileSystem");
RtlInitUnicodeString(&DirName, L"\\FileSystem");
}
InitializeObjectAttributes(&ObjectAttributes,
@ -796,7 +795,7 @@ ScmCheckDriver(PSERVICE Service)
}
BufferLength = sizeof(OBJECT_DIRECTORY_INFORMATION) +
2 * MAX_PATH * sizeof(WCHAR);
2 * MAX_PATH * sizeof(WCHAR);
DirInfo = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
BufferLength);
@ -1096,7 +1095,7 @@ Done:
static DWORD
ScmSendStartCommand(PSERVICE Service,
DWORD argc,
LPWSTR *argv)
LPWSTR* argv)
{
PSCM_CONTROL_PACKET ControlPacket;
SCM_REPLY_PACKET ReplyPacket;
@ -1496,7 +1495,7 @@ ScmWaitForServiceConnect(PSERVICE Service)
static DWORD
ScmStartUserModeService(PSERVICE Service,
DWORD argc,
LPWSTR *argv)
LPWSTR* argv)
{
PROCESS_INFORMATION ProcessInformation;
STARTUPINFOW StartupInfo;
@ -1512,6 +1511,7 @@ ScmStartUserModeService(PSERVICE Service,
return ScmSendStartCommand(Service, argc, argv);
}
/* Otherwise start its process */
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
@ -1551,9 +1551,7 @@ ScmStartUserModeService(PSERVICE Service,
if (dwError == ERROR_SUCCESS)
{
/* Send start command */
dwError = ScmSendStartCommand(Service,
argc,
argv);
dwError = ScmSendStartCommand(Service, argc, argv);
}
else
{
@ -1569,24 +1567,22 @@ ScmStartUserModeService(PSERVICE Service,
}
DWORD
ScmStartService(PSERVICE Service, DWORD argc, LPWSTR *argv)
static DWORD
ScmLoadService(PSERVICE Service,
DWORD argc,
LPWSTR* argv)
{
PSERVICE_GROUP Group = Service->lpGroup;
DWORD dwError = ERROR_SUCCESS;
LPCWSTR ErrorLogStrings[2];
WCHAR szErrorBuffer[32];
DPRINT("ScmStartService() called\n");
DPRINT("ScmLoadService() called\n");
DPRINT("Start Service %p (%S)\n", Service, Service->lpServiceName);
EnterCriticalSection(&ControlServiceCriticalSection);
if (Service->Status.dwCurrentState != SERVICE_STOPPED)
{
DPRINT("Service %S is already running!\n", Service->lpServiceName);
LeaveCriticalSection(&ControlServiceCriticalSection);
return ERROR_SERVICE_ALREADY_RUNNING;
}
@ -1602,7 +1598,7 @@ ScmStartService(PSERVICE Service, DWORD argc, LPWSTR *argv)
Service->Status.dwCurrentState = SERVICE_RUNNING;
}
}
else
else // if (Service->Status.dwServiceType & (SERVICE_WIN32 | SERVICE_INTERACTIVE_PROCESS))
{
/* Start user-mode service */
dwError = ScmCreateOrReferenceServiceImage(Service);
@ -1625,9 +1621,7 @@ ScmStartService(PSERVICE Service, DWORD argc, LPWSTR *argv)
}
}
LeaveCriticalSection(&ControlServiceCriticalSection);
DPRINT("ScmStartService() done (Error %lu)\n", dwError);
DPRINT("ScmLoadService() done (Error %lu)\n", dwError);
if (dwError == ERROR_SUCCESS)
{
@ -1677,18 +1671,81 @@ ScmStartService(PSERVICE Service, DWORD argc, LPWSTR *argv)
}
DWORD
ScmStartService(PSERVICE Service,
DWORD argc,
LPWSTR* argv)
{
DWORD dwError = ERROR_SUCCESS;
SC_RPC_LOCK Lock = NULL;
DPRINT("ScmStartService() called\n");
DPRINT("Start Service %p (%S)\n", Service, Service->lpServiceName);
/* Acquire the service control critical section, to synchronize starts */
EnterCriticalSection(&ControlServiceCriticalSection);
/*
* Acquire the user service start lock while the service is starting, if
* needed (i.e. if we are not starting it during the initialization phase).
* If we don't success, bail out.
*/
if (!ScmInitialize)
{
dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
if (dwError != ERROR_SUCCESS) goto done;
}
/* Really start the service */
dwError = ScmLoadService(Service, argc, argv);
/* Release the service start lock, if needed, and the critical section */
if (Lock) ScmReleaseServiceStartLock(&Lock);
done:
LeaveCriticalSection(&ControlServiceCriticalSection);
DPRINT("ScmStartService() done (Error %lu)\n", dwError);
return dwError;
}
VOID
ScmAutoStartServices(VOID)
{
DWORD dwError = ERROR_SUCCESS;
SC_RPC_LOCK Lock = NULL;
PLIST_ENTRY GroupEntry;
PLIST_ENTRY ServiceEntry;
PSERVICE_GROUP CurrentGroup;
PSERVICE CurrentService;
WCHAR szSafeBootServicePath[MAX_PATH];
DWORD dwError;
HKEY hKey;
ULONG i;
/* Acquire the service control critical section, to synchronize starts */
EnterCriticalSection(&ControlServiceCriticalSection);
/*
* Acquire the user service start lock while the service is starting, if
* needed (i.e. if we are not starting it during the initialization phase).
* If we don't success, bail out.
*/
if (!ScmInitialize)
{
/*
* Actually this code is never executed since we are called
* at initialization time, so that ScmInitialize == TRUE.
* But keep the code here if someday we are called later on
* for whatever reason...
*/
dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
if (dwError != ERROR_SUCCESS) goto done;
}
/* Clear 'ServiceVisited' flag (or set if not to start in Safe Mode) */
ServiceEntry = ServiceListHead.Flink;
while (ServiceEntry != &ServiceListHead)
@ -1779,7 +1836,7 @@ ScmAutoStartServices(VOID)
(CurrentService->dwTag == CurrentGroup->TagArray[i]))
{
CurrentService->ServiceVisited = TRUE;
ScmStartService(CurrentService, 0, NULL);
ScmLoadService(CurrentService, 0, NULL);
}
ServiceEntry = ServiceEntry->Flink;
@ -1797,7 +1854,7 @@ ScmAutoStartServices(VOID)
(CurrentService->ServiceVisited == FALSE))
{
CurrentService->ServiceVisited = TRUE;
ScmStartService(CurrentService, 0, NULL);
ScmLoadService(CurrentService, 0, NULL);
}
ServiceEntry = ServiceEntry->Flink;
@ -1817,7 +1874,7 @@ ScmAutoStartServices(VOID)
(CurrentService->ServiceVisited == FALSE))
{
CurrentService->ServiceVisited = TRUE;
ScmStartService(CurrentService, 0, NULL);
ScmLoadService(CurrentService, 0, NULL);
}
ServiceEntry = ServiceEntry->Flink;
@ -1834,7 +1891,7 @@ ScmAutoStartServices(VOID)
(CurrentService->ServiceVisited == FALSE))
{
CurrentService->ServiceVisited = TRUE;
ScmStartService(CurrentService, 0, NULL);
ScmLoadService(CurrentService, 0, NULL);
}
ServiceEntry = ServiceEntry->Flink;
@ -1848,6 +1905,13 @@ ScmAutoStartServices(VOID)
CurrentService->ServiceVisited = FALSE;
ServiceEntry = ServiceEntry->Flink;
}
/* Release the service start lock, if needed, and the critical section */
if (Lock) ScmReleaseServiceStartLock(&Lock);
done:
LeaveCriticalSection(&ControlServiceCriticalSection);
}

View file

@ -2895,7 +2895,6 @@ DWORD RStartServiceW(
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL;
SC_RPC_LOCK Lock = NULL;
#ifndef NDEBUG
DWORD i;
@ -2941,17 +2940,9 @@ DWORD RStartServiceW(
if (lpService->bDeleted)
return ERROR_SERVICE_MARKED_FOR_DELETE;
/* Acquire the service start lock until the service has been started */
dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
if (dwError != ERROR_SUCCESS)
return dwError;
/* Start the service */
dwError = ScmStartService(lpService, argc, (LPWSTR*)argv);
/* Release the service start lock */
ScmReleaseServiceStartLock(&Lock);
return dwError;
}
@ -4171,7 +4162,6 @@ DWORD RStartServiceA(
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL;
SC_RPC_LOCK Lock = NULL;
LPWSTR *lpVector = NULL;
DWORD i;
DWORD dwLength;
@ -4244,17 +4234,9 @@ DWORD RStartServiceA(
}
}
/* Acquire the service start lock until the service has been started */
dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
if (dwError != ERROR_SUCCESS)
goto done;
/* Start the service */
dwError = ScmStartService(lpService, argc, lpVector);
/* Release the service start lock */
ScmReleaseServiceStartLock(&Lock);
done:
/* Free the Unicode argument vector */
if (lpVector != NULL)

View file

@ -22,6 +22,12 @@ int WINAPI RegisterServicesProcess(DWORD ServicesProcessId);
#define PIPE_BUFSIZE 1024
#define PIPE_TIMEOUT 1000
/* Defined in include/reactos/services/services.h */
// #define SCM_START_EVENT L"SvcctrlStartEvent_A3752DX"
#define SCM_AUTOSTARTCOMPLETE_EVENT L"SC_AutoStartComplete"
#define LSA_RPC_SERVER_ACTIVE L"LSA_RPC_SERVER_ACTIVE"
BOOL ScmInitialize = FALSE;
BOOL ScmShutdown = FALSE;
static HANDLE hScmShutdownEvent = NULL;
@ -77,35 +83,38 @@ ScmLogError(DWORD dwEventId,
BOOL
ScmCreateStartEvent(PHANDLE StartEvent)
ScmCreateControlEvent(PHANDLE Event,
LPCWSTR Name,
DWORD dwDesiredAccess)
{
/*
* This function creates a generic non-inheritable event
* and return a handle to the caller. The caller must
* close this handle afterwards.
*/
HANDLE hEvent;
hEvent = CreateEventW(NULL,
TRUE,
FALSE,
L"SvcctrlStartEvent_A3752DX");
hEvent = CreateEventW(NULL, TRUE, FALSE, Name);
if (hEvent == NULL)
{
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
hEvent = OpenEventW(EVENT_ALL_ACCESS,
FALSE,
L"SvcctrlStartEvent_A3752DX");
if (hEvent == NULL)
{
return FALSE;
}
}
else
{
return FALSE;
hEvent = OpenEventW(dwDesiredAccess, FALSE, Name);
}
}
*StartEvent = hEvent;
return TRUE;
if (hEvent)
{
DPRINT("SERVICES: Created event %S with handle %x\n", Name, hEvent);
*Event = hEvent;
return TRUE;
}
else
{
DPRINT1("SERVICES: Failed to create event %S (Error %lu)\n", Name, GetLastError());
return FALSE;
}
}
@ -113,35 +122,21 @@ VOID
ScmWaitForLsa(VOID)
{
HANDLE hEvent;
DWORD dwError;
hEvent = CreateEventW(NULL,
TRUE,
FALSE,
L"LSA_RPC_SERVER_ACTIVE");
if (hEvent == NULL)
if (!ScmCreateControlEvent(&hEvent,
LSA_RPC_SERVER_ACTIVE,
SYNCHRONIZE))
{
dwError = GetLastError();
DPRINT1("Failed to create the notication event (Error %lu)\n", dwError);
if (dwError == ERROR_ALREADY_EXISTS)
{
hEvent = OpenEventW(SYNCHRONIZE,
FALSE,
L"LSA_RPC_SERVER_ACTIVE");
if (hEvent == NULL)
{
DPRINT1("Could not open the notification event (Error %lu)\n", GetLastError());
return;
}
}
DPRINT1("Failed to create the notification event (Error %lu)\n", GetLastError());
}
else
{
DPRINT("Wait for the LSA server!\n");
WaitForSingleObject(hEvent, INFINITE);
DPRINT("LSA server running!\n");
DPRINT("Wait for the LSA server!\n");
WaitForSingleObject(hEvent, INFINITE);
DPRINT("LSA server running!\n");
CloseHandle(hEvent);
CloseHandle(hEvent);
}
DPRINT("ScmWaitForLsa() done\n");
}
@ -351,23 +346,38 @@ wWinMain(HINSTANCE hInstance,
int nShowCmd)
{
HANDLE hScmStartEvent = NULL;
HANDLE hScmAutoStartCompleteEvent = NULL;
SC_RPC_LOCK Lock = NULL;
BOOL bCanDeleteNamedPipeCriticalSection = FALSE;
DWORD dwError;
DPRINT("SERVICES: Service Control Manager\n");
/* Create start event */
if (!ScmCreateStartEvent(&hScmStartEvent))
/* We are initializing ourselves */
ScmInitialize = TRUE;
/* Create the start event */
if (!ScmCreateControlEvent(&hScmStartEvent,
SCM_START_EVENT,
EVENT_ALL_ACCESS))
{
DPRINT1("SERVICES: Failed to create start event\n");
DPRINT1("SERVICES: Failed to create the start event\n");
goto done;
}
DPRINT("SERVICES: Created start event with handle %p.\n", hScmStartEvent);
DPRINT("SERVICES: created start event with handle %p.\n", hScmStartEvent);
/* Create the auto-start complete event */
if (!ScmCreateControlEvent(&hScmAutoStartCompleteEvent,
SCM_AUTOSTARTCOMPLETE_EVENT,
EVENT_ALL_ACCESS))
{
DPRINT1("SERVICES: Failed to create the auto-start complete event\n");
goto done;
}
DPRINT("SERVICES: created auto-start complete event with handle %p.\n", hScmAutoStartCompleteEvent);
/* Create the shutdown event */
hScmShutdownEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
hScmShutdownEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
if (hScmShutdownEvent == NULL)
{
DPRINT1("SERVICES: Failed to create shutdown event\n");
@ -385,7 +395,7 @@ wWinMain(HINSTANCE hInstance,
/* Read the control set values */
if (!ScmGetControlSetValues())
{
DPRINT1("SERVICES: failed to read the control set values\n");
DPRINT1("SERVICES: Failed to read the control set values\n");
goto done;
}
@ -393,50 +403,59 @@ wWinMain(HINSTANCE hInstance,
dwError = ScmCreateServiceDatabase();
if (dwError != ERROR_SUCCESS)
{
DPRINT1("SERVICES: failed to create SCM database (Error %lu)\n", dwError);
DPRINT1("SERVICES: Failed to create SCM database (Error %lu)\n", dwError);
goto done;
}
/* Wait for the LSA server */
ScmWaitForLsa();
/* Update the services database */
ScmGetBootAndSystemDriverState();
/* Register the Service Control Manager process with CSRSS */
/* Register the Service Control Manager process with the ReactOS Subsystem */
if (!RegisterServicesProcess(GetCurrentProcessId()))
{
DPRINT1("SERVICES: Could not register SCM process\n");
goto done;
}
/* Acquire the service start lock until autostart services have been started */
/*
* Acquire the user service start lock until
* auto-start services have been started.
*/
dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("SERVICES: failed to acquire the service start lock (Error %lu)\n", dwError);
DPRINT1("SERVICES: Failed to acquire the service start lock (Error %lu)\n", dwError);
goto done;
}
/* Start the RPC server */
ScmStartRpcServer();
DPRINT("SERVICES: Initialized.\n");
/* Signal start event */
SetEvent(hScmStartEvent);
DPRINT("SERVICES: Initialized.\n");
/* Register event handler (used for system shutdown) */
SetConsoleCtrlHandler(ShutdownHandlerRoutine, TRUE);
/* Wait for the LSA server */
ScmWaitForLsa();
/* Start auto-start services */
ScmAutoStartServices();
/* Signal auto-start complete event */
SetEvent(hScmAutoStartCompleteEvent);
/* FIXME: more to do ? */
/* Release the service start lock */
ScmReleaseServiceStartLock(&Lock);
/* Initialization finished */
ScmInitialize = FALSE;
DPRINT("SERVICES: Running.\n");
/* Wait until the shutdown event gets signaled */
@ -451,6 +470,10 @@ done:
if (hScmShutdownEvent != NULL)
CloseHandle(hScmShutdownEvent);
/* Close the auto-start complete event */
if (hScmAutoStartCompleteEvent != NULL)
CloseHandle(hScmAutoStartCompleteEvent);
/* Close the start event */
if (hScmStartEvent != NULL)
CloseHandle(hScmStartEvent);
@ -458,7 +481,6 @@ done:
DPRINT("SERVICES: Finished.\n");
ExitThread(0);
return 0;
}

View file

@ -86,6 +86,7 @@ typedef struct _START_LOCK
extern LIST_ENTRY ServiceListHead;
extern LIST_ENTRY GroupListHead;
extern LIST_ENTRY ImageListHead;
extern BOOL ScmInitialize;
extern BOOL ScmShutdown;

View file

@ -3,10 +3,10 @@ add_subdirectory(packages)
#common hives
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls.inf DESTINATION reactos NO_CAB NAME_ON_CD hivecls.inf FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef.inf DESTINATION reactos NO_CAB NAME_ON_CD hivedef.inf FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesft.inf FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls.inf DESTINATION reactos NO_CAB FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef.inf DESTINATION reactos NO_CAB FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft.inf DESTINATION reactos NO_CAB FOR bootcd regtest)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys.inf DESTINATION reactos NO_CAB FOR bootcd regtest)
# livecd hives
list(APPEND CD_HIVES

View file

@ -92,6 +92,8 @@ HKCU,"Control Panel\Desktop\WindowMetrics","MenuWidth",2,"18"
HKCU,"Control Panel\Desktop\WindowMetrics","MenuHeight",2,"18"
HKCU,"Control Panel\Desktop\WindowMetrics","BorderWidth",2,"1"
HKCU,"Control Panel\Desktop\WindowMetrics","Shell Icon Size",2,"32"
HKCU,"Control Panel\Desktop\WindowMetrics","IconSpacing",2,"75"
HKCU,"Control Panel\Desktop\WindowMetrics","IconVerticalspacing",2,"75"
HKCU, "Control Panel\Desktop\WindowMetrics","CaptionFont",0x00000001,f5,ff,ff,ff,00,00,00,\
00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\
00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

View file

@ -135,6 +135,7 @@ elseif(ARCH STREQUAL "amd64")
arch/i386/hwapm.c
arch/i386/hwdisk.c
arch/i386/hwpci.c
arch/i386/i386bug.c
arch/i386/i386rtl.c
arch/i386/i386disk.c
arch/i386/i386vid.c

View file

@ -52,6 +52,15 @@ stop:
nop
PUBLIC Reboot
Reboot:
/* Set the function ID */
mov bx, FNID_Reboot
/* Switch to real mode (We don't return) */
jmp SwitchToReal
/* Internal function for realmode calls
* bx must be set to the ID of the realmode function to call. */
PUBLIC CallRealMode

View file

@ -269,6 +269,7 @@ Amd64SetupGdt(PVOID GdtBase, ULONG64 TssBase)
{
PKGDTENTRY64 Entry;
KDESCRIPTOR GdtDesc;
TRACE("Amd64SetupGdt(GdtBase = %p, TssBase = %p)\n", GdtBase, TssBase);
/* Setup KGDT64_NULL */
Entry = KiGetGdtEntry(GdtBase, KGDT64_NULL);
@ -308,20 +309,22 @@ Amd64SetupGdt(PVOID GdtBase, ULONG64 TssBase)
/* Set the new Gdt */
__lgdt(&GdtDesc.Limit);
TRACE("Gdtr.Base = %p, num = %ld\n", GdtDesc.Base, NUM_GDT);
TRACE("Leave Amd64SetupGdt()\n");
}
VOID
Amd64SetupIdt(PVOID IdtBase)
{
KDESCRIPTOR IdtDesc, OldIdt;
ULONG Size;
TRACE("Amd64SetupIdt(IdtBase = %p)\n", IdtBase);
/* Get old IDT */
__sidt(&OldIdt);
__sidt(&OldIdt.Limit);
/* Copy the old IDT */
RtlCopyMemory(IdtBase, (PVOID)OldIdt.Base, OldIdt.Limit + 1);
Size = min(OldIdt.Limit + 1, NUM_IDT * sizeof(KIDTENTRY));
//RtlCopyMemory(IdtBase, (PVOID)OldIdt.Base, Size);
/* Setup the new IDT descriptor */
IdtDesc.Base = IdtBase;
@ -329,8 +332,7 @@ Amd64SetupIdt(PVOID IdtBase)
/* Set the new IDT */
__lidt(&IdtDesc.Limit);
TRACE("Idtr.Base = %p\n", IdtDesc.Base);
TRACE("Leave Amd64SetupIdt()\n");
}
VOID
@ -354,7 +356,7 @@ WinLdrSetProcessorContext(void)
Amd64SetupGdt(GdtIdt, KSEG0_BASE | (TssBasePage << MM_PAGE_SHIFT));
/* Copy old Idt and set idtr */
Amd64SetupIdt((PVOID)((ULONG64)GdtIdt + 2048)); // HACK!
Amd64SetupIdt((PVOID)((ULONG64)GdtIdt + NUM_GDT * sizeof(KGDTENTRY)));
/* LDT is unused */
// __lldt(0);
@ -390,7 +392,7 @@ void WinLdrSetupMachineDependent(PLOADER_PARAMETER_BLOCK LoaderBlock)
TssBasePage = Tss >> MM_PAGE_SHIFT;
/* Allocate space for new GDT + IDT */
BlockSize = NUM_GDT*sizeof(KGDTENTRY) + NUM_IDT*sizeof(KIDTENTRY);//FIXME: Use GDT/IDT limits here?
BlockSize = NUM_GDT * sizeof(KGDTENTRY) + NUM_IDT * sizeof(KIDTENTRY);
NumPages = (BlockSize + MM_PAGE_SIZE - 1) >> MM_PAGE_SHIFT;
GdtIdt = (PKGDTENTRY)MmAllocateMemoryWithType(NumPages * MM_PAGE_SIZE, LoaderMemoryData);
if (GdtIdt == NULL)

View file

@ -24,6 +24,8 @@
#if DBG && !defined(_M_ARM)
//#define DEBUG_ALL
//#define DEBUG_WARN
//#define DEBUG_ERR
//#define DEBUG_INIFILE
//#define DEBUG_REACTOS
//#define DEBUG_CUSTOM
@ -49,7 +51,12 @@ ULONG DebugPort = RS232;
//ULONG DebugPort = SCREEN;
//ULONG DebugPort = BOCHS;
//ULONG DebugPort = SCREEN|BOCHS;
#ifdef _WINKD_
/* COM1 is the WinDbg port */
ULONG ComPort = COM2;
#else
ULONG ComPort = COM1;
#endif
//ULONG BaudRate = 19200;
ULONG BaudRate = 115200;
@ -59,6 +66,10 @@ VOID DebugInit(VOID)
{
#if defined (DEBUG_ALL)
memset(DbgChannels, MAX_LEVEL, DBG_CHANNELS_COUNT);
#elif defined (DEBUG_WARN)
memset(DbgChannels, WARN_LEVEL|FIXME_LEVEL|ERR_LEVEL, DBG_CHANNELS_COUNT);
#elif defined (DEBUG_ERR)
memset(DbgChannels, ERR_LEVEL, DBG_CHANNELS_COUNT);
#else
memset(DbgChannels, 0, DBG_CHANNELS_COUNT);
#endif

View file

@ -23,8 +23,13 @@ extern char __ImageBase;
#ifdef __GNUC__
#define FREELDR_SECTION_COUNT 3
#else
#ifdef _M_AMD64
/* .text and .pdata */
#define FREELDR_SECTION_COUNT 2
#else
#define FREELDR_SECTION_COUNT 1
#endif
#endif
typedef struct _FREELDR_MEMORY_DESCRIPTOR
{

View file

@ -174,7 +174,7 @@ MmCheckFreeldrImageFile()
NtHeaders = RtlImageNtHeader(&__ImageBase);
if (!NtHeaders)
{
ERR("Coult not get NtHeaders!\n");
ERR("Could not get NtHeaders!\n");
return FALSE;
}
@ -184,8 +184,14 @@ MmCheckFreeldrImageFile()
(FileHeader->NumberOfSections != FREELDR_SECTION_COUNT) ||
(FileHeader->PointerToSymbolTable != 0) ||
(FileHeader->NumberOfSymbols != 0) ||
(FileHeader->SizeOfOptionalHeader != 0xE0))
(FileHeader->SizeOfOptionalHeader != sizeof(IMAGE_OPTIONAL_HEADER)))
{
ERR("FreeLdr FileHeader is invalid.\n");
BugCheckInfo[0] = FileHeader->Machine;
BugCheckInfo[1] = FileHeader->NumberOfSections;
BugCheckInfo[2] = FileHeader->PointerToSymbolTable;
BugCheckInfo[3] = FileHeader->NumberOfSymbols;
BugCheckInfo[4] = FileHeader->SizeOfOptionalHeader;
return FALSE;
}
@ -197,6 +203,12 @@ MmCheckFreeldrImageFile()
(OptionalHeader->SizeOfImage > MAX_FREELDR_PE_SIZE) ||
(OptionalHeader->SectionAlignment != OptionalHeader->FileAlignment))
{
ERR("FreeLdr OptionalHeader is invalid.\n");
BugCheckInfo[0] = 0x80000000 | (OptionalHeader->Subsystem << 16) | OptionalHeader->Magic;
BugCheckInfo[1] = OptionalHeader->ImageBase;
BugCheckInfo[2] = OptionalHeader->SizeOfImage;
BugCheckInfo[3] = OptionalHeader->SectionAlignment;
BugCheckInfo[4] = OptionalHeader->FileAlignment;
return FALSE;
}

View file

@ -422,3 +422,13 @@ function(get_defines OUTPUT_VAR)
endforeach()
set(${OUTPUT_VAR} ${__tmp_var} PARENT_SCOPE)
endfunction()
if(NOT MSVC AND (CMAKE_VERSION VERSION_GREATER 2.8.7))
function(add_object_library _target)
add_library(${_target} OBJECT ${ARGN})
endfunction()
else()
function(add_object_library _target)
add_library(${_target} ${ARGN})
endfunction()
endif()

View file

@ -46,10 +46,12 @@ if(MSVC)
endif()
else()
set(KDBG TRUE CACHE BOOL
"Whether to compile in the integrated kernel debugger.")
set(_WINKD_ FALSE CACHE BOOL
"Whether to compile with the KD protocol.")
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(KDBG FALSE CACHE BOOL "Whether to compile in the integrated kernel debugger.")
else()
set(KDBG TRUE CACHE BOOL "Whether to compile in the integrated kernel debugger.")
endif()
set(_WINKD_ FALSE CACHE BOOL "Whether to compile with the KD protocol.")
endif()
set(_ELF_ FALSE CACHE BOOL

View file

@ -91,6 +91,12 @@ elseif(ARCH STREQUAL "amd64")
add_compile_flags("-mpreferred-stack-boundary=4")
endif()
# PSEH
if(GCC_VERSION VERSION_GREATER 4.7)
set(USE_PSEH3 1)
add_definitions(-D_USE_PSEH3=1)
endif()
# Other
if(ARCH STREQUAL "amd64")
add_definitions(-U_X86_ -UWIN32)

View file

@ -7,21 +7,21 @@ CAPTION "キーボード"
FONT 9, "MS UI Gothic", 0, 0, 0x0
BEGIN
GROUPBOX "固定キー機能",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(6)+PROPSHEETPADDING(1)
LTEXT "固定キー機能 を使うと、キーを同時に押さなくても、Shift、Ctrl、Alt キーの機能 が使えます。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "固定キー機能 を使う(&U)",IDC_STICKY_BOX,PROPSHEETPADDING(2),LABELLINE(5)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
LTEXT "固定キー機能を使うと、キーを同時に押さなくても、Shift、Ctrl、Alt キーの機能が使えます。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "固定キー機能を使う(&U)",IDC_STICKY_BOX,PROPSHEETPADDING(2),LABELLINE(5)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
PUSHBUTTON "設定(&S)",IDC_STICKY_BUTTON,PROPSHEETWIDTH-PROPSHEETPADDING(17),LABELLINE(5)+2,PROPSHEETPADDING(15),14
GROUPBOX "フィルタ キー機能",-1,PROPSHEETPADDING(1),LABELLINE(8)+5,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(7)+2
LTEXT "フィルタ キー機能 を使うと、速いキー入力や繰り返されたキー入力を無視したり、繰り返し入力の間隔を長くしたりすることができます。",-1,PROPSHEETPADDING(2),LABELLINE(10)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "フィルタ キー機能 を使う(&F)",IDC_FILTER_BOX,PROPSHEETPADDING(2),LABELLINE(13)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
LTEXT "フィルタ キー機能を使うと、速いキー入力や繰り返されたキー入力を無視したり、繰り返し入力の間隔を長くしたりすることができます。",-1,PROPSHEETPADDING(2),LABELLINE(10)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "フィルタ キー機能を使う(&F)",IDC_FILTER_BOX,PROPSHEETPADDING(2),LABELLINE(13)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
PUSHBUTTON "設定(&E)",IDC_FILTER_BUTTON,PROPSHEETWIDTH-PROPSHEETPADDING(17),LABELLINE(13)+2,PROPSHEETPADDING(15),14
GROUPBOX "切り替えキー機能",-1,PROPSHEETPADDING(1),LABELLINE(16)+3,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(6)+PROPSHEETPADDING(1)
LTEXT "切り替えキー機能 を使うと、CapsLock、NumLock、ScrollLock キーを押したときに音を鳴らします。",-1,PROPSHEETPADDING(2),LABELLINE(18)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(2)
AUTOCHECKBOX "切り替えキー機能 を使う(&T)",IDC_TOGGLE_BOX,PROPSHEETPADDING(2),LABELLINE(20)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
LTEXT "切り替えキー機能を使うと、CapsLock、NumLock、ScrollLock キーを押したときに音を鳴らします。",-1,PROPSHEETPADDING(2),LABELLINE(18)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(2)
AUTOCHECKBOX "切り替えキー機能を使う(&T)",IDC_TOGGLE_BOX,PROPSHEETPADDING(2),LABELLINE(20)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
PUSHBUTTON "設定(&N)",IDC_TOGGLE_BUTTON,PROPSHEETWIDTH-PROPSHEETPADDING(17),LABELLINE(20)+2,PROPSHEETPADDING(15),14
AUTOCHECKBOX "プログラムで追加のキーボード ヘルプを表 示する(&W)",IDC_KEYBOARD_EXTRA,PROPSHEETPADDING(1),LABELLINE(23)+3,PROPSHEETWIDTH-PROPSHEETPADDING(2),14
AUTOCHECKBOX "プログラムで追加のキーボード ヘルプを表示する(&W)",IDC_KEYBOARD_EXTRA,PROPSHEETPADDING(1),LABELLINE(23)+3,PROPSHEETWIDTH-PROPSHEETPADDING(2),14
END
@ -37,7 +37,7 @@ BEGIN
COMBOBOX IDC_SENTRY_COMBO, PROPSHEETPADDING(2), LABELLINE(9), PROPSHEETWIDTH-PROPSHEETPADDING(4), LABELLINE(6), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP
GROUPBOX "サウンド解説",-1,PROPSHEETPADDING(1),LABELLINE(12)+5,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(7)+2
LTEXT "プログラムが音を鳴らすとき、鳴らす音について解説を表 示します。",-1,PROPSHEETPADDING(2),LABELLINE(14)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
LTEXT "プログラムが音を鳴らすとき、鳴らす音について解説を表示します。",-1,PROPSHEETPADDING(2),LABELLINE(14)-3,PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "サウンド解説(&H)",IDC_SSHOW_BOX,PROPSHEETPADDING(2),LABELLINE(16)+2,PROPSHEETWIDTH-PROPSHEETPADDING(4),14
END
@ -48,7 +48,7 @@ CAPTION "画面"
FONT 9, "MS UI Gothic", 0, 0, 0x0
BEGIN
GROUPBOX "ハイコントラスト",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(6)+PROPSHEETPADDING(1)
LTEXT "この機能 を使うと、画面表 示に読みやすい配色とフォントを使います。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
LTEXT "この機能を使うと、画面表示に読みやすい配色とフォントを使います。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "ハイコントラストを使う(&U)",IDC_CONTRAST_BOX,PROPSHEETPADDING(2),LABELLINE(5)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
PUSHBUTTON "設定(&S)",IDC_CONTRAST_BUTTON,PROPSHEETWIDTH-PROPSHEETPADDING(17),LABELLINE(5)+2,PROPSHEETPADDING(15),14
@ -72,8 +72,8 @@ CAPTION "マウス"
FONT 9, "MS UI Gothic", 0, 0, 0x0
BEGIN
GROUPBOX "マウス キー機能",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(6)+PROPSHEETPADDING(1)
LTEXT "マウス キー機能 を使うと、テンキーを使ってマウス ポインタを操作できます。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "マウス キー機能 (&M)",IDC_MOUSE_BOX,PROPSHEETPADDING(2),LABELLINE(5)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
LTEXT "マウス キー機能を使うと、テンキーを使ってマウス ポインタを操作できます。",-1,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(4),LABELLINE(3)
AUTOCHECKBOX "マウス キー機能(&M)",IDC_MOUSE_BOX,PROPSHEETPADDING(2),LABELLINE(5)+2,PROPSHEETWIDTH-PROPSHEETPADDING(20),14
PUSHBUTTON "設定(&S)",IDC_MOUSE_BUTTON,PROPSHEETWIDTH-PROPSHEETPADDING(17),LABELLINE(5)+2,PROPSHEETPADDING(15),14
END
@ -292,7 +292,7 @@ END
STRINGTABLE
BEGIN
IDS_CPLSYSTEMNAME "ユーザー補助"
IDS_CPLSYSTEMDESCRIPTION "視覚、聴覚、四肢の状態に合わせて、ユーザーを補助する機能 を調整します。"
IDS_CPLSYSTEMDESCRIPTION "視覚、聴覚、四肢の状態に合わせて、ユーザーを補助する機能を調整します。"
IDS_SENTRY_NONE "[None]"
IDS_SENTRY_TITLE "Flash the titlebar"

View file

@ -18,7 +18,7 @@ BEGIN
LTEXT "", IDC_MACHINELINE4, 130, 171, 118, 9
LTEXT "", IDC_MACHINELINE5, 130, 180, 118, 9
CONTROL "<A HREF=""http://www.reactos.org/"">ReactOS ホームページ</A>へ行く", IDC_ROSHOMEPAGE_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 20, 200, 140, 10
PUSHBUTTON "ライセンスを表 示(&L)...", IDC_LICENCE, 170, 199, 78, 13
PUSHBUTTON "ライセンスを表示(&L)...", IDC_LICENCE, 170, 199, 78, 13
END
@ -29,7 +29,7 @@ FONT 9, "MS UI Gothic", 0, 0, 0x0
BEGIN
GROUPBOX "デバイス マネージャ", IDC_STATIC, 6, 7, 244, 61
ICON IDI_DEVMGR, IDC_STATIC, 12, 18, 23, 21, SS_ICON
LTEXT "デバイスマネージャはコンピュータに装着されているすべてのハードウェアを表 示 します。各デバイスのプロパティを変更するにはデバイスマネージャを使用 してください。", IDC_STATIC, 42, 18, 204, 24
LTEXT "デバイスマネージャはコンピュータに装着されているすべてのハードウェアを表示 します。各デバイスのプロパティを変更するにはデバイスマネージャを使用 してください。", IDC_STATIC, 42, 18, 204, 24
PUSHBUTTON "デバイス マネージャ(&D)...", IDC_HARDWARE_DEVICE_MANAGER, 154, 48, 90, 15
GROUPBOX "ハードウェア ウィザード", IDC_STATIC, 6, 79, 244, 61
@ -39,7 +39,7 @@ BEGIN
GROUPBOX "ハードウェア プロファイル", IDC_STATIC, 6, 149, 244, 61
ICON IDI_HARDPROF, IDC_STATIC, 12, 160, 23, 21, SS_ICON
LTEXT "ハードウェアプロファイルは別のハードウェアの構 成を設定し、格納する方法を 提供します。", IDC_STATIC, 42, 160, 204, 24
LTEXT "ハードウェアプロファイルは別のハードウェアの構成を設定し、格納する方法を 提供します。", IDC_STATIC, 42, 160, 204, 24
PUSHBUTTON "ハードウェア プロファイル(&W)...", IDC_HARDWARE_PROFILE, 154, 190, 90, 15
END
@ -86,8 +86,8 @@ CAPTION "ハードウェア プロファイル"
FONT 9, "MS UI Gothic"
BEGIN
ICON IDI_HARDPROF, IDC_STATIC, 8, 11, 18, 20, SS_ICON
LTEXT "異なるハードウェア構 成に合わせたハードウェア プロファイルをセットアップできます。 起動時に使用するプロファイルを選択できます。", IDC_STATIC, 46, 11, 188, 25
LTEXT "利用可能 なハードウェア プロファイル:", IDC_STATIC, 8, 41, 120, 8
LTEXT "異なるハードウェア構成に合わせたハードウェア プロファイルをセットアップできます。 起動時に使用するプロファイルを選択できます。", IDC_STATIC, 46, 11, 188, 25
LTEXT "利用可能なハードウェア プロファイル:", IDC_STATIC, 8, 41, 120, 8
LISTBOX IDC_HRDPROFLSTBOX, 8, 52, 215, 54, LBS_NOTIFY
PUSHBUTTON "", IDC_HRDPROFUP, 232, 59, 15, 14, BS_ICON | WS_DISABLED
PUSHBUTTON "", IDC_HRDPROFDWN, 232, 79, 15, 14, BS_ICON | WS_DISABLED
@ -169,11 +169,11 @@ BEGIN
GROUPBOX "システムの起動", IDC_STATIC, 7, 12, 238, 95
LTEXT "既定のオペレーティング システム(&S):", IDC_STATIC, 14, 26, 100, 8
COMBOBOX IDC_STRECOSCOMBO, 14, 37, 224, 46, CBS_DROPDOWNLIST
AUTOCHECKBOX "オペレーティング システムの一覧を表 示する時間(&T):", IDC_STRECLIST, 14, 56, 160, 8
AUTOCHECKBOX "オペレーティング システムの一覧を表示する時間(&T):", IDC_STRECLIST, 14, 56, 160, 8
EDITTEXT IDC_STRRECLISTEDIT, 185, 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 "秒", IDC_STATIC, 223, 56, 18, 8
AUTOCHECKBOX "必要なときに修復オプションを表 示する時間(&D):", IDC_STRRECREC, 14, 70, 170, 8
AUTOCHECKBOX "必要なときに修復オプションを表示する時間(&D):", IDC_STRRECREC, 14, 70, 170, 8
EDITTEXT IDC_STRRECRECEDIT, 185, 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 "秒", IDC_STATIC, 223, 70, 18, 8

View file

@ -3,5 +3,5 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_CPLSYSTEMNAME "電話とモデムのオプション"
IDS_CPLSYSTEMDESCRIPTION "電話のダイヤル情報とモデムのプロパティを構 成します。"
IDS_CPLSYSTEMDESCRIPTION "電話のダイヤル情報とモデムのプロパティを構成します。"
END

View file

@ -15,7 +15,7 @@ BEGIN
CONTROL "", IDC_MONTHCALENDAR, "MonthCalWnd",
WS_CHILD | WS_VISIBLE | WS_TABSTOP,
11, 37, 108, 80, WS_EX_CLIENTEDGE
GROUPBOX "&Time", -1, 132, 2, 113, 125
GROUPBOX "&Ora", -1, 132, 2, 113, 125
CONTROL "", IDC_TIMEPICKER, "SysDateTimePick32",
DTS_TIMEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP,
144, 105, 90, 12
@ -50,7 +50,7 @@ BEGIN
PUSHBUTTON "Aggiorna ora", IDC_UPDATEBUTTON, 187, 22, 49, 14
LTEXT "", IDC_SUCSYNC, 12, 54, 214, 23
LTEXT "", IDC_NEXTSYNC, 12, 96, 137, 12
LTEXT "La sincronizzazione può avvenire solo quando il computer è connesso a Internet.", -1, 12, 114, 225, 25
LTEXT "La sincronizzazione può avvenire solo quando il computer è connesso a Internet.", -1, 12, 114, 225, 25
END
@ -61,7 +61,7 @@ BEGIN
IDS_TIMEZONETEXT "Fuso orario corrente: %s"
IDS_TIMEZONEINVALID "Non valido"
IDS_TIMEZONEUNKNOWN "Sconosciuto"
IDS_INETTIMESUCSYNC "L'ora è stata sincronizzata correttamente con %s %s alle %s"
IDS_INETTIMESUCSYNC "L'ora è stata sincronizzata correttamente con %s %s alle %s"
IDS_INETTIMENEXTSYNC "Prossima sincronizzazione: %s alle %s"
IDS_INETTIMESYNCING "Sincronizzazione ora con %s"
IDS_INETTIMEERROR "E' stato rilevato un errore mentre ReactOS si stava sincronizzando con %s"

View file

@ -31,9 +31,6 @@
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
@ -58,9 +55,13 @@
// UTF-8
#pragma code_page(65001)
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif

View file

@ -0,0 +1,61 @@
spec2def(ddraw.dll ddraw.spec ADD_IMPORTLIB)
list(APPEND SOURCE
cleanup.c
main.c
startup.c
Clipper/clipper_main.c
Clipper/clipper_stubs.c
Color/color_stubs.c
d3d/DirectD3D_main.c
Ddraw/callbacks_dd_hel.c
Ddraw/ddraw_displaymode.c
Ddraw/ddraw_main.c
Ddraw/ddraw_setcooperativelevel.c
Ddraw/ddraw_stubs.c
Ddraw/GetCaps.c
Ddraw/GetDeviceIdentifier.c
Gamma/gamma_stubs.c
Kernel/kernel_stubs.c
Palette/createpalette.c
Palette/palette.c
Surface/callbacks_surf_hel.c
Surface/createsurface.c
Surface/surface_main.c
Surface/surface_stubs.c
Videoport/videoport_stubs.c
Vtable/DirectD3D_Vtable.c
Vtable/DirectD3D2_Vtable.c
Vtable/DirectD3D3_Vtable.c
Vtable/DirectD3D7_Vtable.c
Vtable/DirectDraw_Vtable.c
Vtable/DirectDraw2_Vtable.c
Vtable/DirectDraw4_Vtable.c
Vtable/DirectDraw7_Vtable.c
Vtable/DirectDrawSurface_Vtable.c
Vtable/DirectDrawSurface2_Vtable.c
Vtable/DirectDrawSurface3_Vtable.c
Vtable/DirectDrawSurface4_Vtable.c
Vtable/DirectDrawSurface7_Vtable.c
)
add_library(ddraw SHARED ${SOURCE})
set_module_type(ddraw win32dll)
target_link_libraries(ddraw
uuid
dxguid
${PSEH_LIB}
)
add_importlibs(ddraw
advapi32
gdi32
user32
msvcrt
kernel32
ntdll)
add_cd_file(TARGET ddraw DESTINATION reactos/system32 FOR all)

View file

@ -1676,7 +1676,7 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
assert(m_hPin != INVALID_HANDLE_VALUE);
// get all supported sets
if (m_Plugins.size() == 0)
if (m_Plugins.empty())
{
if (GetSupportedSets(&pGuid, &NumGuids))
{

View file

@ -442,7 +442,7 @@
@ stdcall RtlAddVectoredExceptionHandler(long ptr)
;@ stdcall RtlAddressInSectionTable
@ stdcall RtlAdjustPrivilege(long long long ptr)
@ stdcall RtlAllocateActivationContextStack(ptr) ; CHEKME
@ stdcall RtlAllocateActivationContextStack(ptr) ; CHECKME
@ stdcall RtlAllocateAndInitializeSid(ptr long long long long long long long long long ptr)
@ stdcall RtlAllocateHandle(ptr ptr)
@ stdcall RtlAllocateHeap(ptr long ptr)
@ -635,7 +635,7 @@
@ stdcall RtlFormatCurrentUserKeyPath(ptr)
@ stdcall RtlFormatMessage(ptr long long long long ptr ptr long)
;@ stdcall RtlFormatMessageEx
;@ stdcall RtlFreeActivationContextStack
@ stdcall RtlFreeActivationContextStack(ptr)
@ stdcall RtlFreeAnsiString(long)
@ stdcall RtlFreeHandle(ptr ptr)
@ stdcall RtlFreeHeap(long long long)

View file

@ -508,7 +508,7 @@ LdrpInitializeThread(IN PCONTEXT Context)
/* Allocate an Activation Context Stack */
DPRINT("ActivationContextStack %p\n", NtCurrentTeb()->ActivationContextStackPointer);
Status = RtlAllocateActivationContextStack((PVOID*)&NtCurrentTeb()->ActivationContextStackPointer);
Status = RtlAllocateActivationContextStack(&NtCurrentTeb()->ActivationContextStackPointer);
if (!NT_SUCCESS(Status))
{
DPRINT1("Warning: Unable to allocate ActivationContextStack\n");
@ -1709,7 +1709,7 @@ LdrpInitializeProcess(IN PCONTEXT Context,
}
/* Allocate an Activation Context Stack */
Status = RtlAllocateActivationContextStack((PVOID *)&Teb->ActivationContextStackPointer);
Status = RtlAllocateActivationContextStack(&Teb->ActivationContextStackPointer);
if (!NT_SUCCESS(Status)) return Status;
// FIXME: Loader private heap is missing

View file

@ -1,5 +1,4 @@
spec2def(opengl32.dll opengl32.spec ADD_IMPORTLIB)
add_definitions(
@ -16,19 +15,8 @@ list(APPEND SOURCE
${CMAKE_CURRENT_BINARY_DIR}/opengl32.def)
add_library(opengl32 SHARED ${SOURCE})
target_link_libraries(opengl32 wine)
set_module_type(opengl32 win32dll UNICODE)
add_importlibs(opengl32
msvcrt
gdi32
user32
advapi32
glu32
kernel32
ntdll)
add_importlibs(opengl32 gdi32 user32 advapi32 msvcrt kernel32 ntdll)
add_pch(opengl32 opengl32.h)
add_cd_file(TARGET opengl32 DESTINATION reactos/system32 FOR all)

File diff suppressed because it is too large Load diff

View file

@ -363,7 +363,7 @@
@ stdcall wglSwapBuffers(long) rosglSwapBuffers
@ stdcall wglSwapLayerBuffers(long long) rosglSwapLayerBuffers
@ stub wglSwapMultipleBuffers
@ stdcall wglUseFontBitmapsA(long long long long) rosglUseFontBitmapsA
@ stdcall wglUseFontBitmapsW(long long long long) rosglUseFontBitmapsW
@ stdcall wglUseFontOutlinesA(long long long long long long long ptr) rosglUseFontOutlinesA
@ stdcall wglUseFontOutlinesW(long long long long long long long ptr) rosglUseFontOutlinesW
@ stdcall wglUseFontBitmapsA(long long long long)
@ stdcall wglUseFontBitmapsW(long long long long)
@ stdcall wglUseFontOutlinesA(long long long long long long long ptr)
@ stdcall wglUseFontOutlinesW(long long long long long long long ptr)

View file

@ -1241,41 +1241,6 @@ rosglSwapLayerBuffers( HDC hdc, UINT fuPlanes )
return ret;
}
BOOL
APIENTRY
rosglUseFontBitmapsA( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{
return IntUseFontBitmapsA(hdc, first, count, listBase);
}
BOOL
APIENTRY
rosglUseFontBitmapsW( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{
return IntUseFontBitmapsW(hdc, first, count, listBase);
}
BOOL
APIENTRY
rosglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format,
GLYPHMETRICSFLOAT *pgmf )
{
return IntUseFontOutlinesA(hdc, first, count, listBase, deviation, extrusion, format, pgmf);
}
BOOL
APIENTRY
rosglUseFontOutlinesW( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format,
GLYPHMETRICSFLOAT *pgmf )
{
return IntUseFontOutlinesW(hdc, first, count, listBase, deviation, extrusion, format, pgmf);
}
#ifdef __cplusplus
}; /* extern "C" */
#endif /* __cplusplus */

View file

@ -145,6 +145,7 @@ add_subdirectory(pdh)
add_subdirectory(pidgen)
add_subdirectory(powrprof)
add_subdirectory(printui)
add_subdirectory(propsys)
add_subdirectory(psapi)
add_subdirectory(pstorec)
add_subdirectory(qmgr)

View file

@ -15,15 +15,15 @@
typedef struct _FIBER /* Field offsets: */
{ /* 32 bit 64 bit */
/* this must be the first field */
LPVOID Parameter; /* 0x00 0x00 */
struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList; /* 0x04 0x08 */
LPVOID StackBase; /* 0x08 0x10 */
LPVOID StackLimit; /* 0x0C 0x18 */
LPVOID DeallocationStack; /* 0x10 0x20 */
PVOID Parameter; /* 0x00 0x00 */
PEXCEPTION_REGISTRATION_RECORD ExceptionList; /* 0x04 0x08 */
PVOID StackBase; /* 0x08 0x10 */
PVOID StackLimit; /* 0x0C 0x18 */
PVOID DeallocationStack; /* 0x10 0x20 */
CONTEXT Context; /* 0x14 0x28 */
ULONG GuaranteedStackBytes; /* 0x2E0 */
PVOID FlsData; /* 0x2E4 */
PVOID ActivationContextStack; /* 0x2E8 */
PACTIVATION_CONTEXT_STACK ActivationContextStack; /* 0x2E8 */
} FIBER, *PFIBER;
/* PRIVATE FUNCTIONS **********************************************************/
@ -171,7 +171,7 @@ CreateFiberEx(SIZE_T dwStackCommitSize,
PFIBER Fiber;
NTSTATUS Status;
INITIAL_TEB InitialTeb;
PVOID ActivationContextStack = NULL;
PACTIVATION_CONTEXT_STACK ActivationContextStack = NULL;
DPRINT("Creating Fiber\n");
/* Check for invalid flags */
@ -195,6 +195,9 @@ CreateFiberEx(SIZE_T dwStackCommitSize,
Fiber = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof(FIBER));
if (!Fiber)
{
/* Free the activation context stack */
RtlFreeActivationContextStack(ActivationContextStack);
/* Fail */
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return NULL;
@ -210,9 +213,8 @@ CreateFiberEx(SIZE_T dwStackCommitSize,
/* Free the fiber */
RtlFreeHeap(GetProcessHeap(), 0, Fiber);
/* Free the activation context */
DPRINT1("Leaking activation stack because nobody implemented free");
//RtlFreeActivationContextStack(&ActivationContextStack);
/* Free the activation context stack */
RtlFreeActivationContextStack(ActivationContextStack);
/* Failure */
BaseSetLastNTError(Status);
@ -271,9 +273,8 @@ DeleteFiber(LPVOID lpFiber)
/* Get rid of FLS */
if (Fiber->FlsData) BaseRundownFls(Fiber->FlsData);
/* Get rid of the activation stack */
DPRINT1("Leaking activation stack because nobody implemented free");
//RtlFreeActivationContextStack(Fiber->ActivationContextStack);
/* Get rid of the activation context stack */
RtlFreeActivationContextStack(Fiber->ActivationContextStack);
/* Free the fiber data */
RtlFreeHeap(GetProcessHeap(), 0, lpFiber);

View file

@ -171,7 +171,7 @@ CreateRemoteThread(IN HANDLE hProcess,
ULONG Dummy;
PTEB Teb;
THREAD_BASIC_INFORMATION ThreadBasicInfo;
PVOID ActivationContextStack = NULL;
PACTIVATION_CONTEXT_STACK ActivationContextStack = NULL;
ACTIVATION_CONTEXT_BASIC_INFORMATION ActCtxInfo;
ULONG_PTR Cookie;
ULONG ReturnLength;
@ -191,7 +191,7 @@ CreateRemoteThread(IN HANDLE hProcess,
dwCreationFlags & STACK_SIZE_PARAM_IS_A_RESERVATION ?
dwStackSize : 0,
&InitialTeb);
if(!NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
{
BaseSetLastNTError(Status);
return NULL;
@ -260,7 +260,7 @@ CreateRemoteThread(IN HANDLE hProcess,
Teb->ActivationContextStackPointer = ActivationContextStack;
/* Query the Context */
// WARNING!!! THIS IS USING THE WIN32 FLAG BECAUSE REACTOS CONTINUES TO BE A POS!!! ///
// WARNING!!! THIS IS USING THE WIN32 FLAG BECAUSE REACTOS CONTINUES TO BE A POS!!! ///
Status = RtlQueryInformationActivationContext(QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX,
NULL,
0,
@ -274,6 +274,11 @@ CreateRemoteThread(IN HANDLE hProcess,
ERROR_DBGBREAK("SXS: %s - Failing thread create because "
"RtlQueryInformationActivationContext() failed with status %08lx\n",
__FUNCTION__, Status);
/* Free the activation context stack */
// RtlFreeThreadActivationContextStack();
RtlFreeActivationContextStack(Teb->ActivationContextStackPointer);
return NULL;
}
@ -291,6 +296,11 @@ CreateRemoteThread(IN HANDLE hProcess,
ERROR_DBGBREAK("SXS: %s - Failing thread create because "
"RtlActivateActivationContextEx() failed with status %08lx\n",
__FUNCTION__, Status);
/* Free the activation context stack */
// RtlFreeThreadActivationContextStack();
RtlFreeActivationContextStack(Teb->ActivationContextStackPointer);
return NULL;
}
}
@ -299,7 +309,6 @@ CreateRemoteThread(IN HANDLE hProcess,
/* Notify CSR */
if (!BaseRunningInServerProcess)
{
/* Notify CSR */
Status = BasepNotifyCsrOfThread(hThread, &ClientId);
ASSERT(NT_SUCCESS(Status));
}

View file

@ -231,7 +231,7 @@ LsapAddAuthPackage(IN PWSTR ValueName,
TRACE("Package Name: %s\n", Package->Name->Buffer);
Package->Id = *Id;
*Id++;
(*Id)++;
InsertTailList(&PackageListHead, &Package->Entry);

View file

@ -15,6 +15,113 @@ WINE_DEFAULT_DEBUG_CHANNEL(lsasrv);
/* FUNCTIONS ***************************************************************/
VOID
NTAPI
LsaIFree_LSAPR_POLICY_INFORMATION(IN POLICY_INFORMATION_CLASS InformationClass,
IN PLSAPR_POLICY_INFORMATION PolicyInformation)
{
if (PolicyInformation != NULL)
{
switch (InformationClass)
{
case PolicyAuditLogInformation: /* 1 */
break;
case PolicyAuditEventsInformation: /* 2 */
if (PolicyInformation->PolicyAuditEventsInfo.EventAuditingOptions != NULL)
midl_user_free(PolicyInformation->PolicyAuditEventsInfo.EventAuditingOptions);
break;
case PolicyPrimaryDomainInformation: /* 3 */
if (PolicyInformation->PolicyPrimaryDomInfo.Name.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyPrimaryDomInfo.Name.Buffer);
if (PolicyInformation->PolicyPrimaryDomInfo.Sid != NULL)
midl_user_free(PolicyInformation->PolicyPrimaryDomInfo.Sid);
break;
case PolicyPdAccountInformation: /* 4 */
if (PolicyInformation->PolicyPdAccountInfo.Name.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyPdAccountInfo.Name.Buffer);
break;
case PolicyAccountDomainInformation: /* 5 */
if (PolicyInformation->PolicyAccountDomainInfo.DomainName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyAccountDomainInfo.DomainName.Buffer);
if (PolicyInformation->PolicyAccountDomainInfo.Sid != NULL)
midl_user_free(PolicyInformation->PolicyAccountDomainInfo.Sid);
break;
case PolicyLsaServerRoleInformation: /* 6 */
break;
case PolicyReplicaSourceInformation: /* 7 */
if (PolicyInformation->PolicyReplicaSourceInfo.ReplicaSource.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyReplicaSourceInfo.ReplicaSource.Buffer);
if (PolicyInformation->PolicyReplicaSourceInfo.ReplicaAccountName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyReplicaSourceInfo.ReplicaAccountName.Buffer);
break;
case PolicyDefaultQuotaInformation: /* 8 */
break;
case PolicyModificationInformation: /* 9 */
break;
case PolicyAuditFullSetInformation: /* 10 (0xA) */
break;
case PolicyAuditFullQueryInformation: /* 11 (0xB) */
break;
case PolicyDnsDomainInformation: /* 12 (0xC) */
if (PolicyInformation->PolicyDnsDomainInfo.Name.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfo.Name.Buffer);
if (PolicyInformation->PolicyDnsDomainInfo.DnsDomainName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfo.DnsDomainName.Buffer);
if (PolicyInformation->PolicyDnsDomainInfo.DnsForestName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfo.DnsForestName.Buffer);
if (PolicyInformation->PolicyDnsDomainInfo.Sid != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfo.Sid);
break;
case PolicyDnsDomainInformationInt: /* 13 (0xD) */
if (PolicyInformation->PolicyDnsDomainInfoInt.Name.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfoInt.Name.Buffer);
if (PolicyInformation->PolicyDnsDomainInfoInt.DnsDomainName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfoInt.DnsDomainName.Buffer);
if (PolicyInformation->PolicyDnsDomainInfoInt.DnsForestName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfoInt.DnsForestName.Buffer);
if (PolicyInformation->PolicyDnsDomainInfoInt.Sid != NULL)
midl_user_free(PolicyInformation->PolicyDnsDomainInfoInt.Sid);
break;
case PolicyLocalAccountDomainInformation: /* 14 (0xE) */
if (PolicyInformation->PolicyLocalAccountDomainInfo.DomainName.Buffer != NULL)
midl_user_free(PolicyInformation->PolicyLocalAccountDomainInfo.DomainName.Buffer);
if (PolicyInformation->PolicyLocalAccountDomainInfo.Sid != NULL)
midl_user_free(PolicyInformation->PolicyLocalAccountDomainInfo.Sid);
break;
default:
ERR("Invalid InformationClass: %lu\n", InformationClass);
break;
}
midl_user_free(PolicyInformation);
}
}
NTSTATUS WINAPI
LsapInitLsa(VOID)
{

View file

@ -1,4 +1,3 @@
@ stub LsaIAuditNotifyPackageLoad
@ stub LsaIAuditSamEvent
@ stub LsaIEnumerateSecrets
@ -6,7 +5,7 @@
@ stub LsaIFree_LSAI_SECRET_ENUM_BUFFER
@ stub LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
@ stub LsaIFree_LSAPR_CR_CIPHER_VALUE
@ stub LsaIFree_LSAPR_POLICY_INFORMATION
@ stdcall LsaIFree_LSAPR_POLICY_INFORMATION(long ptr)
@ stub LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
@ stub LsaIFree_LSAPR_PRIVILEGE_SET
@ stub LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST

View file

@ -824,8 +824,7 @@ LsarSetAuditEvents(PLSA_DB_OBJECT PolicyObject,
AuditData,
AttributeSize);
if (AuditData != NULL)
RtlFreeHeap(RtlGetProcessHeap(), 0, AuditData);
RtlFreeHeap(RtlGetProcessHeap(), 0, AuditData);
return Status;
}

View file

@ -13,6 +13,7 @@ list(APPEND SOURCE
add_library(msv1_0 SHARED ${SOURCE})
set_module_type(msv1_0 win32dll UNICODE ENTRYPOINT 0)
target_link_libraries(msv1_0 wine ${PSEH_LIB})
add_delay_importlibs(msv1_0 samsrv lsasrv)
add_importlibs(msv1_0 kernel32 ntdll)
add_pch(msv1_0 msv1_0.h)
add_dependencies(msv1_0 psdk)

View file

@ -20,6 +20,55 @@ LSA_DISPATCH_TABLE DispatchTable;
/* FUNCTIONS ***************************************************************/
static
NTSTATUS
GetDomainSid(PRPC_SID *Sid)
{
LSAPR_HANDLE PolicyHandle = NULL;
PLSAPR_POLICY_INFORMATION PolicyInfo = NULL;
ULONG Length = 0;
NTSTATUS Status;
Status = LsaIOpenPolicyTrusted(&PolicyHandle);
if (!NT_SUCCESS(Status))
{
TRACE("LsaIOpenPolicyTrusted() failed (Status 0x%08lx)\n", Status);
return Status;
}
Status = LsarQueryInformationPolicy(PolicyHandle,
PolicyAccountDomainInformation,
&PolicyInfo);
if (!NT_SUCCESS(Status))
{
TRACE("LsarQueryInformationPolicy() failed (Status 0x%08lx)\n", Status);
goto done;
}
Length = RtlLengthSid(PolicyInfo->PolicyAccountDomainInfo.Sid);
*Sid = RtlAllocateHeap(RtlGetProcessHeap(), 0, Length);
if (*Sid == NULL)
{
ERR("Failed to allocate SID\n");
Status = STATUS_INSUFFICIENT_RESOURCES;
goto done;
}
memcpy(*Sid, PolicyInfo->PolicyAccountDomainInfo.Sid, Length);
done:
if (PolicyInfo != NULL)
LsaIFree_LSAPR_POLICY_INFORMATION(PolicyAccountDomainInformation,
PolicyInfo);
if (PolicyHandle != NULL)
LsarClose(&PolicyHandle);
return Status;
}
/*
* @unimplemented
*/
@ -95,6 +144,10 @@ LsaApInitializePackage(IN ULONG AuthenticationPackageId,
/* Get the dispatch table entries */
DispatchTable.AllocateLsaHeap = LsaDispatchTable->AllocateLsaHeap;
DispatchTable.FreeLsaHeap = LsaDispatchTable->FreeLsaHeap;
DispatchTable.AllocateClientBuffer = LsaDispatchTable->AllocateClientBuffer;
DispatchTable.FreeClientBuffer = LsaDispatchTable->FreeClientBuffer;
DispatchTable.CopyToClientBuffer = LsaDispatchTable->CopyToClientBuffer;
DispatchTable.CopyFromClientBuffer = LsaDispatchTable->CopyFromClientBuffer;
/* Return the package name */
@ -149,7 +202,186 @@ LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest,
OUT PLSA_UNICODE_STRING *AccountName,
OUT PLSA_UNICODE_STRING *AuthenticatingAuthority)
{
PMSV1_0_INTERACTIVE_LOGON LogonInfo;
SAMPR_HANDLE ServerHandle = NULL;
SAMPR_HANDLE DomainHandle = NULL;
PRPC_SID AccountDomainSid = NULL;
RPC_UNICODE_STRING Names[1];
SAMPR_ULONG_ARRAY RelativeIds = {0, NULL};
SAMPR_ULONG_ARRAY Use = {0, NULL};
NTSTATUS Status;
TRACE("()\n");
TRACE("LogonType: %lu\n", LogonType);
TRACE("AuthenticationInformation: %p\n", AuthenticationInformation);
TRACE("AuthenticationInformationLength: %lu\n", AuthenticationInformationLength);
*ProfileBuffer = NULL;
*ProfileBufferLength = 0;
*SubStatus = STATUS_SUCCESS;
if (LogonType == Interactive ||
LogonType == Batch ||
LogonType == Service)
{
ULONG_PTR PtrOffset;
LogonInfo = (PMSV1_0_INTERACTIVE_LOGON)AuthenticationInformation;
/* Fix-up pointers in the authentication info */
PtrOffset = (ULONG_PTR)AuthenticationInformation - (ULONG_PTR)ClientAuthenticationBase;
LogonInfo->LogonDomainName.Buffer = (PWSTR)((ULONG_PTR)LogonInfo->LogonDomainName.Buffer + PtrOffset);
LogonInfo->UserName.Buffer = (PWSTR)((ULONG_PTR)LogonInfo->UserName.Buffer + PtrOffset);
LogonInfo->Password.Buffer = (PWSTR)((ULONG_PTR)LogonInfo->Password.Buffer + PtrOffset);
TRACE("Domain: %S\n", LogonInfo->LogonDomainName.Buffer);
TRACE("User: %S\n", LogonInfo->UserName.Buffer);
TRACE("Password: %S\n", LogonInfo->Password.Buffer);
}
else
{
FIXME("LogonType %lu is not supported yet!\n", LogonType);
return STATUS_NOT_IMPLEMENTED;
}
Status = GetDomainSid(&AccountDomainSid);
if (!NT_SUCCESS(Status))
{
TRACE("GetDomainSid() failed (Status 0x%08lx)\n", Status);
return Status;
}
/* Connect to the SAM server */
Status = SamIConnect(NULL,
&ServerHandle,
SAM_SERVER_CONNECT | SAM_SERVER_LOOKUP_DOMAIN,
TRUE);
if (!NT_SUCCESS(Status))
{
TRACE("SamIConnect() failed (Status 0x%08lx)\n", Status);
goto done;
}
/* Open the account domain */
Status = SamrOpenDomain(ServerHandle,
DOMAIN_LOOKUP,
AccountDomainSid,
&DomainHandle);
if (!NT_SUCCESS(Status))
{
TRACE("SamrOpenDomain failed (Status %08lx)\n", Status);
goto done;
}
Names[0].Length = LogonInfo->UserName.Length;
Names[0].MaximumLength = LogonInfo->UserName.MaximumLength;
Names[0].Buffer = LogonInfo->UserName.Buffer;
/* Try to get the RID for the user name */
Status = SamrLookupNamesInDomain(DomainHandle,
1,
Names,
&RelativeIds,
&Use);
if (!NT_SUCCESS(Status))
{
TRACE("SamrLookupNamesInDomain failed (Status %08lx)\n", Status);
Status = STATUS_NO_SUCH_USER;
goto done;
}
/* Fail, if it is not a user account */
if (Use.Element[0] != SidTypeUser)
{
TRACE("Account is not a user account!\n");
Status = STATUS_NO_SUCH_USER;
goto done;
}
done:
SamIFree_SAMPR_ULONG_ARRAY(&RelativeIds);
SamIFree_SAMPR_ULONG_ARRAY(&Use);
if (DomainHandle != NULL)
SamrCloseHandle(&DomainHandle);
if (ServerHandle != NULL)
SamrCloseHandle(&ServerHandle);
if (AccountDomainSid != NULL)
RtlFreeHeap(RtlGetProcessHeap(), 0, AccountDomainSid);
TRACE("LsaApLogonUser done (Status %08lx)\n", Status);
return Status;
}
/*
* @unimplemented
*/
NTSTATUS
NTAPI
LsaApLogonUserEx(IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType,
IN PVOID AuthenticationInformation,
IN PVOID ClientAuthenticationBase,
IN ULONG AuthenticationInformationLength,
OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferLength,
OUT PLUID LogonId,
OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation,
OUT PUNICODE_STRING *AccountName,
OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName)
{
TRACE("()\n");
TRACE("LogonType: %lu\n", LogonType);
TRACE("AuthenticationInformation: %p\n", AuthenticationInformation);
TRACE("AuthenticationInformationLength: %lu\n", AuthenticationInformationLength);
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
NTAPI
LsaApLogonUserEx2(IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType,
IN PVOID ProtocolSubmitBuffer,
IN PVOID ClientBufferBase,
IN ULONG SubmitBufferSize,
OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferSize,
OUT PLUID LogonId,
OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation,
OUT PUNICODE_STRING *AccountName,
OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName,
OUT PSECPKG_PRIMARY_CRED PrimaryCredentials,
OUT PSECPKG_SUPPLEMENTAL_CRED_ARRAY *SupplementalCredentials)
{
TRACE("()\n");
TRACE("LogonType: %lu\n", LogonType);
TRACE("ProtocolSubmitBuffer: %p\n", ProtocolSubmitBuffer);
TRACE("SubmitBufferSize: %lu\n", SubmitBufferSize);
return STATUS_NOT_IMPLEMENTED;
}

View file

@ -27,7 +27,145 @@
#include <sspi.h>
#include <ntsecapi.h>
#include <ntsecpkg.h>
#include <ntsam.h>
#include <ntlsa.h>
#include <samsrv/samsrv.h>
//#include <lsass/lsasrv.h>
#include <wine/debug.h>
typedef struct _RPC_SID
{
UCHAR Revision;
UCHAR SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[];
} RPC_SID, *PRPC_SID;
typedef struct _RPC_UNICODE_STRING
{
unsigned short Length;
unsigned short MaximumLength;
wchar_t *Buffer;
} RPC_UNICODE_STRING, *PRPC_UNICODE_STRING;
typedef wchar_t *PSAMPR_SERVER_NAME;
typedef void *SAMPR_HANDLE;
typedef struct _SAMPR_ULONG_ARRAY
{
ULONG Count;
PULONG Element;
} SAMPR_ULONG_ARRAY, *PSAMPR_ULONG_ARRAY;
NTSTATUS
NTAPI
SamIConnect(IN PSAMPR_SERVER_NAME ServerName,
OUT SAMPR_HANDLE *ServerHandle,
IN ACCESS_MASK DesiredAccess,
IN BOOLEAN Trusted);
VOID
NTAPI
SamIFree_SAMPR_ULONG_ARRAY(PSAMPR_ULONG_ARRAY Ptr);
NTSTATUS
NTAPI
SamrCloseHandle(IN OUT SAMPR_HANDLE *SamHandle);
NTSTATUS
NTAPI
SamrOpenDomain(IN SAMPR_HANDLE ServerHandle,
IN ACCESS_MASK DesiredAccess,
IN PRPC_SID DomainId,
OUT SAMPR_HANDLE *DomainHandle);
NTSTATUS
NTAPI
SamrLookupNamesInDomain(IN SAMPR_HANDLE DomainHandle,
IN ULONG Count,
IN RPC_UNICODE_STRING Names[],
OUT PSAMPR_ULONG_ARRAY RelativeIds,
OUT PSAMPR_ULONG_ARRAY Use);
typedef PVOID LSAPR_HANDLE;
typedef struct _LSAPR_POLICY_AUDIT_EVENTS_INFO
{
BOOLEAN AuditingMode;
DWORD *EventAuditingOptions;
DWORD MaximumAuditEventCount;
} LSAPR_POLICY_AUDIT_EVENTS_INFO, *PLSAPR_POLICY_AUDIT_EVENTS_INFO;
typedef struct _LSAPR_POLICY_PRIMARY_DOM_INFO
{
RPC_UNICODE_STRING Name;
PRPC_SID Sid;
} LSAPR_POLICY_PRIMARY_DOM_INFO, *PLSAPR_POLICY_PRIMARY_DOM_INFO;
typedef struct _LSAPR_POLICY_ACCOUNT_DOM_INFO
{
RPC_UNICODE_STRING DomainName;
PRPC_SID Sid;
} LSAPR_POLICY_ACCOUNT_DOM_INFO, *PLSAPR_POLICY_ACCOUNT_DOM_INFO;
typedef struct _LSAPR_POLICY_PD_ACCOUNT_INFO
{
RPC_UNICODE_STRING Name;
} LSAPR_POLICY_PD_ACCOUNT_INFO, *PLSAPR_POLICY_PD_ACCOUNT_INFO;
typedef struct _POLICY_LSA_REPLICA_SRCE_INFO
{
RPC_UNICODE_STRING ReplicaSource;
RPC_UNICODE_STRING ReplicaAccountName;
} POLICY_LSA_REPLICA_SRCE_INFO, *PPOLICY_LSA_REPLICA_SRCE_INFO;
typedef struct _LSAPR_POLICY_DNS_DOMAIN_INFO
{
RPC_UNICODE_STRING Name;
RPC_UNICODE_STRING DnsDomainName;
RPC_UNICODE_STRING DnsForestName;
GUID DomainGuid;
PRPC_SID Sid;
} LSAPR_POLICY_DNS_DOMAIN_INFO, *PLSAPR_POLICY_DNS_DOMAIN_INFO;
typedef union _LSAPR_POLICY_INFORMATION
{
POLICY_AUDIT_LOG_INFO PolicyAuditLogInfo;
LSAPR_POLICY_AUDIT_EVENTS_INFO PolicyAuditEventsInfo;
LSAPR_POLICY_PRIMARY_DOM_INFO PolicyPrimaryDomInfo;
LSAPR_POLICY_PD_ACCOUNT_INFO PolicyPdAccountInfo;
LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyAccountDomainInfo;
POLICY_LSA_SERVER_ROLE_INFO PolicyServerRoleInfo;
POLICY_LSA_REPLICA_SRCE_INFO PolicyReplicaSourceInfo;
POLICY_DEFAULT_QUOTA_INFO PolicyDefaultQuotaInfo;
POLICY_MODIFICATION_INFO PolicyModificationInfo;
POLICY_AUDIT_FULL_SET_INFO PolicyAuditFullSetInfo;
POLICY_AUDIT_FULL_QUERY_INFO PolicyAuditFullQueryInfo;
LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfo;
LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfoInt;
LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyLocalAccountDomainInfo;
} LSAPR_POLICY_INFORMATION, *PLSAPR_POLICY_INFORMATION;
VOID
NTAPI
LsaIFree_LSAPR_POLICY_INFORMATION(IN POLICY_INFORMATION_CLASS InformationClass,
IN PLSAPR_POLICY_INFORMATION PolicyInformation);
NTSTATUS
WINAPI
LsaIOpenPolicyTrusted(OUT LSAPR_HANDLE *PolicyHandle);
NTSTATUS
WINAPI
LsarClose(IN OUT LSAPR_HANDLE *ObjectHandle);
NTSTATUS
WINAPI
LsarQueryInformationPolicy(IN LSAPR_HANDLE PolicyHandle,
IN POLICY_INFORMATION_CLASS InformationClass,
OUT PLSAPR_POLICY_INFORMATION *PolicyInformation);
/* EOF */

View file

@ -4,8 +4,8 @@
@ stdcall LsaApInitializePackage(long ptr ptr ptr ptr)
@ stdcall LsaApLogonTerminated(ptr)
@ stdcall LsaApLogonUser(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr)
@ stub LsaApLogonUserEx
@ stub LsaApLogonUserEx2
#@ stdcall LsaApLogonUserEx(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr)
#@ stdcall LsaApLogonUserEx2(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
@ stub Msv1_0ExportSubAuthenticationRoutine
@ stub Msv1_0SubAuthenticationPresent
@ stub MsvGetLogonAttemptCount

View file

@ -606,7 +606,7 @@ static HRESULT WINAPI domattr_put_value(
TRACE("(%p)->(%s)\n", This, debugstr_variant(&value));
return node_put_value(&This->node, &value);
return node_put_value_escaped(&This->node, &value);
}
static const struct IXMLDOMAttributeVtbl domattr_vtbl =

View file

@ -293,10 +293,9 @@ static HRESULT WINAPI domcdata_insertBefore(
IXMLDOMNode** outOldNode)
{
domcdata *This = impl_from_IXMLDOMCDATASection( iface );
FIXME("(%p)->(%p %s %p) needs test\n", This, newNode, debugstr_variant(&refChild), outOldNode);
return node_insert_before(&This->node, newNode, &refChild, outOldNode);
TRACE("(%p)->(%p %s %p)\n", This, newNode, debugstr_variant(&refChild), outOldNode);
if (outOldNode) *outOldNode = NULL;
return E_FAIL;
}
static HRESULT WINAPI domcdata_replaceChild(
@ -306,10 +305,9 @@ static HRESULT WINAPI domcdata_replaceChild(
IXMLDOMNode** outOldNode)
{
domcdata *This = impl_from_IXMLDOMCDATASection( iface );
FIXME("(%p)->(%p %p %p) needs tests\n", This, newNode, oldNode, outOldNode);
return node_replace_child(&This->node, newNode, oldNode, outOldNode);
TRACE("(%p)->(%p %p %p)\n", This, newNode, oldNode, outOldNode);
if (outOldNode) *outOldNode = NULL;
return E_FAIL;
}
static HRESULT WINAPI domcdata_removeChild(
@ -318,7 +316,8 @@ static HRESULT WINAPI domcdata_removeChild(
{
domcdata *This = impl_from_IXMLDOMCDATASection( iface );
TRACE("(%p)->(%p %p)\n", This, child, oldChild);
return node_remove_child(&This->node, child, oldChild);
if (oldChild) *oldChild = NULL;
return E_FAIL;
}
static HRESULT WINAPI domcdata_appendChild(
@ -327,7 +326,8 @@ static HRESULT WINAPI domcdata_appendChild(
{
domcdata *This = impl_from_IXMLDOMCDATASection( iface );
TRACE("(%p)->(%p %p)\n", This, child, outChild);
return node_append_child(&This->node, child, outChild);
if (outChild) *outChild = NULL;
return E_FAIL;
}
static HRESULT WINAPI domcdata_hasChildNodes(

View file

@ -601,6 +601,7 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
hres = IUnknown_QueryInterface(This->outer, get_riid_from_tid(data->funcs[n].tid), (void**)&unk);
if(FAILED(hres)) {
ERR("Could not get iface: %08x\n", hres);
ITypeInfo_Release(ti);
return E_FAIL;
}

View file

@ -135,9 +135,6 @@ struct domdoc
bsc_t *bsc;
HRESULT error;
/* IPersistStream */
IStream *stream;
/* IObjectWithSite*/
IUnknown *site;
@ -559,19 +556,28 @@ void xmldoc_init(xmlDocPtr doc, MSXML_VERSION version)
priv_from_xmlDocPtr(doc)->properties = create_properties(version);
}
LONG xmldoc_add_ref(xmlDocPtr doc)
LONG xmldoc_add_refs(xmlDocPtr doc, LONG refs)
{
LONG ref = InterlockedIncrement(&priv_from_xmlDocPtr(doc)->refs);
LONG ref = InterlockedExchangeAdd(&priv_from_xmlDocPtr(doc)->refs, refs) + refs;
TRACE("(%p)->(%d)\n", doc, ref);
return ref;
}
LONG xmldoc_release(xmlDocPtr doc)
LONG xmldoc_add_ref(xmlDocPtr doc)
{
return xmldoc_add_refs(doc, 1);
}
LONG xmldoc_release_refs(xmlDocPtr doc, LONG refs)
{
xmldoc_priv *priv = priv_from_xmlDocPtr(doc);
LONG ref = InterlockedDecrement(&priv->refs);
LONG ref = InterlockedExchangeAdd(&priv->refs, -refs) - refs;
TRACE("(%p)->(%d)\n", doc, ref);
if(ref == 0)
if (ref < 0)
WARN("negative refcount, expect troubles\n");
if (ref == 0)
{
orphan_entry *orphan, *orphan2;
TRACE("freeing docptr %p\n", doc);
@ -590,6 +596,11 @@ LONG xmldoc_release(xmlDocPtr doc)
return ref;
}
LONG xmldoc_release(xmlDocPtr doc)
{
return xmldoc_release_refs(doc, 1);
}
HRESULT xmldoc_add_orphan(xmlDocPtr doc, xmlNodePtr node)
{
xmldoc_priv *priv = priv_from_xmlDocPtr(doc);
@ -624,7 +635,7 @@ HRESULT xmldoc_remove_orphan(xmlDocPtr doc, xmlNodePtr node)
static inline xmlDocPtr get_doc( domdoc *This )
{
return (xmlDocPtr)This->node.node;
return This->node.node->doc;
}
static HRESULT attach_xmldoc(domdoc *This, xmlDocPtr xml )
@ -721,46 +732,42 @@ static HRESULT WINAPI PersistStreamInit_IsDirty(
return S_FALSE;
}
static HRESULT WINAPI PersistStreamInit_Load(
IPersistStreamInit *iface, LPSTREAM pStm)
static HRESULT domdoc_load_from_stream(domdoc *doc, ISequentialStream *stream)
{
domdoc *This = impl_from_IPersistStreamInit(iface);
HRESULT hr;
HGLOBAL hglobal;
DWORD read, written, len;
BYTE buf[4096];
char *ptr;
xmlDocPtr xmldoc = NULL;
IStream *hstream;
HGLOBAL hglobal;
BYTE buf[4096];
HRESULT hr;
char *ptr;
TRACE("(%p)->(%p)\n", This, pStm);
if (!pStm)
return E_INVALIDARG;
hr = CreateStreamOnHGlobal(NULL, TRUE, &This->stream);
hstream = NULL;
hr = CreateStreamOnHGlobal(NULL, TRUE, &hstream);
if (FAILED(hr))
return hr;
do
{
IStream_Read(pStm, buf, sizeof(buf), &read);
hr = IStream_Write(This->stream, buf, read, &written);
ISequentialStream_Read(stream, buf, sizeof(buf), &read);
hr = IStream_Write(hstream, buf, read, &written);
} while(SUCCEEDED(hr) && written != 0 && read != 0);
if (FAILED(hr))
{
ERR("Failed to copy stream\n");
ERR("failed to copy stream 0x%08x\n", hr);
IStream_Release(hstream);
return hr;
}
hr = GetHGlobalFromStream(This->stream, &hglobal);
hr = GetHGlobalFromStream(hstream, &hglobal);
if (FAILED(hr))
return hr;
len = GlobalSize(hglobal);
ptr = GlobalLock(hglobal);
if (len != 0)
xmldoc = doparse(This, ptr, len, XML_CHAR_ENCODING_NONE);
if (len)
xmldoc = doparse(doc, ptr, len, XML_CHAR_ENCODING_NONE);
GlobalUnlock(hglobal);
if (!xmldoc)
@ -771,7 +778,19 @@ static HRESULT WINAPI PersistStreamInit_Load(
xmldoc->_private = create_priv();
return attach_xmldoc(This, xmldoc);
return attach_xmldoc(doc, xmldoc);
}
static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, IStream *stream)
{
domdoc *This = impl_from_IPersistStreamInit(iface);
TRACE("(%p)->(%p)\n", This, stream);
if (!stream)
return E_INVALIDARG;
return domdoc_load_from_stream(This, (ISequentialStream*)stream);
}
static HRESULT WINAPI PersistStreamInit_Save(
@ -801,7 +820,7 @@ static HRESULT WINAPI PersistStreamInit_GetSizeMax(
IPersistStreamInit *iface, ULARGE_INTEGER *pcbSize)
{
domdoc *This = impl_from_IPersistStreamInit(iface);
TRACE("(%p)->(%p): stub!\n", This, pcbSize);
TRACE("(%p)->(%p)\n", This, pcbSize);
return E_NOTIMPL;
}
@ -914,8 +933,6 @@ static ULONG WINAPI domdoc_Release( IXMLDOMDocument3 *iface )
if (This->site)
IUnknown_Release( This->site );
destroy_xmlnode(&This->node);
if (This->stream)
IStream_Release(This->stream);
for (eid = 0; eid < EVENTID_LAST; eid++)
if (This->events[eid]) IDispatch_Release(This->events[eid]);
@ -1115,12 +1132,26 @@ static HRESULT WINAPI domdoc_insertBefore(
IXMLDOMNode** outNewChild )
{
domdoc *This = impl_from_IXMLDOMDocument3( iface );
DOMNodeType type;
HRESULT hr;
TRACE("(%p)->(%p %s %p)\n", This, newChild, debugstr_variant(&refChild), outNewChild);
return node_insert_before(&This->node, newChild, &refChild, outNewChild);
}
hr = IXMLDOMNode_get_nodeType(newChild, &type);
if (hr != S_OK) return hr;
TRACE("new node type %d\n", type);
switch (type)
{
case NODE_ATTRIBUTE:
case NODE_DOCUMENT:
case NODE_CDATA_SECTION:
if (outNewChild) *outNewChild = NULL;
return E_FAIL;
default:
return node_insert_before(&This->node, newChild, &refChild, outNewChild);
}
}
static HRESULT WINAPI domdoc_replaceChild(
IXMLDOMDocument3 *iface,
@ -1510,7 +1541,9 @@ static HRESULT WINAPI domdoc_put_documentElement(
domdoc *This = impl_from_IXMLDOMDocument3( iface );
IXMLDOMNode *elementNode;
xmlNodePtr oldRoot;
xmlDocPtr old_doc;
xmlnode *xmlNode;
int refcount = 0;
HRESULT hr;
TRACE("(%p)->(%p)\n", This, DOMElement);
@ -1526,7 +1559,14 @@ static HRESULT WINAPI domdoc_put_documentElement(
if(xmldoc_remove_orphan(xmlNode->node->doc, xmlNode->node) != S_OK)
WARN("%p is not an orphan of %p\n", xmlNode->node->doc, xmlNode->node);
old_doc = xmlNode->node->doc;
if (old_doc != get_doc(This))
refcount = xmlnode_get_inst_cnt(xmlNode);
/* old root is still orphaned by its document, update refcount from new root */
if (refcount) xmldoc_add_refs(get_doc(This), refcount);
oldRoot = xmlDocSetRootElement( get_doc(This), xmlNode->node);
if (refcount) xmldoc_release_refs(old_doc, refcount);
IXMLDOMNode_Release( elementNode );
if(oldRoot)
@ -2029,8 +2069,6 @@ static HRESULT WINAPI domdoc_load(
domdoc *This = impl_from_IXMLDOMDocument3( iface );
LPWSTR filename = NULL;
HRESULT hr = S_FALSE;
IXMLDOMDocument3 *pNewDoc = NULL;
IStream *pStream = NULL;
xmlDocPtr xmldoc;
TRACE("(%p)->(%s)\n", This, debugstr_variant(&source));
@ -2096,13 +2134,18 @@ static HRESULT WINAPI domdoc_load(
}
break;
case VT_UNKNOWN:
{
ISequentialStream *stream = NULL;
IXMLDOMDocument3 *newdoc = NULL;
if (!V_UNKNOWN(&source)) return E_INVALIDARG;
hr = IUnknown_QueryInterface(V_UNKNOWN(&source), &IID_IXMLDOMDocument3, (void**)&pNewDoc);
hr = IUnknown_QueryInterface(V_UNKNOWN(&source), &IID_IXMLDOMDocument3, (void**)&newdoc);
if(hr == S_OK)
{
if(pNewDoc)
if(newdoc)
{
domdoc *newDoc = impl_from_IXMLDOMDocument3( pNewDoc );
domdoc *newDoc = impl_from_IXMLDOMDocument3( newdoc );
xmldoc = xmlCopyDoc(get_doc(newDoc), 1);
xmldoc->_private = create_priv();
@ -2114,40 +2157,25 @@ static HRESULT WINAPI domdoc_load(
return hr;
}
}
hr = IUnknown_QueryInterface(V_UNKNOWN(&source), &IID_IStream, (void**)&pStream);
if(hr == S_OK)
{
IPersistStream *pDocStream;
hr = IXMLDOMDocument3_QueryInterface(iface, &IID_IPersistStream, (void**)&pDocStream);
if(hr == S_OK)
{
hr = IPersistStream_Load(pDocStream, pStream);
IStream_Release(pStream);
if(hr == S_OK)
{
*isSuccessful = VARIANT_TRUE;
TRACE("Using IStream to load Document\n");
return S_OK;
}
else
{
ERR("xmldoc_IPersistStream_Load failed (%d)\n", hr);
}
}
else
{
ERR("QueryInterface IID_IPersistStream failed (%d)\n", hr);
}
}
else
hr = IUnknown_QueryInterface(V_UNKNOWN(&source), &IID_IStream, (void**)&stream);
if (FAILED(hr))
hr = IUnknown_QueryInterface(V_UNKNOWN(&source), &IID_ISequentialStream, (void**)&stream);
if (hr == S_OK)
{
/* ISequentialStream */
FIXME("Unknown type not supported (%d) (%p)(%p)\n", hr, pNewDoc, V_UNKNOWN(&source)->lpVtbl);
hr = domdoc_load_from_stream(This, stream);
if (hr == S_OK)
*isSuccessful = VARIANT_TRUE;
ISequentialStream_Release(stream);
return hr;
}
FIXME("unsupported IUnknown type (0x%08x) (%p)\n", hr, V_UNKNOWN(&source)->lpVtbl);
break;
default:
FIXME("VT type not supported (%d)\n", V_VT(&source));
}
default:
FIXME("VT type not supported (%d)\n", V_VT(&source));
}
if ( filename )
@ -3251,12 +3279,43 @@ static HRESULT WINAPI ConnectionPoint_GetConnectionPointContainer(IConnectionPoi
return S_OK;
}
static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *pUnkSink,
DWORD *pdwCookie)
static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *unk_sink,
DWORD *cookie)
{
ConnectionPoint *This = impl_from_IConnectionPoint(iface);
FIXME("(%p)->(%p %p): stub\n", This, pUnkSink, pdwCookie);
return E_NOTIMPL;
IUnknown *sink;
HRESULT hr;
DWORD i;
TRACE("(%p)->(%p %p)\n", This, unk_sink, cookie);
hr = IUnknown_QueryInterface(unk_sink, This->iid, (void**)&sink);
if(FAILED(hr) && !IsEqualGUID(&IID_IPropertyNotifySink, This->iid))
hr = IUnknown_QueryInterface(unk_sink, &IID_IDispatch, (void**)&sink);
if(FAILED(hr))
return CONNECT_E_CANNOTCONNECT;
if(This->sinks)
{
for (i = 0; i < This->sinks_size; i++)
if (!This->sinks[i].unk)
break;
if (i == This->sinks_size)
This->sinks = heap_realloc(This->sinks,(++This->sinks_size)*sizeof(*This->sinks));
}
else
{
This->sinks = heap_alloc(sizeof(*This->sinks));
This->sinks_size = 1;
i = 0;
}
This->sinks[i].unk = sink;
if (cookie)
*cookie = i+1;
return S_OK;
}
static HRESULT WINAPI ConnectionPoint_Unadvise(IConnectionPoint *iface, DWORD cookie)
@ -3466,7 +3525,6 @@ HRESULT get_domdoc_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document)
doc->resolving = 0;
doc->properties = properties_from_xmlDocPtr(xmldoc);
doc->error = S_OK;
doc->stream = NULL;
doc->site = NULL;
doc->safeopt = 0;
doc->bsc = NULL;

View file

@ -304,13 +304,29 @@ static HRESULT WINAPI domelem_get_attributes(
static HRESULT WINAPI domelem_insertBefore(
IXMLDOMElement *iface,
IXMLDOMNode* newNode, VARIANT refChild,
IXMLDOMNode** outOldNode)
IXMLDOMNode** old_node)
{
domelem *This = impl_from_IXMLDOMElement( iface );
DOMNodeType type;
HRESULT hr;
TRACE("(%p)->(%p %s %p)\n", This, newNode, debugstr_variant(&refChild), outOldNode);
TRACE("(%p)->(%p %s %p)\n", This, newNode, debugstr_variant(&refChild), old_node);
return node_insert_before(&This->node, newNode, &refChild, outOldNode);
hr = IXMLDOMNode_get_nodeType(newNode, &type);
if (hr != S_OK) return hr;
TRACE("new node type %d\n", type);
switch (type)
{
case NODE_DOCUMENT:
case NODE_DOCUMENT_TYPE:
case NODE_ENTITY:
case NODE_NOTATION:
if (old_node) *old_node = NULL;
return E_FAIL;
default:
return node_insert_before(&This->node, newNode, &refChild, old_node);
}
}
static HRESULT WINAPI domelem_replaceChild(
@ -739,7 +755,7 @@ static HRESULT encode_base64(const BYTE *buf, int len, BSTR *ret)
{
static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const BYTE *d = buf;
int bytes, pad_bytes, div, i;
int bytes, pad_bytes, div;
DWORD needed;
WCHAR *ptr;
@ -756,7 +772,6 @@ static HRESULT encode_base64(const BYTE *buf, int len, BSTR *ret)
div = len / 3;
ptr = *ret;
i = 0;
while (div > 0)
{
/* first char is the first 6 bits of the first byte*/
@ -769,7 +784,6 @@ static HRESULT encode_base64(const BYTE *buf, int len, BSTR *ret)
*ptr++ = b64[ ((d[1] << 2) & 0x3c) | (d[2] >> 6 & 0x03)];
/* fourth char is the remaining 6 bits of the third byte */
*ptr++ = b64[ d[2] & 0x3f];
i += 4;
d += 3;
div--;
}
@ -1232,8 +1246,7 @@ static HRESULT WINAPI domelem_setAttribute(
domelem *This = impl_from_IXMLDOMElement( iface );
xmlChar *xml_name, *xml_value, *local, *prefix;
xmlNodePtr element;
HRESULT hr;
VARIANT var;
HRESULT hr = S_OK;
TRACE("(%p)->(%s %s)\n", This, debugstr_w(name), debugstr_variant(&value));
@ -1241,16 +1254,25 @@ static HRESULT WINAPI domelem_setAttribute(
if ( !element )
return E_FAIL;
VariantInit(&var);
hr = VariantChangeType(&var, &value, 0, VT_BSTR);
if(hr != S_OK)
if (V_VT(&value) != VT_BSTR)
{
FIXME("VariantChangeType failed\n");
return hr;
VARIANT var;
VariantInit(&var);
hr = VariantChangeType(&var, &value, 0, VT_BSTR);
if (hr != S_OK)
{
FIXME("VariantChangeType failed\n");
return hr;
}
xml_value = xmlchar_from_wchar(V_BSTR(&var));
VariantClear(&var);
}
else
xml_value = xmlchar_from_wchar(V_BSTR(&value));
xml_name = xmlchar_from_wchar( name );
xml_value = xmlchar_from_wchar( V_BSTR(&var) );
if ((local = xmlSplitQName2(xml_name, &prefix)))
{
@ -1273,7 +1295,6 @@ static HRESULT WINAPI domelem_setAttribute(
heap_free(xml_value);
heap_free(xml_name);
VariantClear(&var);
return hr;
}

View file

@ -101,7 +101,7 @@ static const struct clsid_version_t clsid_versions_table[] =
static MSXML_VERSION get_msxml_version(const GUID *clsid)
{
int i;
unsigned int i;
for (i = 0; i < sizeof(clsid_versions_table)/sizeof(struct clsid_version_t); i++)
if (IsEqualGUID(clsid, clsid_versions_table[i].clsid))

View file

@ -85,8 +85,8 @@ typedef struct
/* request */
BINDVERB verb;
BSTR custom;
BSTR siteurl;
BSTR url;
IUri *uri;
IUri *base_uri;
BOOL async;
struct list reqheaders;
/* cached resulting custom request headers string length in WCHARs */
@ -144,9 +144,17 @@ static inline serverhttp *impl_from_IServerXMLHTTPRequest(IServerXMLHTTPRequest
static void httprequest_setreadystate(httprequest *This, READYSTATE state)
{
READYSTATE last = This->state;
static const char* readystates[] = {
"READYSTATE_UNINITIALIZED",
"READYSTATE_LOADING",
"READYSTATE_LOADED",
"READYSTATE_INTERACTIVE",
"READYSTATE_COMPLETE"};
This->state = state;
TRACE("state %s\n", readystates[state]);
if (This->sink && last != state)
{
DISPPARAMS params;
@ -209,6 +217,7 @@ static void BindStatusCallback_Detach(BindStatusCallback *bsc)
if (bsc)
{
if (bsc->binding) IBinding_Abort(bsc->binding);
bsc->request->bsc = NULL;
bsc->request = NULL;
IBindStatusCallback_Release(&bsc->IBindStatusCallback_iface);
}
@ -343,7 +352,11 @@ static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *ifac
}
if (hr == S_OK)
{
BindStatusCallback_Detach(This->request->bsc);
This->request->bsc = This;
httprequest_setreadystate(This->request, READYSTATE_COMPLETE);
}
return S_OK;
}
@ -688,23 +701,28 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
case VT_ARRAY|VT_UI1:
{
sa = V_ARRAY(body);
if ((hr = SafeArrayAccessData(sa, (void **)&ptr)) != S_OK) return hr;
if ((hr = SafeArrayAccessData(sa, (void **)&ptr)) != S_OK)
{
heap_free(bsc);
return hr;
}
if ((hr = SafeArrayGetUBound(sa, 1, &size) != S_OK))
{
SafeArrayUnaccessData(sa);
heap_free(bsc);
return hr;
}
size++;
break;
}
default:
FIXME("unsupported body data type %d\n", V_VT(body));
/* fall through */
case VT_EMPTY:
case VT_ERROR:
ptr = NULL;
size = 0;
break;
default:
FIXME("unsupported body data type %d\n", V_VT(body));
break;
}
bsc->body = GlobalAlloc(GMEM_FIXED, size);
@ -734,7 +752,7 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
{
IMoniker *moniker;
hr = CreateURLMoniker(NULL, This->url, &moniker);
hr = CreateURLMonikerEx2(NULL, This->uri, &moniker, URL_MK_UNIFORM);
if (hr == S_OK)
{
IStream *stream;
@ -756,6 +774,53 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
return hr;
}
static HRESULT verify_uri(httprequest *This, IUri *uri)
{
DWORD scheme, base_scheme;
BSTR host, base_host;
HRESULT hr;
if(!(This->safeopt & INTERFACESAFE_FOR_UNTRUSTED_DATA))
return S_OK;
if(!This->base_uri)
return E_ACCESSDENIED;
hr = IUri_GetScheme(uri, &scheme);
if(FAILED(hr))
return hr;
hr = IUri_GetScheme(This->base_uri, &base_scheme);
if(FAILED(hr))
return hr;
if(scheme != base_scheme) {
WARN("Schemes don't match\n");
return E_ACCESSDENIED;
}
if(scheme == INTERNET_SCHEME_UNKNOWN) {
FIXME("Unknown scheme\n");
return E_ACCESSDENIED;
}
hr = IUri_GetHost(uri, &host);
if(FAILED(hr))
return hr;
hr = IUri_GetHost(This->base_uri, &base_host);
if(SUCCEEDED(hr)) {
if(strcmpiW(host, base_host)) {
WARN("Hosts don't match\n");
hr = E_ACCESSDENIED;
}
SysFreeString(base_host);
}
SysFreeString(host);
return hr;
}
static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
VARIANT async, VARIANT user, VARIANT password)
{
@ -765,15 +830,20 @@ static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
static const WCHAR MethodDeleteW[] = {'D','E','L','E','T','E',0};
static const WCHAR MethodPropFindW[] = {'P','R','O','P','F','I','N','D',0};
VARIANT str, is_async;
IUri *uri;
HRESULT hr;
if (!method || !url) return E_INVALIDARG;
/* free previously set data */
SysFreeString(This->url);
if(This->uri) {
IUri_Release(This->uri);
This->uri = NULL;
}
SysFreeString(This->user);
SysFreeString(This->password);
This->url = This->user = This->password = NULL;
This->user = This->password = NULL;
if (!strcmpiW(method, MethodGetW))
{
@ -800,22 +870,22 @@ static HRESULT httprequest_open(httprequest *This, BSTR method, BSTR url,
return E_FAIL;
}
/* try to combine with site url */
if (This->siteurl && PathIsRelativeW(url))
{
DWORD len = INTERNET_MAX_URL_LENGTH;
WCHAR *fullW = heap_alloc(len*sizeof(WCHAR));
hr = UrlCombineW(This->siteurl, url, fullW, &len, 0);
if (hr == S_OK)
{
TRACE("combined url %s\n", debugstr_w(fullW));
This->url = SysAllocString(fullW);
}
heap_free(fullW);
}
if(This->base_uri)
hr = CoInternetCombineUrlEx(This->base_uri, url, 0, &uri, 0);
else
This->url = SysAllocString(url);
hr = CreateUri(url, 0, 0, &uri);
if(FAILED(hr)) {
WARN("Could not create IUri object: %08x\n", hr);
return hr;
}
hr = verify_uri(This, uri);
if(FAILED(hr)) {
IUri_Release(uri);
return hr;
}
This->uri = uri;
VariantInit(&is_async);
hr = VariantChangeType(&is_async, &async, 0, VT_BOOL);
@ -881,7 +951,8 @@ static HRESULT httprequest_getResponseHeader(httprequest *This, BSTR header, BST
{
struct httpheader *entry;
if (!header || !value) return E_INVALIDARG;
if (!header) return E_INVALIDARG;
if (!value) return E_POINTER;
if (This->raw_respheaders && list_empty(&This->respheaders))
{
@ -915,7 +986,7 @@ static HRESULT httprequest_getResponseHeader(httprequest *This, BSTR header, BST
static HRESULT httprequest_getAllResponseHeaders(httprequest *This, BSTR *respheaders)
{
if (!respheaders) return E_INVALIDARG;
if (!respheaders) return E_POINTER;
*respheaders = SysAllocString(This->raw_respheaders);
@ -930,10 +1001,9 @@ static HRESULT httprequest_send(httprequest *This, VARIANT body)
if (This->state != READYSTATE_LOADING) return E_FAIL;
hr = BindStatusCallback_create(This, &bsc, &body);
if (FAILED(hr)) return hr;
BindStatusCallback_Detach(This->bsc);
This->bsc = bsc;
if (FAILED(hr))
/* success path to detach it is OnStopBinding call */
BindStatusCallback_Detach(bsc);
return hr;
}
@ -941,7 +1011,6 @@ static HRESULT httprequest_send(httprequest *This, VARIANT body)
static HRESULT httprequest_abort(httprequest *This)
{
BindStatusCallback_Detach(This->bsc);
This->bsc = NULL;
httprequest_setreadystate(This, READYSTATE_UNINITIALIZED);
@ -950,17 +1019,16 @@ static HRESULT httprequest_abort(httprequest *This)
static HRESULT httprequest_get_status(httprequest *This, LONG *status)
{
if (!status) return E_INVALIDARG;
if (This->state != READYSTATE_COMPLETE) return E_FAIL;
if (!status) return E_POINTER;
*status = This->status;
return S_OK;
return This->state == READYSTATE_COMPLETE ? S_OK : E_FAIL;
}
static HRESULT httprequest_get_statusText(httprequest *This, BSTR *status)
{
if (!status) return E_INVALIDARG;
if (!status) return E_POINTER;
if (This->state != READYSTATE_COMPLETE) return E_FAIL;
*status = SysAllocString(This->status_text);
@ -973,7 +1041,7 @@ static HRESULT httprequest_get_responseText(httprequest *This, BSTR *body)
HGLOBAL hglobal;
HRESULT hr;
if (!body) return E_INVALIDARG;
if (!body) return E_POINTER;
if (This->state != READYSTATE_COMPLETE) return E_FAIL;
hr = GetHGlobalFromStream(This->bsc->stream, &hglobal);
@ -1119,7 +1187,7 @@ static HRESULT httprequest_get_responseStream(httprequest *This, VARIANT *body)
static HRESULT httprequest_get_readyState(httprequest *This, LONG *state)
{
if (!state) return E_INVALIDARG;
if (!state) return E_POINTER;
*state = This->state;
return S_OK;
@ -1139,10 +1207,12 @@ static void httprequest_release(httprequest *This)
if (This->site)
IUnknown_Release( This->site );
if (This->uri)
IUri_Release(This->uri);
if (This->base_uri)
IUri_Release(This->base_uri);
SysFreeString(This->custom);
SysFreeString(This->siteurl);
SysFreeString(This->url);
SysFreeString(This->user);
SysFreeString(This->password);
@ -1442,37 +1512,55 @@ static HRESULT WINAPI httprequest_ObjectWithSite_GetSite( IObjectWithSite *iface
return IUnknown_QueryInterface( This->site, iid, ppvSite );
}
static void get_base_uri(httprequest *This)
{
IServiceProvider *provider;
IHTMLDocument2 *doc;
IUri *uri;
BSTR url;
HRESULT hr;
hr = IUnknown_QueryInterface(This->site, &IID_IServiceProvider, (void**)&provider);
if(FAILED(hr))
return;
hr = IServiceProvider_QueryService(provider, &SID_SContainerDispatch, &IID_IHTMLDocument2, (void**)&doc);
IServiceProvider_Release(provider);
if(FAILED(hr))
return;
hr = IHTMLDocument2_get_URL(doc, &url);
IHTMLDocument2_Release(doc);
if(FAILED(hr) || !url || !*url)
return;
TRACE("host url %s\n", debugstr_w(url));
hr = CreateUri(url, 0, 0, &uri);
SysFreeString(url);
if(FAILED(hr))
return;
This->base_uri = uri;
}
static HRESULT WINAPI httprequest_ObjectWithSite_SetSite( IObjectWithSite *iface, IUnknown *punk )
{
httprequest *This = impl_from_IObjectWithSite(iface);
IServiceProvider *provider;
HRESULT hr;
TRACE("(%p)->(%p)\n", iface, punk);
if (punk)
IUnknown_AddRef( punk );
TRACE("(%p)->(%p)\n", This, punk);
if(This->site)
IUnknown_Release( This->site );
if(This->base_uri)
IUri_Release(This->base_uri);
This->site = punk;
hr = IUnknown_QueryInterface(This->site, &IID_IServiceProvider, (void**)&provider);
if (hr == S_OK)
if (punk)
{
IHTMLDocument2 *doc;
hr = IServiceProvider_QueryService(provider, &SID_SContainerDispatch, &IID_IHTMLDocument2, (void**)&doc);
if (hr == S_OK)
{
SysFreeString(This->siteurl);
hr = IHTMLDocument2_get_URL(doc, &This->siteurl);
IHTMLDocument2_Release(doc);
TRACE("host url %s, 0x%08x\n", debugstr_w(This->siteurl), hr);
}
IServiceProvider_Release(provider);
IUnknown_AddRef( punk );
get_base_uri(This);
}
return S_OK;
@ -1826,7 +1914,8 @@ static void init_httprequest(httprequest *req)
req->async = FALSE;
req->verb = -1;
req->custom = NULL;
req->url = req->siteurl = req->user = req->password = NULL;
req->uri = req->base_uri = NULL;
req->user = req->password = NULL;
req->state = READYSTATE_UNINITIALIZED;
req->sink = NULL;

View file

@ -276,6 +276,8 @@ const char *debugstr_variant(const VARIANT *v)
return wine_dbg_sprintf("{VT_I2: %d}", V_I2(v));
case VT_I4:
return wine_dbg_sprintf("{VT_I4: %d}", V_I4(v));
case VT_INT:
return wine_dbg_sprintf("{VT_INT: %d}", V_INT(v));
case VT_R8:
return wine_dbg_sprintf("{VT_R8: %lf}", V_R8(v));
case VT_BSTR:

View file

@ -194,7 +194,8 @@ static inline LPWSTR heap_strdupW(LPCWSTR str)
size = (strlenW(str)+1)*sizeof(WCHAR);
ret = heap_alloc(size);
memcpy(ret, str, size);
if(ret)
memcpy(ret, str, size);
}
return ret;
@ -291,6 +292,9 @@ extern xmlChar *xmlChar_from_wchar( LPCWSTR str ) DECLSPEC_HIDDEN;
extern void xmldoc_init( xmlDocPtr doc, MSXML_VERSION version ) DECLSPEC_HIDDEN;
extern LONG xmldoc_add_ref( xmlDocPtr doc ) DECLSPEC_HIDDEN;
extern LONG xmldoc_release( xmlDocPtr doc ) DECLSPEC_HIDDEN;
extern LONG xmldoc_add_refs( xmlDocPtr doc, LONG refs ) DECLSPEC_HIDDEN;
extern LONG xmldoc_release_refs ( xmlDocPtr doc, LONG refs ) DECLSPEC_HIDDEN;
extern int xmlnode_get_inst_cnt( xmlnode *node ) DECLSPEC_HIDDEN;
extern HRESULT xmldoc_add_orphan( xmlDocPtr doc, xmlNodePtr node ) DECLSPEC_HIDDEN;
extern HRESULT xmldoc_remove_orphan( xmlDocPtr doc, xmlNodePtr node ) DECLSPEC_HIDDEN;
extern void xmldoc_link_xmldecl(xmlDocPtr doc, xmlNodePtr node) DECLSPEC_HIDDEN;
@ -404,6 +408,21 @@ static inline xmlChar *xmlchar_from_wchar( const WCHAR *str )
return xmlchar_from_wcharn(str, -1);
}
static inline xmlChar *heap_strdupxmlChar(const xmlChar *str)
{
xmlChar *ret = NULL;
if(str) {
DWORD size;
size = (xmlStrlen(str)+1)*sizeof(xmlChar);
ret = heap_alloc(size);
memcpy(ret, str, size);
}
return ret;
}
#endif
static inline HRESULT return_bstr(const WCHAR *value, BSTR *p)

View file

@ -291,7 +291,9 @@ static HRESULT alloc_output_buffer(xml_encoding encoding, output_buffer **buffer
return hr;
}
if (ret->code_page == CP_UTF8) {
/* currently we always create a default output buffer that is UTF-16 only,
but it's possible to allocate with specific encoding too */
if (encoding != XmlEncoding_UTF16) {
hr = init_encoded_buffer(&ret->encoded);
if (hr != S_OK) {
free_encoded_buffer(&ret->utf16);

View file

@ -285,36 +285,48 @@ static HRESULT node_set_content_escaped(xmlnode *This, LPCWSTR value)
HRESULT node_put_value(xmlnode *This, VARIANT *value)
{
VARIANT string_value;
HRESULT hr;
VariantInit(&string_value);
hr = VariantChangeType(&string_value, value, 0, VT_BSTR);
if(FAILED(hr)) {
WARN("Couldn't convert to VT_BSTR\n");
return hr;
}
if (V_VT(value) != VT_BSTR)
{
VARIANT string_value;
hr = node_set_content(This, V_BSTR(&string_value));
VariantClear(&string_value);
VariantInit(&string_value);
hr = VariantChangeType(&string_value, value, 0, VT_BSTR);
if(FAILED(hr)) {
WARN("Couldn't convert to VT_BSTR\n");
return hr;
}
hr = node_set_content(This, V_BSTR(&string_value));
VariantClear(&string_value);
}
else
hr = node_set_content(This, V_BSTR(value));
return hr;
}
HRESULT node_put_value_escaped(xmlnode *This, VARIANT *value)
{
VARIANT string_value;
HRESULT hr;
VariantInit(&string_value);
hr = VariantChangeType(&string_value, value, 0, VT_BSTR);
if(FAILED(hr)) {
WARN("Couldn't convert to VT_BSTR\n");
return hr;
}
if (V_VT(value) != VT_BSTR)
{
VARIANT string_value;
hr = node_set_content_escaped(This, V_BSTR(&string_value));
VariantClear(&string_value);
VariantInit(&string_value);
hr = VariantChangeType(&string_value, value, 0, VT_BSTR);
if(FAILED(hr)) {
WARN("Couldn't convert to VT_BSTR\n");
return hr;
}
hr = node_set_content_escaped(This, V_BSTR(&string_value));
VariantClear(&string_value);
}
else
hr = node_set_content_escaped(This, V_BSTR(value));
return hr;
}
@ -377,11 +389,45 @@ HRESULT node_get_next_sibling(xmlnode *This, IXMLDOMNode **ret)
return get_node(This, "next", This->node->next, ret);
}
static int node_get_inst_cnt(xmlNodePtr node)
{
int ret = *(LONG *)&node->_private;
xmlNodePtr child;
/* add attribute counts */
if (node->type == XML_ELEMENT_NODE)
{
xmlAttrPtr prop = node->properties;
while (prop)
{
ret += node_get_inst_cnt((xmlNodePtr)prop);
prop = prop->next;
}
}
/* add children counts */
child = node->children;
while (child)
{
ret += node_get_inst_cnt(child);
child = child->next;
}
return ret;
}
int xmlnode_get_inst_cnt(xmlnode *node)
{
return node_get_inst_cnt(node->node);
}
HRESULT node_insert_before(xmlnode *This, IXMLDOMNode *new_child, const VARIANT *ref_child,
IXMLDOMNode **ret)
{
IXMLDOMNode *before = NULL;
xmlnode *node_obj;
int refcount = 0;
xmlDocPtr doc;
HRESULT hr;
@ -417,6 +463,8 @@ HRESULT node_insert_before(xmlnode *This, IXMLDOMNode *new_child, const VARIANT
if(xmldoc_remove_orphan(node_obj->node->doc, node_obj->node) != S_OK)
WARN("%p is not an orphan of %p\n", node_obj->node, node_obj->node->doc);
refcount = xmlnode_get_inst_cnt(node_obj);
if(before)
{
xmlnode *before_node_obj = get_node_obj(before);
@ -429,10 +477,16 @@ HRESULT node_insert_before(xmlnode *This, IXMLDOMNode *new_child, const VARIANT
hr = IXMLDOMNode_removeChild(node_obj->parent, node_obj->iface, NULL);
if (hr == S_OK) xmldoc_remove_orphan(node_obj->node->doc, node_obj->node);
}
doc = node_obj->node->doc;
xmldoc_add_ref(before_node_obj->node->doc);
/* refs count including subtree */
if (doc != before_node_obj->node->doc)
refcount = xmlnode_get_inst_cnt(node_obj);
if (refcount) xmldoc_add_refs(before_node_obj->node->doc, refcount);
xmlAddPrevSibling(before_node_obj->node, node_obj->node);
xmldoc_release(doc);
if (refcount) xmldoc_release_refs(doc, refcount);
node_obj->parent = This->parent;
}
else
@ -444,11 +498,15 @@ HRESULT node_insert_before(xmlnode *This, IXMLDOMNode *new_child, const VARIANT
if (hr == S_OK) xmldoc_remove_orphan(node_obj->node->doc, node_obj->node);
}
doc = node_obj->node->doc;
xmldoc_add_ref(This->node->doc);
if (doc != This->node->doc)
refcount = xmlnode_get_inst_cnt(node_obj);
if (refcount) xmldoc_add_refs(This->node->doc, refcount);
/* xmlAddChild doesn't unlink node from previous parent */
xmlUnlinkNode(node_obj->node);
xmlAddChild(This->node, node_obj->node);
xmldoc_release(doc);
if (refcount) xmldoc_release_refs(doc, refcount);
node_obj->parent = This->iface;
}
@ -468,6 +526,7 @@ HRESULT node_replace_child(xmlnode *This, IXMLDOMNode *newChild, IXMLDOMNode *ol
xmlnode *old_child, *new_child;
xmlDocPtr leaving_doc;
xmlNode *my_ancestor;
int refcount = 0;
/* Do not believe any documentation telling that newChild == NULL
means removal. It does certainly *not* apply to msxml3! */
@ -505,9 +564,13 @@ HRESULT node_replace_child(xmlnode *This, IXMLDOMNode *newChild, IXMLDOMNode *ol
WARN("%p is not an orphan of %p\n", new_child->node, new_child->node->doc);
leaving_doc = new_child->node->doc;
xmldoc_add_ref(old_child->node->doc);
if (leaving_doc != old_child->node->doc)
refcount = xmlnode_get_inst_cnt(new_child);
if (refcount) xmldoc_add_refs(old_child->node->doc, refcount);
xmlReplaceNode(old_child->node, new_child->node);
xmldoc_release(leaving_doc);
if (refcount) xmldoc_release_refs(leaving_doc, refcount);
new_child->parent = old_child->parent;
old_child->parent = NULL;
@ -598,7 +661,7 @@ HRESULT node_clone(xmlnode *This, VARIANT_BOOL deep, IXMLDOMNode **cloneNode)
clone = xmlCopyNode(This->node, deep ? 1 : 2);
if (clone)
{
clone->doc = This->node->doc;
xmlSetTreeDoc(clone, This->node->doc);
xmldoc_add_orphan(clone->doc, clone);
node = create_node(clone);
@ -836,6 +899,53 @@ HRESULT node_get_xml(xmlnode *This, BOOL ensure_eol, BSTR *ret)
return *ret ? S_OK : E_OUTOFMEMORY;
}
static void htmldtd_dumpcontent(xmlOutputBufferPtr buf, xmlDocPtr doc)
{
xmlDtdPtr cur = doc->intSubset;
xmlOutputBufferWriteString(buf, "<!DOCTYPE ");
xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->ExternalID)
{
xmlOutputBufferWriteString(buf, " PUBLIC ");
xmlBufferWriteQuotedString(buf->buffer, cur->ExternalID);
if (cur->SystemID)
{
xmlOutputBufferWriteString(buf, " ");
xmlBufferWriteQuotedString(buf->buffer, cur->SystemID);
}
}
else if (cur->SystemID)
{
xmlOutputBufferWriteString(buf, " SYSTEM ");
xmlBufferWriteQuotedString(buf->buffer, cur->SystemID);
}
xmlOutputBufferWriteString(buf, ">\n");
}
static void htmldoc_dumpcontent(xmlOutputBufferPtr buf, xmlDocPtr doc)
{
xmlElementType type;
/* force HTML output */
type = doc->type;
doc->type = XML_HTML_DOCUMENT_NODE;
if (doc->intSubset)
htmldtd_dumpcontent(buf, doc);
if (doc->children)
{
xmlNodePtr cur = doc->children;
while (cur)
{
htmlNodeDumpFormatOutput(buf, doc, cur, NULL, 1);
cur = cur->next;
}
}
doc->type = type;
}
HRESULT node_transform_node(const xmlnode *This, IXMLDOMNode *stylesheet, BSTR *p)
{
#ifdef SONAME_LIBXSLT
@ -863,7 +973,7 @@ HRESULT node_transform_node(const xmlnode *This, IXMLDOMNode *stylesheet, BSTR *
xmlOutputBufferPtr output = xmlAllocOutputBuffer(NULL);
if (output)
{
htmlDocContentDumpOutput(output, result->doc, NULL);
htmldoc_dumpcontent(output, result->doc);
content = xmlBufferContent(output->buffer);
*p = bstr_from_xmlChar(content);
xmlOutputBufferClose(output);
@ -973,17 +1083,36 @@ HRESULT node_get_base_name(xmlnode *This, BSTR *name)
return S_OK;
}
/* _private field holds a number of COM instances spawned from this libxml2 node */
static void xmlnode_add_ref(xmlNodePtr node)
{
if (node->type == XML_DOCUMENT_NODE) return;
InterlockedIncrement((LONG*)&node->_private);
}
static void xmlnode_release(xmlNodePtr node)
{
if (node->type == XML_DOCUMENT_NODE) return;
InterlockedDecrement((LONG*)&node->_private);
}
void destroy_xmlnode(xmlnode *This)
{
if(This->node)
{
xmlnode_release(This->node);
xmldoc_release(This->node->doc);
}
release_dispex(&This->dispex);
}
void init_xmlnode(xmlnode *This, xmlNodePtr node, IXMLDOMNode *node_iface, dispex_static_data_t *dispex_data)
{
if(node)
xmldoc_add_ref( node->doc );
{
xmlnode_add_ref(node);
xmldoc_add_ref(node->doc);
}
This->node = node;
This->iface = node_iface;

View file

@ -341,28 +341,62 @@ static HRESULT xmlnodelist_invoke(IUnknown *iface, DISPID id, LCID lcid, WORD fl
TRACE("(%p)->(%x %x %x %p %p %p)\n", This, id, lcid, flags, params, res, ei);
V_VT(res) = VT_DISPATCH;
V_DISPATCH(res) = NULL;
if (id < DISPID_DOM_COLLECTION_BASE || id > DISPID_DOM_COLLECTION_MAX)
return DISP_E_UNKNOWNNAME;
switch(flags)
if (id >= DISPID_DOM_COLLECTION_BASE && id <= DISPID_DOM_COLLECTION_MAX)
{
case INVOKE_PROPERTYGET:
switch(flags)
{
IXMLDOMNode *disp = NULL;
case DISPATCH_PROPERTYGET:
{
IXMLDOMNode *disp = NULL;
IXMLDOMNodeList_get_item(&This->IXMLDOMNodeList_iface, id - DISPID_DOM_COLLECTION_BASE, &disp);
V_DISPATCH(res) = (IDispatch*)disp;
break;
}
default:
{
FIXME("unimplemented flags %x\n", flags);
break;
V_VT(res) = VT_DISPATCH;
IXMLDOMNodeList_get_item(&This->IXMLDOMNodeList_iface, id - DISPID_DOM_COLLECTION_BASE, &disp);
V_DISPATCH(res) = (IDispatch*)disp;
break;
}
default:
{
FIXME("unimplemented flags %x\n", flags);
break;
}
}
}
else if (id == DISPID_VALUE)
{
switch(flags)
{
case DISPATCH_METHOD|DISPATCH_PROPERTYGET:
case DISPATCH_PROPERTYGET:
case DISPATCH_METHOD:
{
IXMLDOMNode *item;
VARIANT index;
HRESULT hr;
if (params->cArgs - params->cNamedArgs != 1) return DISP_E_BADPARAMCOUNT;
VariantInit(&index);
hr = VariantChangeType(&index, params->rgvarg, 0, VT_I4);
if(FAILED(hr))
{
FIXME("failed to convert arg, %s\n", debugstr_variant(params->rgvarg));
return hr;
}
IXMLDOMNodeList_get_item(&This->IXMLDOMNodeList_iface, V_I4(&index), &item);
V_VT(res) = VT_DISPATCH;
V_DISPATCH(res) = (IDispatch*)item;
break;
}
default:
{
FIXME("DISPID_VALUE: unimplemented flags %x\n", flags);
break;
}
}
}
else
return DISP_E_UNKNOWNNAME;
TRACE("ret %p\n", V_DISPATCH(res));

View file

@ -171,12 +171,13 @@ enum saxhandler_type
SAXContentHandler = 0,
SAXDeclHandler,
SAXDTDHandler,
SAXEntityResolver,
SAXErrorHandler,
SAXLexicalHandler,
SAXHandler_Last
};
struct saxhandler_iface
struct saxanyhandler_iface
{
IUnknown *handler;
IUnknown *vbhandler;
@ -200,6 +201,23 @@ struct saxlexicalhandler_iface
IVBSAXLexicalHandler *vbhandler;
};
struct saxentityresolver_iface
{
ISAXEntityResolver *handler;
IVBSAXEntityResolver *vbhandler;
};
struct saxhandler_iface
{
union {
struct saxcontenthandler_iface content;
struct saxentityresolver_iface entityresolver;
struct saxerrorhandler_iface error;
struct saxlexicalhandler_iface lexical;
struct saxanyhandler_iface anyhandler;
} u;
};
typedef struct
{
DispatchEx dispex;
@ -218,7 +236,7 @@ typedef struct
static HRESULT saxreader_put_handler(saxreader *reader, enum saxhandler_type type, void *ptr, BOOL vb)
{
struct saxhandler_iface *iface = &reader->saxhandlers[type];
struct saxanyhandler_iface *iface = &reader->saxhandlers[type].u.anyhandler;
IUnknown *unk = (IUnknown*)ptr;
if (unk)
@ -237,7 +255,7 @@ static HRESULT saxreader_put_handler(saxreader *reader, enum saxhandler_type typ
static HRESULT saxreader_get_handler(const saxreader *reader, enum saxhandler_type type, BOOL vb, void **ret)
{
const struct saxhandler_iface *iface = &reader->saxhandlers[type];
const struct saxanyhandler_iface *iface = &reader->saxhandlers[type].u.anyhandler;
if (!ret) return E_POINTER;
@ -256,17 +274,17 @@ static HRESULT saxreader_get_handler(const saxreader *reader, enum saxhandler_ty
static struct saxcontenthandler_iface *saxreader_get_contenthandler(saxreader *reader)
{
return (struct saxcontenthandler_iface*)&reader->saxhandlers[SAXContentHandler];
return &reader->saxhandlers[SAXContentHandler].u.content;
}
static struct saxerrorhandler_iface *saxreader_get_errorhandler(saxreader *reader)
{
return (struct saxerrorhandler_iface*)&reader->saxhandlers[SAXErrorHandler];
return &reader->saxhandlers[SAXErrorHandler].u.error;
}
static struct saxlexicalhandler_iface *saxreader_get_lexicalhandler(saxreader *reader)
{
return (struct saxlexicalhandler_iface*)&reader->saxhandlers[SAXLexicalHandler];
return &reader->saxhandlers[SAXLexicalHandler].u.lexical;
}
typedef struct
@ -279,8 +297,8 @@ typedef struct
saxreader *saxreader;
HRESULT ret;
xmlParserCtxtPtr pParserCtxt;
WCHAR *publicId;
WCHAR *systemId;
BSTR publicId;
BSTR systemId;
int line;
int column;
BOOL vbInterface;
@ -330,8 +348,23 @@ static inline saxlocator *impl_from_ISAXAttributes( ISAXAttributes *iface )
static inline int saxreader_has_handler(const saxlocator *locator, enum saxhandler_type type)
{
return (locator->vbInterface && locator->saxreader->saxhandlers[type].vbhandler) ||
(!locator->vbInterface && locator->saxreader->saxhandlers[type].handler);
struct saxanyhandler_iface *iface = &locator->saxreader->saxhandlers[type].u.anyhandler;
return (locator->vbInterface && iface->vbhandler) || (!locator->vbInterface && iface->handler);
}
static HRESULT saxreader_saxcharacters(saxlocator *locator, BSTR chars)
{
struct saxcontenthandler_iface *content = saxreader_get_contenthandler(locator->saxreader);
HRESULT hr;
if (!saxreader_has_handler(locator, SAXContentHandler)) return S_OK;
if (locator->vbInterface)
hr = IVBSAXContentHandler_characters(content->vbhandler, &chars);
else
hr = ISAXContentHandler_characters(content->handler, chars, SysStringLen(chars));
return hr;
}
/* property names */
@ -1550,7 +1583,6 @@ static void libxmlCharacters(
int len)
{
saxlocator *This = ctx;
struct saxcontenthandler_iface *handler = saxreader_get_contenthandler(This->saxreader);
BSTR Chars;
HRESULT hr;
xmlChar *cur, *end;
@ -1609,10 +1641,7 @@ static void libxmlCharacters(
}
Chars = pooled_bstr_from_xmlCharN(&This->saxreader->pool, cur, end-cur);
if(This->vbInterface)
hr = IVBSAXContentHandler_characters(handler->vbhandler, &Chars);
else
hr = ISAXContentHandler_characters(handler->handler, Chars, SysStringLen(Chars));
hr = saxreader_saxcharacters(This, Chars);
if (sax_callback_failed(This, hr))
{
@ -1745,33 +1774,58 @@ static void libxmlFatalError(void *ctx, const char *msg, ...)
This->ret = E_FAIL;
}
static void libxmlCDataBlock(void *ctx, const xmlChar *value, int len)
/* The only reason this helper exists is that CDATA section are reported by chunks,
newlines are used as delimiter. More than that, reader even alters input data before reporting.
This helper should be called for substring with trailing newlines.
*/
static BSTR saxreader_get_cdata_chunk(const xmlChar *str, int len)
{
saxlocator *This = ctx;
struct saxcontenthandler_iface *content = saxreader_get_contenthandler(This->saxreader);
struct saxlexicalhandler_iface *lexical = saxreader_get_lexicalhandler(This->saxreader);
HRESULT hr = S_OK;
xmlChar *beg = (xmlChar*)This->pParserCtxt->input->cur-len;
xmlChar *cur, *end;
int realLen;
BSTR Chars;
BOOL lastEvent = FALSE, change;
BSTR bstr = bstr_from_xmlCharN(str, len), ret;
WCHAR *ptr;
update_position(This, FALSE);
while(beg-9>=This->pParserCtxt->input->base
&& memcmp(beg-9, "<![CDATA[", sizeof(char[9])))
ptr = bstr + len - 1;
while ((*ptr == '\r' || *ptr == '\n') && ptr >= bstr)
ptr--;
while (*++ptr)
{
if(*beg=='\n' || (*beg=='\r' && *(beg+1)!='\n'))
This->line--;
beg--;
/* replace returns as:
- "\r<char>" -> "\n<char>"
- "\r\r" -> "\r"
- "\r\n" -> "\n"
*/
if (*ptr == '\r')
{
if (*(ptr+1) == '\r' || *(ptr+1) == '\n')
{
/* shift tail */
memmove(ptr, ptr+1, len-- - (ptr-bstr));
}
else
*ptr = '\n';
}
}
This->column = 0;
for(; beg>=This->pParserCtxt->input->base && *beg!='\n' && *beg!='\r'; beg--)
This->column++;
if (saxreader_has_handler(This, SAXLexicalHandler))
ret = SysAllocStringLen(bstr, len);
SysFreeString(bstr);
return ret;
}
static void libxml_cdatablock(void *ctx, const xmlChar *value, int len)
{
const xmlChar *start, *end;
saxlocator *locator = ctx;
struct saxlexicalhandler_iface *lexical = saxreader_get_lexicalhandler(locator->saxreader);
HRESULT hr = S_OK;
BSTR chars;
int i;
update_position(locator, FALSE);
if (saxreader_has_handler(locator, SAXLexicalHandler))
{
if (This->vbInterface)
if (locator->vbInterface)
hr = IVBSAXLexicalHandler_startCDATA(lexical->vbhandler);
else
hr = ISAXLexicalHandler_startCDATA(lexical->handler);
@ -1779,61 +1833,66 @@ static void libxmlCDataBlock(void *ctx, const xmlChar *value, int len)
if(FAILED(hr))
{
format_error_message_from_id(This, hr);
format_error_message_from_id(locator, hr);
return;
}
realLen = This->pParserCtxt->input->cur-beg-3;
cur = beg;
end = beg;
start = value;
end = NULL;
i = 0;
while(1)
while (i < len)
{
while(end-beg<realLen && *end!='\r') end++;
if(end-beg==realLen)
/* scan for newlines */
if (value[i] == '\r' || value[i] == '\n')
{
end--;
lastEvent = TRUE;
/* skip newlines/linefeeds */
while (i < len)
{
if (value[i] != '\r' && value[i] != '\n') break;
i++;
}
end = &value[i];
/* report */
chars = saxreader_get_cdata_chunk(start, end-start);
TRACE("(chunk %s)\n", debugstr_w(chars));
hr = saxreader_saxcharacters(locator, chars);
SysFreeString(chars);
start = &value[i];
end = NULL;
}
else if(end-beg==realLen-1 && *end=='\r' && *(end+1)=='\n')
lastEvent = TRUE;
if(*end == '\r') change = TRUE;
else change = FALSE;
if(change) *end = '\n';
if (saxreader_has_handler(This, SAXContentHandler))
{
Chars = pooled_bstr_from_xmlCharN(&This->saxreader->pool, cur, end-cur+1);
if (This->vbInterface)
hr = IVBSAXContentHandler_characters(content->vbhandler, &Chars);
else
hr = ISAXContentHandler_characters(content->handler, Chars, SysStringLen(Chars));
}
if(change) *end = '\r';
if(lastEvent)
break;
This->column += end-cur+2;
end += 2;
cur = end;
i++;
locator->column++;
}
if (saxreader_has_handler(This, SAXLexicalHandler))
/* no newline chars (or last chunk) report as a whole */
if (!end && start == value)
{
if (This->vbInterface)
/* report */
chars = bstr_from_xmlCharN(start, len-(start-value));
TRACE("(%s)\n", debugstr_w(chars));
hr = saxreader_saxcharacters(locator, chars);
SysFreeString(chars);
}
if (saxreader_has_handler(locator, SAXLexicalHandler))
{
if (locator->vbInterface)
hr = IVBSAXLexicalHandler_endCDATA(lexical->vbhandler);
else
hr = ISAXLexicalHandler_endCDATA(lexical->handler);
}
if(FAILED(hr))
format_error_message_from_id(This, hr);
format_error_message_from_id(locator, hr);
}
This->column += 4+end-cur;
static xmlParserInputPtr libxmlresolveentity(void *ctx, const xmlChar *publicid, const xmlChar *systemid)
{
FIXME("entity resolving not implemented, %s, %s\n", publicid, systemid);
return xmlSAX2ResolveEntity(ctx, publicid, systemid);
}
/*** IVBSAXLocator interface ***/
@ -2123,7 +2182,7 @@ static HRESULT WINAPI isaxlocator_getPublicId(
publicId = bstr_from_xmlChar(xmlSAX2GetPublicId(This->pParserCtxt));
if(SysStringLen(publicId))
This->publicId = (WCHAR*)&publicId;
This->publicId = publicId;
else
{
SysFreeString(publicId);
@ -2145,7 +2204,7 @@ static HRESULT WINAPI isaxlocator_getSystemId(
systemId = bstr_from_xmlChar(xmlSAX2GetSystemId(This->pParserCtxt));
if(SysStringLen(systemId))
This->systemId = (WCHAR*)&systemId;
This->systemId = systemId;
else
{
SysFreeString(systemId);
@ -2370,24 +2429,6 @@ static HRESULT internal_parseStream(saxreader *This, ISequentialStream *stream,
return hr;
}
static HRESULT internal_getEntityResolver(
saxreader *This,
void *pEntityResolver,
BOOL vbInterface)
{
FIXME("(%p)->(%p) stub\n", This, pEntityResolver);
return E_NOTIMPL;
}
static HRESULT internal_putEntityResolver(
saxreader *This,
void *pEntityResolver,
BOOL vbInterface)
{
FIXME("(%p)->(%p) stub\n", This, pEntityResolver);
return E_NOTIMPL;
}
static HRESULT internal_parse(
saxreader* This,
VARIANT varInput,
@ -2737,7 +2778,7 @@ static ULONG WINAPI saxxmlreader_Release(
for (i = 0; i < SAXHandler_Last; i++)
{
struct saxhandler_iface *iface = &This->saxhandlers[i];
struct saxanyhandler_iface *iface = &This->saxhandlers[i].u.anyhandler;
if (iface->handler)
IUnknown_Release(iface->handler);
@ -2870,18 +2911,18 @@ static HRESULT WINAPI saxxmlreader_putProperty(
static HRESULT WINAPI saxxmlreader_get_entityResolver(
IVBSAXXMLReader* iface,
IVBSAXEntityResolver **pEntityResolver)
IVBSAXEntityResolver **resolver)
{
saxreader *This = impl_from_IVBSAXXMLReader( iface );
return internal_getEntityResolver(This, pEntityResolver, TRUE);
return saxreader_get_handler(This, SAXEntityResolver, TRUE, (void**)resolver);
}
static HRESULT WINAPI saxxmlreader_put_entityResolver(
IVBSAXXMLReader* iface,
IVBSAXEntityResolver *pEntityResolver)
IVBSAXEntityResolver *resolver)
{
saxreader *This = impl_from_IVBSAXXMLReader( iface );
return internal_putEntityResolver(This, pEntityResolver, TRUE);
return saxreader_put_handler(This, SAXEntityResolver, resolver, TRUE);
}
static HRESULT WINAPI saxxmlreader_get_contentHandler(
@ -3077,18 +3118,18 @@ static HRESULT WINAPI isaxxmlreader_putProperty(
static HRESULT WINAPI isaxxmlreader_getEntityResolver(
ISAXXMLReader* iface,
ISAXEntityResolver **ppEntityResolver)
ISAXEntityResolver **resolver)
{
saxreader *This = impl_from_ISAXXMLReader( iface );
return internal_getEntityResolver(This, ppEntityResolver, FALSE);
return saxreader_get_handler(This, SAXEntityResolver, FALSE, (void**)resolver);
}
static HRESULT WINAPI isaxxmlreader_putEntityResolver(
ISAXXMLReader* iface,
ISAXEntityResolver *pEntityResolver)
ISAXEntityResolver *resolver)
{
saxreader *This = impl_from_ISAXXMLReader( iface );
return internal_putEntityResolver(This, pEntityResolver, FALSE);
return saxreader_put_handler(This, SAXEntityResolver, resolver, FALSE);
}
static HRESULT WINAPI isaxxmlreader_getContentHandler(
@ -3256,7 +3297,8 @@ HRESULT SAXXMLReader_create(MSXML_VERSION version, IUnknown *outer, LPVOID *ppOb
reader->sax.comment = libxmlComment;
reader->sax.error = libxmlFatalError;
reader->sax.fatalError = libxmlFatalError;
reader->sax.cdataBlock = libxmlCDataBlock;
reader->sax.cdataBlock = libxml_cdatablock;
reader->sax.resolveEntity = libxmlresolveentity;
*ppObj = &reader->IVBSAXXMLReader_iface;

View file

@ -103,6 +103,9 @@ typedef struct
MSXML_VERSION version;
xmlHashTablePtr cache;
xmlChar **uris;
int allocated;
int count;
VARIANT_BOOL validateOnLoad;
int read_only;
@ -116,12 +119,6 @@ typedef struct
LONG ref;
} cache_entry;
typedef struct
{
LONG index;
BSTR* out;
} cache_index_data;
/* datatypes lookup stuff
* generated with help from gperf */
#define DT_MIN_STR_LEN 2
@ -744,7 +741,7 @@ void schemasInit(void)
return;
}
buf = LockResource(datatypes_handle);
datatypes_len = SizeofResource(MSXML_hInstance, datatypes_rsrc) - 1;
datatypes_len = SizeofResource(MSXML_hInstance, datatypes_rsrc);
/* Resource is loaded as raw data,
* need a null-terminated string */
@ -844,7 +841,7 @@ static BOOL link_datatypes(xmlDocPtr schema)
xmlNodePtr root, next, child;
xmlNsPtr ns;
assert((void*)xmlGetExternalEntityLoader() == (void*)external_entity_loader);
assert(xmlGetExternalEntityLoader() == external_entity_loader);
root = xmlDocGetRootElement(schema);
if (!root)
return FALSE;
@ -985,6 +982,55 @@ static void cache_free(void* data, xmlChar* name /* ignored */)
cache_entry_release((cache_entry*)data);
}
/* returns index or -1 if not found */
static int cache_free_uri(schema_cache *cache, const xmlChar *uri)
{
int i;
for (i = 0; i < cache->count; i++)
if (xmlStrEqual(cache->uris[i], uri))
{
heap_free(cache->uris[i]);
return i;
}
return -1;
}
static void cache_add_entry(schema_cache *cache, const xmlChar *uri, cache_entry *entry)
{
int i;
/* meaning no entry found with this name */
if (xmlHashRemoveEntry(cache->cache, uri, cache_free))
{
if (cache->count == cache->allocated)
{
cache->allocated *= 2;
cache->uris = heap_realloc(cache->uris, cache->allocated*sizeof(xmlChar*));
}
i = cache->count++;
}
else
i = cache_free_uri(cache, uri);
cache->uris[i] = heap_strdupxmlChar(uri);
xmlHashAddEntry(cache->cache, uri, entry);
}
static void cache_remove_entry(schema_cache *cache, const xmlChar *uri)
{
/* adjust index if entry was really removed */
if (xmlHashRemoveEntry(cache->cache, uri, cache_free) == 0)
{
int i = cache_free_uri(cache, uri);
if (i == -1) return;
/* shift array */
if (i != --cache->count)
memmove(&cache->uris[i], &cache->uris[i+1], (cache->count-i)*sizeof(xmlChar*));
}
}
/* This one adds all namespaces defined in document to a cache, without anything
associated with uri obviously.
Unfortunately namespace:: axis implementation in libxml2 differs from what we need,
@ -1033,8 +1079,7 @@ HRESULT cache_from_doc_ns(IXMLDOMSchemaCollection2 *iface, xmlnode *node)
entry->schema = NULL;
entry->doc = NULL;
xmlHashRemoveEntry(This->cache, ns->href, cache_free);
xmlHashAddEntry(This->cache, ns->href, entry);
cache_add_entry(This, ns->href, entry);
}
pos++;
}
@ -1091,6 +1136,11 @@ static ULONG WINAPI schema_cache_Release(IXMLDOMSchemaCollection2* iface)
if (ref == 0)
{
int i;
for (i = 0; i < This->count; i++)
heap_free(This->uris[i]);
heap_free(This->uris);
xmlHashFree(This->cache, cache_free);
release_dispex(&This->dispex);
heap_free(This);
@ -1146,7 +1196,7 @@ static HRESULT WINAPI schema_cache_add(IXMLDOMSchemaCollection2* iface, BSTR uri
{
case VT_NULL:
{
xmlHashRemoveEntry(This->cache, name, cache_free);
cache_remove_entry(This, name);
}
break;
@ -1164,8 +1214,7 @@ static HRESULT WINAPI schema_cache_add(IXMLDOMSchemaCollection2* iface, BSTR uri
return E_FAIL;
}
xmlHashRemoveEntry(This->cache, name, cache_free);
xmlHashAddEntry(This->cache, name, entry);
cache_add_entry(This, name, entry);
}
break;
@ -1214,8 +1263,7 @@ static HRESULT WINAPI schema_cache_add(IXMLDOMSchemaCollection2* iface, BSTR uri
return E_FAIL;
}
xmlHashRemoveEntry(This->cache, name, cache_free);
xmlHashAddEntry(This->cache, name, entry);
cache_add_entry(This, name, entry);
}
break;
@ -1263,7 +1311,7 @@ static HRESULT WINAPI schema_cache_remove(IXMLDOMSchemaCollection2* iface, BSTR
if (This->version == MSXML6) return E_NOTIMPL;
xmlHashRemoveEntry(This->cache, name, cache_free);
cache_remove_entry(This, name);
heap_free(name);
return S_OK;
}
@ -1275,33 +1323,25 @@ static HRESULT WINAPI schema_cache_get_length(IXMLDOMSchemaCollection2* iface, L
if (!length)
return E_POINTER;
*length = xmlHashSize(This->cache);
*length = This->count;
return S_OK;
}
static void cache_index(void* data /* ignored */, void* index, xmlChar* name)
{
cache_index_data* index_data = (cache_index_data*)index;
if (index_data->index-- == 0)
*index_data->out = bstr_from_xmlChar(name);
}
static HRESULT WINAPI schema_cache_get_namespaceURI(IXMLDOMSchemaCollection2* iface,
LONG index, BSTR* len)
LONG index, BSTR* uri)
{
schema_cache* This = impl_from_IXMLDOMSchemaCollection2(iface);
cache_index_data data = {index, len};
TRACE("(%p)->(%i %p)\n", This, index, len);
if (!len)
TRACE("(%p)->(%i %p)\n", This, index, uri);
if (!uri)
return E_POINTER;
if (index >= xmlHashSize(This->cache))
if (index >= This->count)
return E_FAIL;
*len = NULL;
xmlHashScan(This->cache, cache_index, &data);
*uri = bstr_from_xmlChar(This->uris[index]);
return S_OK;
}
@ -1313,7 +1353,7 @@ static void cache_copy(void* data, void* dest, xmlChar* name)
if (xmlHashLookup(This->cache, name) == NULL)
{
cache_entry_add_ref(entry);
xmlHashAddEntry(This->cache, name, entry);
cache_add_entry(This, name, entry);
}
}
@ -1531,6 +1571,9 @@ HRESULT SchemaCache_create(MSXML_VERSION version, IUnknown* outer, void** obj)
This->IXMLDOMSchemaCollection2_iface.lpVtbl = &XMLDOMSchemaCollection2Vtbl;
This->cache = xmlHashCreate(DEFAULT_HASHTABLE_SIZE);
This->allocated = 10;
This->count = 0;
This->uris = heap_alloc(This->allocated*sizeof(xmlChar*));
This->ref = 1;
This->version = version;
This->validateOnLoad = VARIANT_TRUE;

Some files were not shown because too many files have changed in this diff Show more