mirror of
https://github.com/reactos/reactos.git
synced 2024-08-01 09:01:13 +00:00
- Sync with trunk up to r46941.
[VMWINST] - Rename FileExists() to DoesFileExist() to avoid clashing with the real API. svn path=/branches/header-work/; revision=47155
This commit is contained in:
commit
cf73dc7621
|
@ -28,6 +28,7 @@
|
||||||
<if property="OPTIMIZE" value="1">
|
<if property="OPTIMIZE" value="1">
|
||||||
<compilerflag>-ftracer</compilerflag>
|
<compilerflag>-ftracer</compilerflag>
|
||||||
</if>
|
</if>
|
||||||
|
<compilerflag>-fms-extensions</compilerflag>
|
||||||
<compilerflag>-Wno-attributes</compilerflag>
|
<compilerflag>-Wno-attributes</compilerflag>
|
||||||
<compilerflag>-U_UNICODE</compilerflag>
|
<compilerflag>-U_UNICODE</compilerflag>
|
||||||
<compilerflag>-UUNICODE</compilerflag>
|
<compilerflag>-UUNICODE</compilerflag>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||||
<module name="reg" type="win32cui" installbase="system32" installname="reg.exe" unicode="true">
|
<module name="reg" type="win32cui" installbase="system32" installname="reg.exe" unicode="true">
|
||||||
<include base="reg">.</include>
|
<include base="reg">.</include>
|
||||||
<redefine name="_WIN32_WINNT">0x600</redefine>
|
<redefine name="_WIN32_WINNT">0x600</redefine>
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<installfile installbase="system32">downloader.xml</installfile>
|
<group>
|
||||||
<module name="downloader" type="win32gui" installbase="system32" installname="downloader.exe" unicode="yes">
|
<installfile installbase="system32">downloader.xml</installfile>
|
||||||
<include base="downloader">.</include>
|
<module name="downloader" type="win32gui" installbase="system32" installname="downloader.exe" unicode="yes">
|
||||||
<include base="expat">.</include>
|
<include base="downloader">.</include>
|
||||||
|
<include base="expat">.</include>
|
||||||
|
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
<library>user32</library>
|
<library>user32</library>
|
||||||
<library>gdi32</library>
|
<library>gdi32</library>
|
||||||
<library>shell32</library>
|
<library>shell32</library>
|
||||||
<library>comctl32</library>
|
<library>comctl32</library>
|
||||||
<library>msimg32</library>
|
<library>msimg32</library>
|
||||||
<library>shlwapi</library>
|
<library>shlwapi</library>
|
||||||
<library>urlmon</library>
|
<library>urlmon</library>
|
||||||
<library>uuid</library>
|
<library>uuid</library>
|
||||||
<library>expat</library>
|
<library>expat</library>
|
||||||
|
|
||||||
<file>main.c</file>
|
<file>main.c</file>
|
||||||
<file>xml.c</file>
|
<file>xml.c</file>
|
||||||
<file>download.c</file>
|
<file>download.c</file>
|
||||||
<file>downloader.rc</file>
|
<file>downloader.rc</file>
|
||||||
</module>
|
</module>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="fontview" type="win32gui" installbase="system32" installname="fontview.exe">
|
<module name="fontview" type="win32gui" installbase="system32" installname="fontview.exe">
|
||||||
<include base="fontview">.</include>
|
<include base="fontview">.</include>
|
||||||
<library>gdi32</library>
|
<library>gdi32</library>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
<module name="kbswitch" type="win32gui" installbase="system32" installname="kbswitch.exe" unicode="yes">
|
<module name="kbswitch" type="win32gui" installbase="system32" installname="kbswitch.exe" unicode="yes">
|
||||||
<include base="kbswitch">.</include>
|
<include base="kbswitch">.</include>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE project SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="magnify" type="win32gui" installbase="system32" installname="magnify.exe">
|
<module name="magnify" type="win32gui" installbase="system32" installname="magnify.exe">
|
||||||
<include base="magnify">.</include>
|
<include base="magnify">.</include>
|
||||||
<library>user32</library>
|
<library>user32</library>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="mplay32" type="win32gui" installbase="system32" installname="mplay32.exe" unicode="yes">
|
<module name="mplay32" type="win32gui" installbase="system32" installname="mplay32.exe" unicode="yes">
|
||||||
<include base="mplay32">.</include>
|
<include base="mplay32">.</include>
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<rbuild xmlns:xi="http://www.w3.org/2001/XInclude">
|
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||||
<module name="eventvwr" type="win32gui" installbase="system32" installname="eventvwr.exe" unicode="yes">
|
<module name="eventvwr" type="win32gui" installbase="system32" installname="eventvwr.exe" unicode="yes">
|
||||||
<include base="eventvwr">.</include>
|
<include base="eventvwr">.</include>
|
||||||
<library>user32</library>
|
<library>user32</library>
|
||||||
|
@ -8,4 +8,3 @@
|
||||||
<file>eventvwr.c</file>
|
<file>eventvwr.c</file>
|
||||||
<file>eventvwr.rc</file>
|
<file>eventvwr.rc</file>
|
||||||
</module>
|
</module>
|
||||||
</rbuild>
|
|
||||||
|
|
|
@ -630,8 +630,9 @@ int main(int argc, char* argv[])
|
||||||
while ((NeverStop) || (Count < PingCount))
|
while ((NeverStop) || (Count < PingCount))
|
||||||
{
|
{
|
||||||
Ping();
|
Ping();
|
||||||
Sleep(Timeout);
|
|
||||||
Count++;
|
Count++;
|
||||||
|
if((NeverStop) || (Count < PingCount))
|
||||||
|
Sleep(Timeout);
|
||||||
};
|
};
|
||||||
|
|
||||||
Cleanup();
|
Cleanup();
|
||||||
|
|
|
@ -147,16 +147,16 @@ void LoadSettings(void)
|
||||||
if (dwPointSize != 0)
|
if (dwPointSize != 0)
|
||||||
Globals.lfFont.lfHeight = HeightFromPointSize(dwPointSize);
|
Globals.lfFont.lfHeight = HeightFromPointSize(dwPointSize);
|
||||||
|
|
||||||
hFont = CreateFontIndirect(&Globals.lfFont);
|
|
||||||
if (hFont)
|
|
||||||
{
|
|
||||||
if (Globals.hFont)
|
|
||||||
DeleteObject(Globals.hFont);
|
|
||||||
Globals.hFont = hFont;
|
|
||||||
}
|
|
||||||
|
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hFont = CreateFontIndirect(&Globals.lfFont);
|
||||||
|
if (hFont)
|
||||||
|
{
|
||||||
|
if (Globals.hFont)
|
||||||
|
DeleteObject(Globals.hFont);
|
||||||
|
Globals.hFont = hFont;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL SaveDword(HKEY hKey, LPCTSTR pszValueNameT, DWORD dwValue)
|
static BOOL SaveDword(HKEY hKey, LPCTSTR pszValueNameT, DWORD dwValue)
|
||||||
|
|
|
@ -51,7 +51,7 @@ BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding
|
||||||
{
|
{
|
||||||
DWORD dwSize;
|
DWORD dwSize;
|
||||||
LPBYTE pBytes = NULL;
|
LPBYTE pBytes = NULL;
|
||||||
LPCWSTR pszText;
|
LPWSTR pszText;
|
||||||
LPWSTR pszAllocText = NULL;
|
LPWSTR pszAllocText = NULL;
|
||||||
DWORD dwPos, i;
|
DWORD dwPos, i;
|
||||||
DWORD dwCharCount;
|
DWORD dwCharCount;
|
||||||
|
@ -110,7 +110,7 @@ BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
case ENCODING_UNICODE:
|
case ENCODING_UNICODE:
|
||||||
pszText = (LPCWSTR) &pBytes[dwPos];
|
pszText = (LPWSTR) &pBytes[dwPos];
|
||||||
dwCharCount = (dwSize - dwPos) / sizeof(WCHAR);
|
dwCharCount = (dwSize - dwPos) / sizeof(WCHAR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -174,6 +174,10 @@ BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding
|
||||||
else
|
else
|
||||||
adwEolnCount[EOLN_LF]++;
|
adwEolnCount[EOLN_LF]++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '\0':
|
||||||
|
pszText[i] = ' ';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,8 +60,8 @@ BEGIN
|
||||||
MENUITEM "800%", IDM_VIEWZOOM800
|
MENUITEM "800%", IDM_VIEWZOOM800
|
||||||
END
|
END
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Show grid", IDM_VIEWSHOWGRID
|
MENUITEM "Mostra griglia", IDM_VIEWSHOWGRID
|
||||||
MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE
|
MENUITEM "Mostra miniature", IDM_VIEWSHOWMINIATURE
|
||||||
END
|
END
|
||||||
MENUITEM "Visualizza a schermo intero\tCtrl+F", IDM_VIEWFULLSCREEN
|
MENUITEM "Visualizza a schermo intero\tCtrl+F", IDM_VIEWFULLSCREEN
|
||||||
END
|
END
|
||||||
|
@ -201,5 +201,5 @@ BEGIN
|
||||||
IDS_OPENFILTER, "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1"
|
IDS_OPENFILTER, "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1"
|
||||||
IDS_SAVEFILTER, "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
|
IDS_SAVEFILTER, "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
|
||||||
IDS_FILESIZE, "%d bytes"
|
IDS_FILESIZE, "%d bytes"
|
||||||
IDS_PRINTRES, "%d x %d pixels per meter"
|
IDS_PRINTRES, "%d x %d pixels per metro"
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<group>
|
<group>
|
||||||
<module name="rapps" type="win32gui" installbase="system32" installname="rapps.exe" unicode="yes">
|
<module name="rapps" type="win32gui" installbase="system32" installname="rapps.exe" unicode="yes">
|
||||||
<include base="ReactOS">include/reactos</include>
|
<include base="ReactOS">include/reactos</include>
|
||||||
|
|
|
@ -2,41 +2,41 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = Mozilla Firefox 3.0
|
Name = Mozilla Firefox 3.0
|
||||||
Version = 3.0.18
|
Version = 3.0.19
|
||||||
Licence = MPL/GPL/LGPL
|
Licence = MPL/GPL/LGPL
|
||||||
Description = The most popular and one of the best free Web Browsers out there.
|
Description = The most popular and one of the best free Web Browsers out there.
|
||||||
Size = 7.2M
|
Size = 7.2M
|
||||||
Category = 5
|
Category = 5
|
||||||
URLSite = http://www.mozilla.com/en-US/
|
URLSite = http://www.mozilla.com/en-US/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/en-US/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/en-US/Firefox%20Setup%203.0.19.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
Description = Der populärste und einer der besten freien Webbrowser.
|
Description = Der populärste und einer der besten freien Webbrowser.
|
||||||
Size = 7.0M
|
Size = 7.0M
|
||||||
URLSite = http://www.mozilla-europe.org/de/
|
URLSite = http://www.mozilla-europe.org/de/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/de/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/de/Firefox%20Setup%203.0.19.exe
|
||||||
|
|
||||||
[Section.040a]
|
[Section.040a]
|
||||||
Description = El más popular y uno de los mejores navegadores web gratuitos que hay.
|
Description = El más popular y uno de los mejores navegadores web gratuitos que hay.
|
||||||
Size = 7.0M
|
Size = 7.0M
|
||||||
URLSite = http://www.mozilla-europe.org/es/
|
URLSite = http://www.mozilla-europe.org/es/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/es-ES/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/es-ES/Firefox%20Setup%203.0.19.exe
|
||||||
|
|
||||||
[Section.0414]
|
[Section.0414]
|
||||||
Description = Mest populære og best også gratis nettleserene der ute.
|
Description = Mest populære og best også gratis nettleserene der ute.
|
||||||
Size = 6.9M
|
Size = 7.0M
|
||||||
URLSite = http://www.mozilla-europe.org/no/
|
URLSite = http://www.mozilla-europe.org/no/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/nb-NO/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/nb-NO/Firefox%20Setup%203.0.19.exe
|
||||||
|
|
||||||
[Section.0415]
|
[Section.0415]
|
||||||
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
|
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
|
||||||
Size = 7.8M
|
Size = 7.8M
|
||||||
URLSite = http://www.mozilla-europe.org/pl/
|
URLSite = http://www.mozilla-europe.org/pl/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/pl/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/pl/Firefox%20Setup%203.0.19.exe
|
||||||
|
|
||||||
[Section.0419]
|
[Section.0419]
|
||||||
Description = Один из самых популярных и лучших бесплатных браузеров.
|
Description = Один из самых популярных и лучших бесплатных браузеров.
|
||||||
Size = 7.4M
|
Size = 7.4M
|
||||||
URLSite = http://www.mozilla-europe.org/ru/
|
URLSite = http://www.mozilla-europe.org/ru/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.0/win32/ru/Firefox%20Setup%203.0.18.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.19-real/win32/ru/Firefox%20Setup%203.0.19.exe
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = Miranda IM
|
Name = Miranda IM
|
||||||
Version = 0.8.18
|
Version = 0.8.19
|
||||||
Licence = GPL
|
Licence = GPL
|
||||||
Description = Open source multiprotocol instant messaging application - May not work completely.
|
Description = Open source multiprotocol instant messaging application - May not work completely.
|
||||||
Size = 1.6MB
|
Size = 1.6MB
|
||||||
Category = 5
|
Category = 5
|
||||||
URLSite = http://www.miranda-im.org/
|
URLSite = http://www.miranda-im.org/
|
||||||
URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.18-unicode.exe
|
URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.19-unicode.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = OpenTTD
|
Name = OpenTTD
|
||||||
Version = 0.7.5
|
Version = 1.0.0
|
||||||
Licence = GPL v2
|
Licence = GPL v2
|
||||||
Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon.
|
Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon.
|
||||||
Size = 2.9MB
|
Size = 3.5MB
|
||||||
Category = 4
|
Category = 4
|
||||||
URLSite = http://www.openttd.org/
|
URLSite = http://www.openttd.org/
|
||||||
URLDownload = http://binaries.openttd.org/releases/0.7.5/openttd-0.7.5-windows-win32.exe
|
URLDownload = http://binaries.openttd.org/releases/1.0.0/openttd-1.0.0-windows-win32.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = SciTE
|
Name = SciTE
|
||||||
Version = 2.03
|
Version = 2.10
|
||||||
Licence = Freeware
|
Licence = Freeware
|
||||||
Description = SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs.
|
Description = SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs.
|
||||||
Size = 0.6M
|
Size = 0.6M
|
||||||
Category = 7
|
Category = 7
|
||||||
URLSite = http://www.scintilla.org/
|
URLSite = http://www.scintilla.org/
|
||||||
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/scintilla/Sc203.exe
|
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/scintilla/Sc210.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = ScummVM
|
Name = ScummVM
|
||||||
Version = 1.0.0
|
Version = 1.1.0
|
||||||
Licence = GPL
|
Licence = GPL
|
||||||
Description = Sam and Max, Day of the Tentacle, etc on ReactOS.
|
Description = Sam and Max, Day of the Tentacle, etc on ReactOS.
|
||||||
Size = 3.1MB
|
Size = 3.4MB
|
||||||
Category = 4
|
Category = 4
|
||||||
URLSite = http://scummvm.org/
|
URLSite = http://scummvm.org/
|
||||||
URLDownload = http://dfn.dl.sourceforge.net/project/scummvm/scummvm/1.0.0/scummvm-1.0.0-win32.exe
|
URLDownload = http://dfn.dl.sourceforge.net/project/scummvm/scummvm/1.1.0/scummvm-1.1.0-win32.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
|
|
|
@ -2,31 +2,31 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = Mozilla SeaMonkey
|
Name = Mozilla SeaMonkey
|
||||||
Version = 2.0.3
|
Version = 2.0.4
|
||||||
Licence = MPL/GPL/LGPL
|
Licence = MPL/GPL/LGPL
|
||||||
Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need.
|
Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need.
|
||||||
Size = 10.0MB
|
Size = 10.1MB
|
||||||
Category = 5
|
Category = 5
|
||||||
URLSite = http://www.seamonkey-project.org/
|
URLSite = http://www.seamonkey-project.org/
|
||||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.3/win32/en-US/SeaMonkey%20Setup%202.0.3.exe
|
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.4/win32/en-US/SeaMonkey%20Setup%202.0.4.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen.
|
Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen.
|
||||||
Size = 10.1MB
|
Size = 10.0MB
|
||||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.3/win32/de/SeaMonkey%20Setup%202.0.3.exe
|
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.4/win32/de/SeaMonkey%20Setup%202.0.4.exe
|
||||||
|
|
||||||
[Section.040a]
|
[Section.040a]
|
||||||
Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás.
|
Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás.
|
||||||
Size = 10.0MB
|
Size = 10.0MB
|
||||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.3/win32/es-ES/SeaMonkey%20Setup%202.0.3.exe
|
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.4/win32/es-ES/SeaMonkey%20Setup%202.0.4.exe
|
||||||
|
|
||||||
[Section.0415]
|
[Section.0415]
|
||||||
Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz.
|
Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz.
|
||||||
Size = 10.8MB
|
Size = 10.8MB
|
||||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.3/win32/pl/SeaMonkey%20Setup%202.0.3.exe
|
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.4/win32/pl/SeaMonkey%20Setup%202.0.4.exe
|
||||||
|
|
||||||
[Section.0419]
|
[Section.0419]
|
||||||
Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор.
|
Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор.
|
||||||
Size = 10.4MB
|
Size = 10.4MB
|
||||||
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.3/win32/ru/SeaMonkey%20Setup%202.0.3.exe
|
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0.4/win32/ru/SeaMonkey%20Setup%202.0.4.exe
|
||||||
|
|
|
@ -2,35 +2,35 @@
|
||||||
|
|
||||||
[Section]
|
[Section]
|
||||||
Name = Mozilla Thunderbird
|
Name = Mozilla Thunderbird
|
||||||
Version = 3.0.3
|
Version = 3.0.4
|
||||||
Licence = MPL/GPL/LGPL
|
Licence = MPL/GPL/LGPL
|
||||||
Description = The most popular and one of the best free Mail Clients out there.
|
Description = The most popular and one of the best free Mail Clients out there.
|
||||||
Size = 8.6M
|
Size = 8.6M
|
||||||
Category = 5
|
Category = 5
|
||||||
URLSite = http://www.mozilla-europe.org/en/products/thunderbird/
|
URLSite = http://www.mozilla-europe.org/en/products/thunderbird/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.3/win32/en-US/Thunderbird%20Setup%203.0.3.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/win32/en-US/Thunderbird%20Setup%203.0.4.exe
|
||||||
CDPath = none
|
CDPath = none
|
||||||
|
|
||||||
[Section.0407]
|
[Section.0407]
|
||||||
Description = Der populärste und einer der besten freien Mail-Clients.
|
Description = Der populärste und einer der besten freien Mail-Clients.
|
||||||
Size = 8.4M
|
Size = 8.5M
|
||||||
URLSite = http://www.mozilla-europe.org/de/products/thunderbird/
|
URLSite = http://www.mozilla-europe.org/de/products/thunderbird/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.3/win32/de/Thunderbird%20Setup%203.0.3.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/win32/de/Thunderbird%20Setup%203.0.4.exe
|
||||||
|
|
||||||
[Section.040a]
|
[Section.040a]
|
||||||
Description = El más popular y uno de los mejores clientes mail que hay.
|
Description = El más popular y uno de los mejores clientes mail que hay.
|
||||||
Size = 8.4M
|
Size = 8.4M
|
||||||
URLSite = http://www.mozilla-europe.org/es/products/thunderbird/
|
URLSite = http://www.mozilla-europe.org/es/products/thunderbird/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.3/win32/es-ES/Thunderbird%20Setup%203.0.3.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/win32/es-ES/Thunderbird%20Setup%203.0.4.exe
|
||||||
|
|
||||||
[Section.0415]
|
[Section.0415]
|
||||||
Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty.
|
Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty.
|
||||||
Size = 9.3M
|
Size = 9.3M
|
||||||
URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/
|
URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.3/win32/pl/Thunderbird%20Setup%203.0.3.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/win32/pl/Thunderbird%20Setup%203.0.4.exe
|
||||||
|
|
||||||
[Section.0419]
|
[Section.0419]
|
||||||
Description = Один из самых популярных и лучших бесплатных почтовых клиентов.
|
Description = Один из самых популярных и лучших бесплатных почтовых клиентов.
|
||||||
Size = 8.8M
|
Size = 8.8M
|
||||||
URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/
|
URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/
|
||||||
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.3/win32/ru/Thunderbird%20Setup%203.0.3.exe
|
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/win32/ru/Thunderbird%20Setup%203.0.4.exe
|
||||||
|
|
|
@ -49,7 +49,7 @@ void ApplicationPageOnNotify(WPARAM wParam, LPARAM lParam);
|
||||||
void ApplicationPageShowContextMenu1(void);
|
void ApplicationPageShowContextMenu1(void);
|
||||||
void ApplicationPageShowContextMenu2(void);
|
void ApplicationPageShowContextMenu2(void);
|
||||||
int CALLBACK ApplicationPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
|
int CALLBACK ApplicationPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
|
||||||
int PerfGetIndexByProcessId(DWORD dwProcessId);
|
int ProcGetIndexByProcessId(DWORD dwProcessId);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
void SwitchToThisWindow (
|
void SwitchToThisWindow (
|
||||||
|
@ -236,6 +236,13 @@ void UpdateApplicationListControlViewSetting(void)
|
||||||
|
|
||||||
DWORD WINAPI ApplicationPageRefreshThread(void *lpParameter)
|
DWORD WINAPI ApplicationPageRefreshThread(void *lpParameter)
|
||||||
{
|
{
|
||||||
|
INT i;
|
||||||
|
BOOL bItemRemoved = FALSE;
|
||||||
|
LV_ITEM item;
|
||||||
|
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
||||||
|
HIMAGELIST hImageListLarge;
|
||||||
|
HIMAGELIST hImageListSmall;
|
||||||
|
|
||||||
/* Create the event */
|
/* Create the event */
|
||||||
hApplicationPageEvent = CreateEventW(NULL, TRUE, TRUE, NULL);
|
hApplicationPageEvent = CreateEventW(NULL, TRUE, TRUE, NULL);
|
||||||
|
|
||||||
|
@ -269,6 +276,55 @@ DWORD WINAPI ApplicationPageRefreshThread(void *lpParameter)
|
||||||
EnumWindows(EnumWindowsProc, 0);
|
EnumWindows(EnumWindowsProc, 0);
|
||||||
if (noApps)
|
if (noApps)
|
||||||
(void)ListView_DeleteAllItems(hApplicationPageListCtrl);
|
(void)ListView_DeleteAllItems(hApplicationPageListCtrl);
|
||||||
|
|
||||||
|
/* Get the image lists */
|
||||||
|
hImageListLarge = ListView_GetImageList(hApplicationPageListCtrl, LVSIL_NORMAL);
|
||||||
|
hImageListSmall = ListView_GetImageList(hApplicationPageListCtrl, LVSIL_SMALL);
|
||||||
|
|
||||||
|
/* Check to see if we need to remove any items from the list */
|
||||||
|
for (i=ListView_GetItemCount(hApplicationPageListCtrl)-1; i>=0; i--)
|
||||||
|
{
|
||||||
|
memset(&item, 0, sizeof(LV_ITEM));
|
||||||
|
item.mask = LVIF_IMAGE|LVIF_PARAM;
|
||||||
|
item.iItem = i;
|
||||||
|
(void)ListView_GetItem(hApplicationPageListCtrl, &item);
|
||||||
|
|
||||||
|
pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
|
||||||
|
if (!IsWindow(pAPLI->hWnd)||
|
||||||
|
(wcslen(pAPLI->szTitle) <= 0) ||
|
||||||
|
!IsWindowVisible(pAPLI->hWnd) ||
|
||||||
|
(GetParent(pAPLI->hWnd) != NULL) ||
|
||||||
|
(GetWindow(pAPLI->hWnd, GW_OWNER) != NULL) ||
|
||||||
|
(GetWindowLongPtr(pAPLI->hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW))
|
||||||
|
{
|
||||||
|
ImageList_Remove(hImageListLarge, item.iItem);
|
||||||
|
ImageList_Remove(hImageListSmall, item.iItem);
|
||||||
|
|
||||||
|
(void)ListView_DeleteItem(hApplicationPageListCtrl, item.iItem);
|
||||||
|
HeapFree(GetProcessHeap(), 0, pAPLI);
|
||||||
|
bItemRemoved = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If an item was removed from the list then
|
||||||
|
* we need to resync all the items with the
|
||||||
|
* image list
|
||||||
|
*/
|
||||||
|
if (bItemRemoved)
|
||||||
|
{
|
||||||
|
for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++)
|
||||||
|
{
|
||||||
|
memset(&item, 0, sizeof(LV_ITEM));
|
||||||
|
item.mask = LVIF_IMAGE;
|
||||||
|
item.iItem = i;
|
||||||
|
item.iImage = i;
|
||||||
|
(void)ListView_SetItem(hApplicationPageListCtrl, &item);
|
||||||
|
}
|
||||||
|
bItemRemoved = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ApplicationPageUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -333,13 +389,12 @@ BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
|
||||||
|
|
||||||
void AddOrUpdateHwnd(HWND hWnd, WCHAR *szTitle, HICON hIcon, BOOL bHung)
|
void AddOrUpdateHwnd(HWND hWnd, WCHAR *szTitle, HICON hIcon, BOOL bHung)
|
||||||
{
|
{
|
||||||
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
||||||
HIMAGELIST hImageListLarge;
|
HIMAGELIST hImageListLarge;
|
||||||
HIMAGELIST hImageListSmall;
|
HIMAGELIST hImageListSmall;
|
||||||
LV_ITEM item;
|
LV_ITEM item;
|
||||||
int i;
|
int i;
|
||||||
BOOL bAlreadyInList = FALSE;
|
BOOL bAlreadyInList = FALSE;
|
||||||
BOOL bItemRemoved = FALSE;
|
|
||||||
|
|
||||||
memset(&item, 0, sizeof(LV_ITEM));
|
memset(&item, 0, sizeof(LV_ITEM));
|
||||||
|
|
||||||
|
@ -406,51 +461,7 @@ void AddOrUpdateHwnd(HWND hWnd, WCHAR *szTitle, HICON hIcon, BOOL bHung)
|
||||||
item.lParam = (LPARAM)pAPLI;
|
item.lParam = (LPARAM)pAPLI;
|
||||||
(void)ListView_InsertItem(hApplicationPageListCtrl, &item);
|
(void)ListView_InsertItem(hApplicationPageListCtrl, &item);
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
/* Check to see if we need to remove any items from the list */
|
|
||||||
for (i=ListView_GetItemCount(hApplicationPageListCtrl)-1; i>=0; i--)
|
|
||||||
{
|
|
||||||
memset(&item, 0, sizeof(LV_ITEM));
|
|
||||||
item.mask = LVIF_IMAGE|LVIF_PARAM;
|
|
||||||
item.iItem = i;
|
|
||||||
(void)ListView_GetItem(hApplicationPageListCtrl, &item);
|
|
||||||
|
|
||||||
pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
|
|
||||||
if (!IsWindow(pAPLI->hWnd)||
|
|
||||||
(wcslen(pAPLI->szTitle) <= 0) ||
|
|
||||||
!IsWindowVisible(pAPLI->hWnd) ||
|
|
||||||
(GetParent(pAPLI->hWnd) != NULL) ||
|
|
||||||
(GetWindow(pAPLI->hWnd, GW_OWNER) != NULL) ||
|
|
||||||
(GetWindowLongPtrW(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW))
|
|
||||||
{
|
|
||||||
ImageList_Remove(hImageListLarge, item.iItem);
|
|
||||||
ImageList_Remove(hImageListSmall, item.iItem);
|
|
||||||
|
|
||||||
(void)ListView_DeleteItem(hApplicationPageListCtrl, item.iItem);
|
|
||||||
HeapFree(GetProcessHeap(), 0, pAPLI);
|
|
||||||
bItemRemoved = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If an item was removed from the list then
|
|
||||||
* we need to resync all the items with the
|
|
||||||
* image list
|
|
||||||
*/
|
|
||||||
if (bItemRemoved)
|
|
||||||
{
|
|
||||||
for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++)
|
|
||||||
{
|
|
||||||
memset(&item, 0, sizeof(LV_ITEM));
|
|
||||||
item.mask = LVIF_IMAGE;
|
|
||||||
item.iItem = i;
|
|
||||||
item.iImage = i;
|
|
||||||
(void)ListView_SetItem(hApplicationPageListCtrl, &item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ApplicationPageUpdate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ApplicationPageUpdate(void)
|
void ApplicationPageUpdate(void)
|
||||||
|
@ -878,7 +889,6 @@ void ApplicationPage_OnGotoProcess(void)
|
||||||
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
||||||
LV_ITEM item;
|
LV_ITEM item;
|
||||||
int i;
|
int i;
|
||||||
/* NMHDR nmhdr; */
|
|
||||||
|
|
||||||
for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++) {
|
for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++) {
|
||||||
memset(&item, 0, sizeof(LV_ITEM));
|
memset(&item, 0, sizeof(LV_ITEM));
|
||||||
|
@ -902,7 +912,7 @@ void ApplicationPage_OnGotoProcess(void)
|
||||||
/*
|
/*
|
||||||
* Select the process item in the list
|
* Select the process item in the list
|
||||||
*/
|
*/
|
||||||
i = PerfGetIndexByProcessId(dwProcessId);
|
i = ProcGetIndexByProcessId(dwProcessId);
|
||||||
if (i != -1)
|
if (i != -1)
|
||||||
{
|
{
|
||||||
ListView_SetItemState(hProcessPageListCtrl,
|
ListView_SetItemState(hProcessPageListCtrl,
|
||||||
|
|
|
@ -40,6 +40,15 @@ SYSTEM_HANDLE_INFORMATION SystemHandleInfo;
|
||||||
PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SystemProcessorTimeInfo = NULL;
|
PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SystemProcessorTimeInfo = NULL;
|
||||||
PSID SystemUserSid = NULL;
|
PSID SystemUserSid = NULL;
|
||||||
|
|
||||||
|
typedef struct _SIDTOUSERNAME
|
||||||
|
{
|
||||||
|
LIST_ENTRY List;
|
||||||
|
LPWSTR pszName;
|
||||||
|
BYTE Data[0];
|
||||||
|
} SIDTOUSERNAME, *PSIDTOUSERNAME;
|
||||||
|
|
||||||
|
static LIST_ENTRY SidToUserNameHead = {&SidToUserNameHead, &SidToUserNameHead};
|
||||||
|
|
||||||
BOOL PerfDataInitialize(void)
|
BOOL PerfDataInitialize(void)
|
||||||
{
|
{
|
||||||
SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
|
SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
|
||||||
|
@ -63,6 +72,8 @@ BOOL PerfDataInitialize(void)
|
||||||
|
|
||||||
void PerfDataUninitialize(void)
|
void PerfDataUninitialize(void)
|
||||||
{
|
{
|
||||||
|
PLIST_ENTRY pCur;
|
||||||
|
PSIDTOUSERNAME pEntry;
|
||||||
|
|
||||||
if (pPerfData != NULL)
|
if (pPerfData != NULL)
|
||||||
HeapFree(GetProcessHeap(), 0, pPerfData);
|
HeapFree(GetProcessHeap(), 0, pPerfData);
|
||||||
|
@ -74,6 +85,15 @@ void PerfDataUninitialize(void)
|
||||||
FreeSid(SystemUserSid);
|
FreeSid(SystemUserSid);
|
||||||
SystemUserSid = NULL;
|
SystemUserSid = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Free user names cache list */
|
||||||
|
pCur = SidToUserNameHead.Flink;
|
||||||
|
while (pCur != &SidToUserNameHead)
|
||||||
|
{
|
||||||
|
pEntry = CONTAINING_RECORD(pCur, SIDTOUSERNAME, List);
|
||||||
|
pCur = pCur->Flink;
|
||||||
|
HeapFree(GetProcessHeap(), 0, pEntry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SidToUserName(PSID Sid, LPWSTR szBuffer, DWORD BufferSize)
|
static void SidToUserName(PSID Sid, LPWSTR szBuffer, DWORD BufferSize)
|
||||||
|
@ -86,6 +106,56 @@ static void SidToUserName(PSID Sid, LPWSTR szBuffer, DWORD BufferSize)
|
||||||
LookupAccountSidW(NULL, Sid, szBuffer, &BufferSize, szDomainNameUnused, &DomainNameLen, &Use);
|
LookupAccountSidW(NULL, Sid, szBuffer, &BufferSize, szDomainNameUnused, &DomainNameLen, &Use);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
CachedGetUserFromSid(
|
||||||
|
PSID pSid,
|
||||||
|
LPWSTR pUserName,
|
||||||
|
PULONG pcwcUserName)
|
||||||
|
{
|
||||||
|
PLIST_ENTRY pCur;
|
||||||
|
PSIDTOUSERNAME pEntry;
|
||||||
|
ULONG cbSid, cwcUserName;
|
||||||
|
|
||||||
|
cwcUserName = *pcwcUserName;
|
||||||
|
|
||||||
|
/* Walk through the list */
|
||||||
|
for(pCur = SidToUserNameHead.Flink;
|
||||||
|
pCur != &SidToUserNameHead;
|
||||||
|
pCur = pCur->Flink)
|
||||||
|
{
|
||||||
|
pEntry = CONTAINING_RECORD(pCur, SIDTOUSERNAME, List);
|
||||||
|
if (EqualSid((PSID)&pEntry->Data, pSid))
|
||||||
|
{
|
||||||
|
wcsncpy(pUserName, pEntry->pszName, cwcUserName);
|
||||||
|
*pcwcUserName = cwcUserName;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* We didn't find the SID in the list, get the name conventional */
|
||||||
|
SidToUserName(pSid, pUserName, cwcUserName);
|
||||||
|
|
||||||
|
/* Allocate a new entry */
|
||||||
|
*pcwcUserName = wcslen(pUserName);
|
||||||
|
cwcUserName = *pcwcUserName + 1;
|
||||||
|
cbSid = GetLengthSid(pSid);
|
||||||
|
pEntry = HeapAlloc(GetProcessHeap(), 0, sizeof(SIDTOUSERNAME) + cbSid + cwcUserName * sizeof(WCHAR));
|
||||||
|
|
||||||
|
/* Copy the Sid and name to our entry */
|
||||||
|
CopySid(cbSid, (PSID)&pEntry->Data, pSid);
|
||||||
|
pEntry->pszName = (LPWSTR)(pEntry->Data + cbSid);
|
||||||
|
wcsncpy(pEntry->pszName, pUserName, cwcUserName);
|
||||||
|
|
||||||
|
/* Insert the new entry */
|
||||||
|
pEntry->List.Flink = &SidToUserNameHead;
|
||||||
|
pEntry->List.Blink = SidToUserNameHead.Blink;
|
||||||
|
SidToUserNameHead.Blink->Flink = &pEntry->List;
|
||||||
|
SidToUserNameHead.Blink = &pEntry->List;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
void PerfDataRefresh(void)
|
void PerfDataRefresh(void)
|
||||||
{
|
{
|
||||||
ULONG ulSize;
|
ULONG ulSize;
|
||||||
|
@ -106,6 +176,7 @@ void PerfDataRefresh(void)
|
||||||
PSECURITY_DESCRIPTOR ProcessSD;
|
PSECURITY_DESCRIPTOR ProcessSD;
|
||||||
PSID ProcessUser;
|
PSID ProcessUser;
|
||||||
ULONG Buffer[64]; /* must be 4 bytes aligned! */
|
ULONG Buffer[64]; /* must be 4 bytes aligned! */
|
||||||
|
ULONG cwcUserName;
|
||||||
|
|
||||||
/* Get new system time */
|
/* Get new system time */
|
||||||
status = NtQuerySystemInformation(SystemTimeOfDayInformation, &SysTimeInfo, sizeof(SysTimeInfo), 0);
|
status = NtQuerySystemInformation(SystemTimeOfDayInformation, &SysTimeInfo, sizeof(SysTimeInfo), 0);
|
||||||
|
@ -341,7 +412,8 @@ ClearInfo:
|
||||||
ZeroMemory(&pPerfData[Idx].IOCounters, sizeof(IO_COUNTERS));
|
ZeroMemory(&pPerfData[Idx].IOCounters, sizeof(IO_COUNTERS));
|
||||||
}
|
}
|
||||||
|
|
||||||
SidToUserName(ProcessUser, pPerfData[Idx].UserName, sizeof(pPerfData[0].UserName) / sizeof(pPerfData[0].UserName[0]));
|
cwcUserName = sizeof(pPerfData[0].UserName) / sizeof(pPerfData[0].UserName[0]);
|
||||||
|
CachedGetUserFromSid(ProcessUser, pPerfData[Idx].UserName, &cwcUserName);
|
||||||
|
|
||||||
if (ProcessSD != NULL)
|
if (ProcessSD != NULL)
|
||||||
{
|
{
|
||||||
|
@ -356,6 +428,29 @@ ClearInfo:
|
||||||
LeaveCriticalSection(&PerfDataCriticalSection);
|
LeaveCriticalSection(&PerfDataCriticalSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ULONG PerfDataGetProcessIndex(ULONG pid)
|
||||||
|
{
|
||||||
|
ULONG idx;
|
||||||
|
|
||||||
|
EnterCriticalSection(&PerfDataCriticalSection);
|
||||||
|
|
||||||
|
for (idx = 0; idx < ProcessCount; idx++)
|
||||||
|
{
|
||||||
|
if (PtrToUlong(pPerfData[idx].ProcessId) == pid)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LeaveCriticalSection(&PerfDataCriticalSection);
|
||||||
|
|
||||||
|
if (idx == ProcessCount)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return idx;
|
||||||
|
}
|
||||||
|
|
||||||
ULONG PerfDataGetProcessCount(void)
|
ULONG PerfDataGetProcessCount(void)
|
||||||
{
|
{
|
||||||
return ProcessCount;
|
return ProcessCount;
|
||||||
|
@ -387,27 +482,6 @@ BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, int nMaxCount)
|
||||||
return bSuccessful;
|
return bSuccessful;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PerfGetIndexByProcessId(DWORD dwProcessId)
|
|
||||||
{
|
|
||||||
int FoundIndex = -1;
|
|
||||||
ULONG Index;
|
|
||||||
|
|
||||||
EnterCriticalSection(&PerfDataCriticalSection);
|
|
||||||
|
|
||||||
for (Index = 0; Index < ProcessCount; Index++)
|
|
||||||
{
|
|
||||||
if (PtrToUlong(pPerfData[Index].ProcessId) == dwProcessId)
|
|
||||||
{
|
|
||||||
FoundIndex = Index;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LeaveCriticalSection(&PerfDataCriticalSection);
|
|
||||||
|
|
||||||
return FoundIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG PerfDataGetProcessId(ULONG Index)
|
ULONG PerfDataGetProcessId(ULONG Index)
|
||||||
{
|
{
|
||||||
ULONG ProcessId;
|
ULONG ProcessId;
|
||||||
|
|
|
@ -60,6 +60,7 @@ void PerfDataUninitialize(void);
|
||||||
void PerfDataRefresh(void);
|
void PerfDataRefresh(void);
|
||||||
|
|
||||||
BOOL PerfDataGet(ULONG Index, PPERFDATA *lppData);
|
BOOL PerfDataGet(ULONG Index, PPERFDATA *lppData);
|
||||||
|
ULONG PerfDataGetProcessIndex(ULONG pid);
|
||||||
ULONG PerfDataGetProcessCount(void);
|
ULONG PerfDataGetProcessCount(void);
|
||||||
ULONG PerfDataGetProcessorUsage(void);
|
ULONG PerfDataGetProcessorUsage(void);
|
||||||
ULONG PerfDataGetProcessorSystemUsage(void);
|
ULONG PerfDataGetProcessorSystemUsage(void);
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
ULONG Index;
|
|
||||||
ULONG ProcessId;
|
ULONG ProcessId;
|
||||||
} PROCESS_PAGE_LIST_ITEM, *LPPROCESS_PAGE_LIST_ITEM;
|
} PROCESS_PAGE_LIST_ITEM, *LPPROCESS_PAGE_LIST_ITEM;
|
||||||
|
|
||||||
|
@ -54,6 +53,27 @@ BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, int nMaxCoun
|
||||||
DWORD WINAPI ProcessPageRefreshThread(void *lpParameter);
|
DWORD WINAPI ProcessPageRefreshThread(void *lpParameter);
|
||||||
int ProcessRunning(ULONG ProcessId);
|
int ProcessRunning(ULONG ProcessId);
|
||||||
|
|
||||||
|
int ProcGetIndexByProcessId(DWORD dwProcessId)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
LVITEM item;
|
||||||
|
LPPROCESS_PAGE_LIST_ITEM pData;
|
||||||
|
|
||||||
|
for (i=0; i<ListView_GetItemCount(hProcessPageListCtrl); i++)
|
||||||
|
{
|
||||||
|
memset(&item, 0, sizeof(LV_ITEM));
|
||||||
|
item.mask = LVIF_PARAM;
|
||||||
|
item.iItem = i;
|
||||||
|
(void)ListView_GetItem(hProcessPageListCtrl, &item);
|
||||||
|
pData = (LPPROCESS_PAGE_LIST_ITEM)item.lParam;
|
||||||
|
if (pData->ProcessId == dwProcessId)
|
||||||
|
{
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
DWORD GetSelectedProcessId(void)
|
DWORD GetSelectedProcessId(void)
|
||||||
{
|
{
|
||||||
int Index;
|
int Index;
|
||||||
|
@ -71,7 +91,7 @@ DWORD GetSelectedProcessId(void)
|
||||||
(void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
|
(void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
|
||||||
|
|
||||||
if (lvitem.lParam)
|
if (lvitem.lParam)
|
||||||
return PerfDataGetProcessId(((LPPROCESS_PAGE_LIST_ITEM)lvitem.lParam)->Index);
|
return ((LPPROCESS_PAGE_LIST_ITEM)lvitem.lParam)->ProcessId;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -219,7 +239,7 @@ void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
pData = (LPPROCESS_PAGE_LIST_ITEM)pnmdi->item.lParam;
|
pData = (LPPROCESS_PAGE_LIST_ITEM)pnmdi->item.lParam;
|
||||||
Index = pData->Index;
|
Index = PerfDataGetProcessIndex(pData->ProcessId);
|
||||||
ColumnIndex = pnmdi->item.iSubItem;
|
ColumnIndex = pnmdi->item.iSubItem;
|
||||||
|
|
||||||
PerfDataGetText(Index, ColumnIndex, pnmdi->item.pszText, pnmdi->item.cchTextMax);
|
PerfDataGetText(Index, ColumnIndex, pnmdi->item.pszText, pnmdi->item.cchTextMax);
|
||||||
|
@ -414,7 +434,7 @@ void UpdateProcesses()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
ULONG l;
|
ULONG l;
|
||||||
LV_ITEM item;
|
LV_ITEM item;
|
||||||
LPPROCESS_PAGE_LIST_ITEM pData;
|
LPPROCESS_PAGE_LIST_ITEM pData;
|
||||||
|
|
||||||
/* Remove old processes */
|
/* Remove old processes */
|
||||||
|
@ -431,10 +451,17 @@ void UpdateProcesses()
|
||||||
HeapFree(GetProcessHeap(), 0, pData);
|
HeapFree(GetProcessHeap(), 0, pData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (l = 0; l < PerfDataGetProcessCount(); l++)
|
|
||||||
|
/* Check for difference in listview process and performance process counts */
|
||||||
|
if (ListView_GetItemCount(hProcessPageListCtrl) != PerfDataGetProcessCount())
|
||||||
{
|
{
|
||||||
AddProcess(l);
|
/* Add new processes by checking against the current items */
|
||||||
|
for (l = 0; l < PerfDataGetProcessCount(); l++)
|
||||||
|
{
|
||||||
|
AddProcess(l);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TaskManagerSettings.SortColumn != -1)
|
if (TaskManagerSettings.SortColumn != -1)
|
||||||
{
|
{
|
||||||
(void)ListView_SortItems(hProcessPageListCtrl, ProcessPageCompareFunc, NULL);
|
(void)ListView_SortItems(hProcessPageListCtrl, ProcessPageCompareFunc, NULL);
|
||||||
|
@ -482,7 +509,7 @@ void AddProcess(ULONG Index)
|
||||||
item.iItem = i;
|
item.iItem = i;
|
||||||
(void)ListView_GetItem(hProcessPageListCtrl, &item);
|
(void)ListView_GetItem(hProcessPageListCtrl, &item);
|
||||||
pData = (LPPROCESS_PAGE_LIST_ITEM)item.lParam;
|
pData = (LPPROCESS_PAGE_LIST_ITEM)item.lParam;
|
||||||
if (PerfDataGetProcessId(pData->Index) == pid)
|
if (pData->ProcessId == pid)
|
||||||
{
|
{
|
||||||
bAlreadyInList = TRUE;
|
bAlreadyInList = TRUE;
|
||||||
break;
|
break;
|
||||||
|
@ -491,7 +518,6 @@ void AddProcess(ULONG Index)
|
||||||
if (!bAlreadyInList) /* Add */
|
if (!bAlreadyInList) /* Add */
|
||||||
{
|
{
|
||||||
pData = (LPPROCESS_PAGE_LIST_ITEM)HeapAlloc(GetProcessHeap(), 0, sizeof(PROCESS_PAGE_LIST_ITEM));
|
pData = (LPPROCESS_PAGE_LIST_ITEM)HeapAlloc(GetProcessHeap(), 0, sizeof(PROCESS_PAGE_LIST_ITEM));
|
||||||
pData->Index = Index;
|
|
||||||
pData->ProcessId = pid;
|
pData->ProcessId = pid;
|
||||||
|
|
||||||
/* Add the item to the list */
|
/* Add the item to the list */
|
||||||
|
@ -686,6 +712,8 @@ int CALLBACK ProcessPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lPara
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
LPPROCESS_PAGE_LIST_ITEM Param1;
|
LPPROCESS_PAGE_LIST_ITEM Param1;
|
||||||
LPPROCESS_PAGE_LIST_ITEM Param2;
|
LPPROCESS_PAGE_LIST_ITEM Param2;
|
||||||
|
ULONG IndexParam1;
|
||||||
|
ULONG IndexParam2;
|
||||||
WCHAR text1[260];
|
WCHAR text1[260];
|
||||||
WCHAR text2[260];
|
WCHAR text2[260];
|
||||||
ULONG l1;
|
ULONG l1;
|
||||||
|
@ -704,165 +732,167 @@ int CALLBACK ProcessPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lPara
|
||||||
Param1 = (LPPROCESS_PAGE_LIST_ITEM)lParam2;
|
Param1 = (LPPROCESS_PAGE_LIST_ITEM)lParam2;
|
||||||
Param2 = (LPPROCESS_PAGE_LIST_ITEM)lParam1;
|
Param2 = (LPPROCESS_PAGE_LIST_ITEM)lParam1;
|
||||||
}
|
}
|
||||||
|
IndexParam1 = PerfDataGetProcessIndex(Param1->ProcessId);
|
||||||
|
IndexParam2 = PerfDataGetProcessIndex(Param2->ProcessId);
|
||||||
|
|
||||||
if (TaskManagerSettings.SortColumn == COLUMN_IMAGENAME)
|
if (TaskManagerSettings.SortColumn == COLUMN_IMAGENAME)
|
||||||
{
|
{
|
||||||
PerfDataGetImageName(Param1->Index, text1, sizeof (text1) / sizeof (*text1));
|
PerfDataGetImageName(IndexParam1, text1, sizeof (text1) / sizeof (*text1));
|
||||||
PerfDataGetImageName(Param2->Index, text2, sizeof (text2) / sizeof (*text2));
|
PerfDataGetImageName(IndexParam2, text2, sizeof (text2) / sizeof (*text2));
|
||||||
ret = _wcsicmp(text1, text2);
|
ret = _wcsicmp(text1, text2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_PID)
|
else if (TaskManagerSettings.SortColumn == COLUMN_PID)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetProcessId(Param1->Index);
|
l1 = Param1->ProcessId;
|
||||||
l2 = PerfDataGetProcessId(Param2->Index);
|
l2 = Param2->ProcessId;
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_USERNAME)
|
else if (TaskManagerSettings.SortColumn == COLUMN_USERNAME)
|
||||||
{
|
{
|
||||||
PerfDataGetUserName(Param1->Index, text1, sizeof (text1) / sizeof (*text1));
|
PerfDataGetUserName(IndexParam1, text1, sizeof (text1) / sizeof (*text1));
|
||||||
PerfDataGetUserName(Param2->Index, text2, sizeof (text2) / sizeof (*text2));
|
PerfDataGetUserName(IndexParam2, text2, sizeof (text2) / sizeof (*text2));
|
||||||
ret = _wcsicmp(text1, text2);
|
ret = _wcsicmp(text1, text2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_SESSIONID)
|
else if (TaskManagerSettings.SortColumn == COLUMN_SESSIONID)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetSessionId(Param1->Index);
|
l1 = PerfDataGetSessionId(IndexParam1);
|
||||||
l2 = PerfDataGetSessionId(Param2->Index);
|
l2 = PerfDataGetSessionId(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_CPUUSAGE)
|
else if (TaskManagerSettings.SortColumn == COLUMN_CPUUSAGE)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetCPUUsage(Param1->Index);
|
l1 = PerfDataGetCPUUsage(IndexParam1);
|
||||||
l2 = PerfDataGetCPUUsage(Param2->Index);
|
l2 = PerfDataGetCPUUsage(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_CPUTIME)
|
else if (TaskManagerSettings.SortColumn == COLUMN_CPUTIME)
|
||||||
{
|
{
|
||||||
time1 = PerfDataGetCPUTime(Param1->Index);
|
time1 = PerfDataGetCPUTime(IndexParam1);
|
||||||
time2 = PerfDataGetCPUTime(Param2->Index);
|
time2 = PerfDataGetCPUTime(IndexParam2);
|
||||||
ret = largeintcmp(time1, time2);
|
ret = largeintcmp(time1, time2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGE)
|
else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGE)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetWorkingSetSizeBytes(Param1->Index);
|
l1 = PerfDataGetWorkingSetSizeBytes(IndexParam1);
|
||||||
l2 = PerfDataGetWorkingSetSizeBytes(Param2->Index);
|
l2 = PerfDataGetWorkingSetSizeBytes(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_PEAKMEMORYUSAGE)
|
else if (TaskManagerSettings.SortColumn == COLUMN_PEAKMEMORYUSAGE)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetPeakWorkingSetSizeBytes(Param1->Index);
|
l1 = PerfDataGetPeakWorkingSetSizeBytes(IndexParam1);
|
||||||
l2 = PerfDataGetPeakWorkingSetSizeBytes(Param2->Index);
|
l2 = PerfDataGetPeakWorkingSetSizeBytes(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGEDELTA)
|
else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGEDELTA)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetWorkingSetSizeDelta(Param1->Index);
|
l1 = PerfDataGetWorkingSetSizeDelta(IndexParam1);
|
||||||
l2 = PerfDataGetWorkingSetSizeDelta(Param2->Index);
|
l2 = PerfDataGetWorkingSetSizeDelta(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTS)
|
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTS)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetPageFaultCount(Param1->Index);
|
l1 = PerfDataGetPageFaultCount(IndexParam1);
|
||||||
l2 = PerfDataGetPageFaultCount(Param2->Index);
|
l2 = PerfDataGetPageFaultCount(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTSDELTA)
|
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTSDELTA)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetPageFaultCountDelta(Param1->Index);
|
l1 = PerfDataGetPageFaultCountDelta(IndexParam1);
|
||||||
l2 = PerfDataGetPageFaultCountDelta(Param2->Index);
|
l2 = PerfDataGetPageFaultCountDelta(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_VIRTUALMEMORYSIZE)
|
else if (TaskManagerSettings.SortColumn == COLUMN_VIRTUALMEMORYSIZE)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetVirtualMemorySizeBytes(Param1->Index);
|
l1 = PerfDataGetVirtualMemorySizeBytes(IndexParam1);
|
||||||
l2 = PerfDataGetVirtualMemorySizeBytes(Param2->Index);
|
l2 = PerfDataGetVirtualMemorySizeBytes(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEDPOOL)
|
else if (TaskManagerSettings.SortColumn == COLUMN_PAGEDPOOL)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetPagedPoolUsagePages(Param1->Index);
|
l1 = PerfDataGetPagedPoolUsagePages(IndexParam1);
|
||||||
l2 = PerfDataGetPagedPoolUsagePages(Param2->Index);
|
l2 = PerfDataGetPagedPoolUsagePages(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_NONPAGEDPOOL)
|
else if (TaskManagerSettings.SortColumn == COLUMN_NONPAGEDPOOL)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetNonPagedPoolUsagePages(Param1->Index);
|
l1 = PerfDataGetNonPagedPoolUsagePages(IndexParam1);
|
||||||
l2 = PerfDataGetNonPagedPoolUsagePages(Param2->Index);
|
l2 = PerfDataGetNonPagedPoolUsagePages(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_BASEPRIORITY)
|
else if (TaskManagerSettings.SortColumn == COLUMN_BASEPRIORITY)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetBasePriority(Param1->Index);
|
l1 = PerfDataGetBasePriority(IndexParam1);
|
||||||
l2 = PerfDataGetBasePriority(Param2->Index);
|
l2 = PerfDataGetBasePriority(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_HANDLECOUNT)
|
else if (TaskManagerSettings.SortColumn == COLUMN_HANDLECOUNT)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetHandleCount(Param1->Index);
|
l1 = PerfDataGetHandleCount(IndexParam1);
|
||||||
l2 = PerfDataGetHandleCount(Param2->Index);
|
l2 = PerfDataGetHandleCount(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_THREADCOUNT)
|
else if (TaskManagerSettings.SortColumn == COLUMN_THREADCOUNT)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetThreadCount(Param1->Index);
|
l1 = PerfDataGetThreadCount(IndexParam1);
|
||||||
l2 = PerfDataGetThreadCount(Param2->Index);
|
l2 = PerfDataGetThreadCount(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_USEROBJECTS)
|
else if (TaskManagerSettings.SortColumn == COLUMN_USEROBJECTS)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetUSERObjectCount(Param1->Index);
|
l1 = PerfDataGetUSERObjectCount(IndexParam1);
|
||||||
l2 = PerfDataGetUSERObjectCount(Param2->Index);
|
l2 = PerfDataGetUSERObjectCount(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_GDIOBJECTS)
|
else if (TaskManagerSettings.SortColumn == COLUMN_GDIOBJECTS)
|
||||||
{
|
{
|
||||||
l1 = PerfDataGetGDIObjectCount(Param1->Index);
|
l1 = PerfDataGetGDIObjectCount(IndexParam1);
|
||||||
l2 = PerfDataGetGDIObjectCount(Param2->Index);
|
l2 = PerfDataGetGDIObjectCount(IndexParam2);
|
||||||
ret = CMP(l1, l2);
|
ret = CMP(l1, l2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOREADS)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOREADS)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.ReadOperationCount;
|
ull1 = iocounters1.ReadOperationCount;
|
||||||
ull2 = iocounters2.ReadOperationCount;
|
ull2 = iocounters2.ReadOperationCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITES)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITES)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.WriteOperationCount;
|
ull1 = iocounters1.WriteOperationCount;
|
||||||
ull2 = iocounters2.WriteOperationCount;
|
ull2 = iocounters2.WriteOperationCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHER)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHER)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.OtherOperationCount;
|
ull1 = iocounters1.OtherOperationCount;
|
||||||
ull2 = iocounters2.OtherOperationCount;
|
ull2 = iocounters2.OtherOperationCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOREADBYTES)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOREADBYTES)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.ReadTransferCount;
|
ull1 = iocounters1.ReadTransferCount;
|
||||||
ull2 = iocounters2.ReadTransferCount;
|
ull2 = iocounters2.ReadTransferCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITEBYTES)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITEBYTES)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.WriteTransferCount;
|
ull1 = iocounters1.WriteTransferCount;
|
||||||
ull2 = iocounters2.WriteTransferCount;
|
ull2 = iocounters2.WriteTransferCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
}
|
}
|
||||||
else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHERBYTES)
|
else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHERBYTES)
|
||||||
{
|
{
|
||||||
PerfDataGetIOCounters(Param1->Index, &iocounters1);
|
PerfDataGetIOCounters(IndexParam1, &iocounters1);
|
||||||
PerfDataGetIOCounters(Param2->Index, &iocounters2);
|
PerfDataGetIOCounters(IndexParam2, &iocounters2);
|
||||||
ull1 = iocounters1.OtherTransferCount;
|
ull1 = iocounters1.OtherTransferCount;
|
||||||
ull2 = iocounters2.OtherTransferCount;
|
ull2 = iocounters2.OtherTransferCount;
|
||||||
ret = CMP(ull1, ull2);
|
ret = CMP(ull1, ull2);
|
||||||
|
|
|
@ -869,6 +869,7 @@ void TaskManager_OnTabWndSelChange(void)
|
||||||
HMENU hViewMenu;
|
HMENU hViewMenu;
|
||||||
HMENU hSubMenu;
|
HMENU hSubMenu;
|
||||||
WCHAR szTemp[256];
|
WCHAR szTemp[256];
|
||||||
|
SYSTEM_INFO sysInfo;
|
||||||
|
|
||||||
hMenu = GetMenu(hMainWnd);
|
hMenu = GetMenu(hMainWnd);
|
||||||
hViewMenu = GetSubMenu(hMenu, 2);
|
hViewMenu = GetSubMenu(hMenu, 2);
|
||||||
|
@ -947,16 +948,28 @@ void TaskManager_OnTabWndSelChange(void)
|
||||||
DeleteMenu(hMenu, 3, MF_BYPOSITION);
|
DeleteMenu(hMenu, 3, MF_BYPOSITION);
|
||||||
DrawMenuBar(hMainWnd);
|
DrawMenuBar(hMainWnd);
|
||||||
}
|
}
|
||||||
hSubMenu = CreatePopupMenu();
|
|
||||||
|
|
||||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHALLCPUS, szTemp, 256);
|
GetSystemInfo(&sysInfo);
|
||||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, szTemp);
|
|
||||||
|
|
||||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256);
|
/* Hide CPU graph options on single CPU systems */
|
||||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, szTemp);
|
if (sysInfo.dwNumberOfProcessors > 1)
|
||||||
|
{
|
||||||
|
hSubMenu = CreatePopupMenu();
|
||||||
|
|
||||||
LoadStringW(hInst, IDS_MENU_CPUHISTORY, szTemp, 256);
|
LoadStringW(hInst, IDS_MENU_ONEGRAPHALLCPUS, szTemp, 256);
|
||||||
AppendMenuW(hViewMenu, MF_STRING|MF_POPUP, (UINT_PTR) hSubMenu, szTemp);
|
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, szTemp);
|
||||||
|
|
||||||
|
LoadStringW(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256);
|
||||||
|
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, szTemp);
|
||||||
|
|
||||||
|
LoadStringW(hInst, IDS_MENU_CPUHISTORY, szTemp, 256);
|
||||||
|
AppendMenuW(hViewMenu, MF_STRING|MF_POPUP, (UINT_PTR) hSubMenu, szTemp);
|
||||||
|
|
||||||
|
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
|
||||||
|
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
|
||||||
|
else
|
||||||
|
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHALL, MF_BYCOMMAND);
|
||||||
|
}
|
||||||
|
|
||||||
LoadStringW(hInst, IDS_MENU_SHOWKERNELTIMES, szTemp, 256);
|
LoadStringW(hInst, IDS_MENU_SHOWKERNELTIMES, szTemp, 256);
|
||||||
AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, szTemp);
|
AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, szTemp);
|
||||||
|
@ -965,10 +978,7 @@ void TaskManager_OnTabWndSelChange(void)
|
||||||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED);
|
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED);
|
||||||
else
|
else
|
||||||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_UNCHECKED);
|
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_UNCHECKED);
|
||||||
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
|
|
||||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
|
|
||||||
else
|
|
||||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHALL, MF_BYCOMMAND);
|
|
||||||
/*
|
/*
|
||||||
* Give the tab control focus
|
* Give the tab control focus
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -492,7 +492,7 @@ static int comp_FindSubFile(void *p, const void *key,
|
||||||
int leaf, void** next)
|
int leaf, void** next)
|
||||||
{
|
{
|
||||||
*next = (char *)p+strlen(p)+(leaf?5:3);
|
*next = (char *)p+strlen(p)+(leaf?5:3);
|
||||||
WINE_TRACE("Comparing '%s' with '%s'\n", (char *)p, (char *)key);
|
WINE_TRACE("Comparing '%s' with '%s'\n", (char *)p, (const char *)key);
|
||||||
return strcmp(p, key);
|
return strcmp(p, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1601,7 +1601,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
|
||||||
case 0xEE:
|
case 0xEE:
|
||||||
case 0xEF:
|
case 0xEF:
|
||||||
{
|
{
|
||||||
char* ptr = (char*) format + 8;
|
const char* ptr = (const char*) format + 8;
|
||||||
BYTE type = format[3];
|
BYTE type = format[3];
|
||||||
int wnd = -1;
|
int wnd = -1;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="winver" type="win32gui" installbase="system32" installname="winver.exe" unicode="yes">
|
<module name="winver" type="win32gui" installbase="system32" installname="winver.exe" unicode="yes">
|
||||||
<include base="winver">.</include>
|
<include base="winver">.</include>
|
||||||
<library>shell32</library>
|
<library>shell32</library>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<group>
|
<group>
|
||||||
<module name="rpcss" type="win32cui" installbase="system32" installname="rpcss.exe" unicode="yes">
|
<module name="rpcss" type="win32cui" installbase="system32" installname="rpcss.exe" unicode="yes">
|
||||||
<include base="rpcss">.</include>
|
<include base="rpcss">.</include>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="telnetd" type="win32cui" installbase="system32" installname="telnetd.exe" unicode="no">
|
<module name="telnetd" type="win32cui" installbase="system32" installname="telnetd.exe" unicode="no">
|
||||||
<include base="reactos"></include>
|
<include base="reactos"></include>
|
||||||
<include base="telnetd">..</include>
|
<include base="telnetd">..</include>
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="tftpd" type="win32cui" installbase="system32" installname="tftpd.exe" allowwarnings="true" unicode="no">
|
<module name="tftpd" type="win32cui" installbase="system32" installname="tftpd.exe" allowwarnings="true" unicode="no">
|
||||||
<include base="reactos"></include>
|
<include base="reactos"></include>
|
||||||
<include base="telnetd">..</include>
|
<include base="telnetd">..</include>
|
||||||
|
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
<library>ws2_32</library>
|
<library>ws2_32</library>
|
||||||
<library>wine</library>
|
<library>wine</library>
|
||||||
|
|
||||||
<file>tftpd.cpp</file>
|
<file>tftpd.cpp</file>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
@ -428,7 +428,7 @@ CreateFreeLoaderIniForReactos(PWCHAR IniPath,
|
||||||
/* ReactOS_KdSerial */
|
/* ReactOS_KdSerial */
|
||||||
CreateFreeLoaderEntry(IniCache, IniSection,
|
CreateFreeLoaderEntry(IniCache, IniSection,
|
||||||
L"ReactOS_KdSerial", L"\"ReactOS (RosDbg)\"",
|
L"ReactOS_KdSerial", L"\"ReactOS (RosDbg)\"",
|
||||||
L"ReactOS", ArcPath,
|
L"Windows2003", ArcPath,
|
||||||
L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /KDSERIAL");
|
L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /KDSERIAL");
|
||||||
|
|
||||||
/* ReactOS_LogFile */
|
/* ReactOS_LogFile */
|
||||||
|
|
|
@ -111,7 +111,7 @@ DetectVMware(int *Version)
|
||||||
|
|
||||||
/* try to open the file */
|
/* try to open the file */
|
||||||
static BOOL
|
static BOOL
|
||||||
FileExists(WCHAR *Path, WCHAR *File)
|
DoesFileExist(WCHAR *Path, WCHAR *File)
|
||||||
{
|
{
|
||||||
WCHAR FileName[MAX_PATH + 1];
|
WCHAR FileName[MAX_PATH + 1];
|
||||||
HANDLE FileHandle;
|
HANDLE FileHandle;
|
||||||
|
@ -195,9 +195,9 @@ IsVMwareCDInDrive(WCHAR *Drv)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(FileExists(SrcPath, vmx_fb) &&
|
if(DoesFileExist(SrcPath, vmx_fb) &&
|
||||||
(FileExists(SrcPath, vmx_mode) || FileExists(SrcPath, vmx_mode_v6)) &&
|
(DoesFileExist(SrcPath, vmx_mode) || DoesFileExist(SrcPath, vmx_mode_v6)) &&
|
||||||
FileExists(SrcPath, vmx_svga))
|
DoesFileExist(SrcPath, vmx_svga))
|
||||||
{
|
{
|
||||||
*Drv = Current;
|
*Drv = Current;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1070,9 +1070,9 @@ wWinMain(HINSTANCE hInstance,
|
||||||
|
|
||||||
SetCurrentDirectory(DestinationPath);
|
SetCurrentDirectory(DestinationPath);
|
||||||
|
|
||||||
DriverFilesFound = FileExists(DestinationPath, vmx_fb) &&
|
DriverFilesFound = DoesFileExist(DestinationPath, vmx_fb) &&
|
||||||
FileExists(DestinationPath, vmx_mode) &&
|
DoesFileExist(DestinationPath, vmx_mode) &&
|
||||||
FileExists(DestinationDriversPath, vmx_svga);
|
DoesFileExist(DestinationDriversPath, vmx_svga);
|
||||||
|
|
||||||
StartVMwConfigWizard = DriverFilesFound && IsVmwSVGAEnabled();
|
StartVMwConfigWizard = DriverFilesFound && IsVmwSVGAEnabled();
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,7 @@ VOID ConOutChar (TCHAR c)
|
||||||
VOID ConPuts(LPTSTR szText, DWORD nStdHandle)
|
VOID ConPuts(LPTSTR szText, DWORD nStdHandle)
|
||||||
{
|
{
|
||||||
ConWrite(szText, _tcslen(szText), nStdHandle);
|
ConWrite(szText, _tcslen(szText), nStdHandle);
|
||||||
ConWrite(_T("\n"), 1, nStdHandle);
|
ConWrite(_T("\r\n"), 2, nStdHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID ConOutResPaging(BOOL NewPage, UINT resID)
|
VOID ConOutResPaging(BOOL NewPage, UINT resID)
|
||||||
|
|
|
@ -703,7 +703,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
|
||||||
LastSpace = i;
|
LastSpace = i;
|
||||||
|
|
||||||
}
|
}
|
||||||
/* insert the quoation and move things around */
|
/* insert the quotation and move things around */
|
||||||
if(szPrefix[LastSpace + 1] != _T('\"') && LastSpace != -1)
|
if(szPrefix[LastSpace + 1] != _T('\"') && LastSpace != -1)
|
||||||
{
|
{
|
||||||
memmove ( &szPrefix[LastSpace+1], &szPrefix[LastSpace], (_tcslen(szPrefix)-LastSpace+1) * sizeof(TCHAR) );
|
memmove ( &szPrefix[LastSpace+1], &szPrefix[LastSpace], (_tcslen(szPrefix)-LastSpace+1) * sizeof(TCHAR) );
|
||||||
|
@ -712,14 +712,17 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
|
||||||
{
|
{
|
||||||
_tcscat(szPrefix,_T("\""));
|
_tcscat(szPrefix,_T("\""));
|
||||||
}
|
}
|
||||||
szPrefix[LastSpace + 1] = _T('\"');
|
szPrefix[LastSpace + 1] = _T('\"');
|
||||||
}
|
}
|
||||||
else if(LastSpace == -1)
|
else if(LastSpace == -1)
|
||||||
{
|
{
|
||||||
_tcscpy(szBaseWord,_T("\""));
|
/* Add quotation only if none exists already */
|
||||||
_tcscat(szBaseWord,szPrefix);
|
if (szPrefix[0] != _T('\"'))
|
||||||
_tcscpy(szPrefix,szBaseWord);
|
{
|
||||||
|
_tcscpy(szBaseWord,_T("\""));
|
||||||
|
_tcscat(szBaseWord,szPrefix);
|
||||||
|
_tcscpy(szPrefix,szBaseWord);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -363,6 +363,12 @@ _tmain(int argc, TCHAR *argv[])
|
||||||
PrintWin32Error( szMsg, GetLastError());
|
PrintWin32Error( szMsg, GetLastError());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
else if ( driveType == 1 )
|
||||||
|
{
|
||||||
|
LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||||
|
PrintWin32Error( szMsg, GetLastError());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if( driveType != DRIVE_FIXED ) {
|
if( driveType != DRIVE_FIXED ) {
|
||||||
LoadString( GetModuleHandle(NULL), STRING_INSERT_DISK, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
LoadString( GetModuleHandle(NULL), STRING_INSERT_DISK, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="runonce" type="win32gui" installbase="system32" installname="runonce.exe" unicode="yes">
|
<module name="runonce" type="win32gui" installbase="system32" installname="runonce.exe" unicode="yes">
|
||||||
<include base="runonce">.</include>
|
<include base="runonce">.</include>
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<if property="ARCH" value="i386>
|
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<if property="ARCH" value="i386">
|
||||||
<module name="bootcd" type="iso" output="ReactOS.iso">
|
<module name="bootcd" type="iso" output="ReactOS.iso">
|
||||||
<bootsector>isoboot</bootsector>
|
<bootsector>isoboot</bootsector>
|
||||||
</module>
|
</module>
|
||||||
</if>
|
</if>
|
||||||
<ifnot property="ARCH" value="i386>
|
<ifnot property="ARCH" value="i386">
|
||||||
<module name="bootcd" type="iso" output="ReactOS-$(ARCH).iso">
|
<module name="bootcd" type="iso" output="ReactOS-$(ARCH).iso">
|
||||||
<bootsector>isoboot</bootsector>
|
<bootsector>isoboot</bootsector>
|
||||||
</module>
|
</module>
|
||||||
</ifnot>
|
</ifnot>
|
||||||
|
</group>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<if property="ARCH" value="i386>
|
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<if property="ARCH" value="i386">
|
||||||
<module name="livecd" type="liveiso" output="ReactOS-LiveCD.iso">
|
<module name="livecd" type="liveiso" output="ReactOS-LiveCD.iso">
|
||||||
<bootsector>isoboot</bootsector>
|
<bootsector>isoboot</bootsector>
|
||||||
</module>
|
</module>
|
||||||
</if>
|
</if>
|
||||||
<ifnot property="ARCH" value="i386>
|
<ifnot property="ARCH" value="i386">
|
||||||
<module name="livecd" type="liveiso" output="ReactOS-LiveCD-$(ARCH).iso">
|
<module name="livecd" type="liveiso" output="ReactOS-LiveCD-$(ARCH).iso">
|
||||||
<bootsector>isoboot</bootsector>
|
<bootsector>isoboot</bootsector>
|
||||||
</module>
|
</module>
|
||||||
</ifnot>
|
</ifnot>
|
||||||
|
</group>
|
||||||
|
|
|
@ -489,8 +489,6 @@ drivers\base\nmidebug\nmidebug.sys 2
|
||||||
|
|
||||||
drivers\battery\battc\battc.sys 2
|
drivers\battery\battc\battc.sys 2
|
||||||
|
|
||||||
drivers\bus\isapnp\isapnp.sys 2
|
|
||||||
|
|
||||||
drivers\bus\acpi\cmbatt\cmbatt.sys 2
|
drivers\bus\acpi\cmbatt\cmbatt.sys 2
|
||||||
drivers\bus\acpi\compbatt\compbatt.sys 2
|
drivers\bus\acpi\compbatt\compbatt.sys 2
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ c_1252.nls=,,,,,,,,,,,,2
|
||||||
cdfs.sys=,,,,,,x,,,,,,4
|
cdfs.sys=,,,,,,x,,,,,,4
|
||||||
cdrom.sys=,,,,,,x,,,,,,4
|
cdrom.sys=,,,,,,x,,,,,,4
|
||||||
class2.sys=,,,,,,x,,,,,,4
|
class2.sys=,,,,,,x,,,,,,4
|
||||||
|
isapnp.sys=,,,,,,,,,,,,4
|
||||||
kdcom.dll=,,,,,,,,,,,,2
|
kdcom.dll=,,,,,,,,,,,,2
|
||||||
disk.sys=,,,,,,x,,,,,,4
|
disk.sys=,,,,,,x,,,,,,4
|
||||||
floppy.sys=,,,,,,x,,,,,,4
|
floppy.sys=,,,,,,x,,,,,,4
|
||||||
|
@ -36,13 +37,16 @@ ramdisk.sys=,,,,,,x,,,,,,4
|
||||||
ext2.sys=,,,,,,x,,,,,,4
|
ext2.sys=,,,,,,x,,,,,,4
|
||||||
|
|
||||||
[HardwareIdsDatabase]
|
[HardwareIdsDatabase]
|
||||||
*PNP0C08 = acpi
|
;*PNP0A00 = isapnp
|
||||||
*PNP0A03 = pci
|
*PNP0A03 = pci
|
||||||
|
*PNP0C08 = acpi
|
||||||
|
;PCI\CC_0601 = isapnp
|
||||||
PCI\CC_0604 = pci
|
PCI\CC_0604 = pci
|
||||||
|
|
||||||
[BootBusExtenders.Load]
|
[BootBusExtenders.Load]
|
||||||
acpi = acpi.sys
|
acpi = acpi.sys
|
||||||
pci = pci.sys
|
pci = pci.sys
|
||||||
|
isapnp = isapnp.sys
|
||||||
|
|
||||||
[Cabinets]
|
[Cabinets]
|
||||||
Cabinet=reactos.cab
|
Cabinet=reactos.cab
|
||||||
|
@ -76,7 +80,7 @@ hal.dll=,,,,,,,,,,,,2
|
||||||
|
|
||||||
[Files.pci_mp]
|
[Files.pci_mp]
|
||||||
ntkrnlmp.exe=,,,,,,,,,,ntoskrnl.exe,,2
|
ntkrnlmp.exe=,,,,,,,,,,ntoskrnl.exe,,2
|
||||||
halmp.dll=,,,,,,,,,,hal.dll,,2
|
halmps.dll=,,,,,,,,,,hal.dll,,2
|
||||||
|
|
||||||
[Display]
|
[Display]
|
||||||
;<id> = <user friendly name>,<spare>,<service key name>,<hight>,<width>,<bpp>
|
;<id> = <user friendly name>,<spare>,<service key name>,<hight>,<width>,<bpp>
|
||||||
|
|
|
@ -21,7 +21,7 @@ RealEntryPoint:
|
||||||
mov ss, ax
|
mov ss, ax
|
||||||
|
|
||||||
/* checkPoint Charlie - where it all began... */
|
/* checkPoint Charlie - where it all began... */
|
||||||
mov si, offset _CheckPoint0
|
mov si, offset CheckPoint0
|
||||||
call writestr
|
call writestr
|
||||||
|
|
||||||
/* Setup a real mode stack */
|
/* Setup a real mode stack */
|
||||||
|
@ -29,14 +29,14 @@ RealEntryPoint:
|
||||||
|
|
||||||
/* Zero BootDrive and BootPartition */
|
/* Zero BootDrive and BootPartition */
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov _BootDrive, eax
|
mov BootDrive, eax
|
||||||
mov _BootPartition, eax
|
mov BootPartition, eax
|
||||||
|
|
||||||
/* Store the boot drive */
|
/* Store the boot drive */
|
||||||
mov _BootDrive, dl
|
mov BootDrive, dl
|
||||||
|
|
||||||
/* Store the boot partition */
|
/* Store the boot partition */
|
||||||
mov _BootPartition, dh
|
mov BootPartition, dh
|
||||||
|
|
||||||
/* Load the GDT */
|
/* Load the GDT */
|
||||||
lgdt gdtptr
|
lgdt gdtptr
|
||||||
|
@ -46,13 +46,13 @@ RealEntryPoint:
|
||||||
call x86_16_EnableA20
|
call x86_16_EnableA20
|
||||||
|
|
||||||
/* checkPoint Charlie - where it all began... */
|
/* checkPoint Charlie - where it all began... */
|
||||||
mov si, offset _CheckPoint1
|
mov si, offset CheckPoint1
|
||||||
call writestr
|
call writestr
|
||||||
|
|
||||||
call x86_16_BuildPageTables
|
call x86_16_BuildPageTables
|
||||||
|
|
||||||
/* checkPoint Charlie - where it all began... */
|
/* checkPoint Charlie - where it all began... */
|
||||||
mov si, offset _CheckPoint2
|
mov si, offset CheckPoint2
|
||||||
call writestr
|
call writestr
|
||||||
|
|
||||||
/* Check if CPU supports CPUID */
|
/* Check if CPU supports CPUID */
|
||||||
|
@ -89,26 +89,26 @@ RealEntryPoint:
|
||||||
/* X64 Processor */
|
/* X64 Processor */
|
||||||
|
|
||||||
/* checkPoint Charlie - where it all began... */
|
/* checkPoint Charlie - where it all began... */
|
||||||
mov si, offset _CheckPoint3
|
mov si, offset CheckPoint3
|
||||||
call writestr
|
call writestr
|
||||||
|
|
||||||
jmp _switch64
|
jmp switch64
|
||||||
|
|
||||||
NO_X64_SUPPORT_DETECTED:
|
NO_X64_SUPPORT_DETECTED:
|
||||||
mov si, offset _NotAnX64Processor // Loading message
|
mov si, offset NotAnX64Processor // Loading message
|
||||||
call writestr
|
call writestr
|
||||||
jmp _fail
|
jmp fail
|
||||||
|
|
||||||
NO_CPUID_SUPPORT_DETECTED:
|
NO_CPUID_SUPPORT_DETECTED:
|
||||||
mov si, offset _NoCPUIDSupport // Loading message
|
mov si, offset NoCPUIDSupport // Loading message
|
||||||
call writestr
|
call writestr
|
||||||
|
|
||||||
_fail:
|
fail:
|
||||||
jmp _fail
|
jmp fail
|
||||||
nop
|
nop
|
||||||
nop
|
nop
|
||||||
|
|
||||||
_switch64:
|
switch64:
|
||||||
call x86_16_SwitchToLong
|
call x86_16_SwitchToLong
|
||||||
|
|
||||||
.code64
|
.code64
|
||||||
|
@ -119,7 +119,7 @@ _switch64:
|
||||||
|
|
||||||
/* GO! */
|
/* GO! */
|
||||||
xor rcx, rcx
|
xor rcx, rcx
|
||||||
call _BootMain
|
call BootMain
|
||||||
|
|
||||||
/* Checkpoint */
|
/* Checkpoint */
|
||||||
// mov ax, LMODE_DS
|
// mov ax, LMODE_DS
|
||||||
|
@ -174,14 +174,14 @@ x86_16_BuildPageTables:
|
||||||
push es
|
push es
|
||||||
|
|
||||||
/* Get segment of pml4 */
|
/* Get segment of pml4 */
|
||||||
mov eax, offset _pml4_startup
|
mov eax, offset pml4_startup
|
||||||
shr eax, 4
|
shr eax, 4
|
||||||
mov es, ax
|
mov es, ax
|
||||||
cld
|
cld
|
||||||
xor di, di
|
xor di, di
|
||||||
|
|
||||||
/* One entry in the PML4 pointing to PDP */
|
/* One entry in the PML4 pointing to PDP */
|
||||||
mov eax, offset _pdp_startup
|
mov eax, offset pdp_startup
|
||||||
or eax, 0x00f
|
or eax, 0x00f
|
||||||
stosd
|
stosd
|
||||||
/* clear rest */
|
/* clear rest */
|
||||||
|
@ -190,7 +190,7 @@ x86_16_BuildPageTables:
|
||||||
rep stosd
|
rep stosd
|
||||||
|
|
||||||
/* One entry in the PDP pointing to PD */
|
/* One entry in the PDP pointing to PD */
|
||||||
mov eax, offset _pd_startup
|
mov eax, offset pd_startup
|
||||||
or eax, 0x00f
|
or eax, 0x00f
|
||||||
stosd
|
stosd
|
||||||
/* clear rest */
|
/* clear rest */
|
||||||
|
@ -268,7 +268,7 @@ x86_16_SwitchToLong:
|
||||||
mov eax, 0x00a0 // Set PAE and PGE: 10100000b
|
mov eax, 0x00a0 // Set PAE and PGE: 10100000b
|
||||||
mov cr4, eax
|
mov cr4, eax
|
||||||
|
|
||||||
mov edx, offset _pml4_startup // Point cr3 at PML4
|
mov edx, offset pml4_startup // Point cr3 at PML4
|
||||||
mov cr3, edx
|
mov cr3, edx
|
||||||
|
|
||||||
mov ecx, 0xC0000080 // Specify EFER MSR
|
mov ecx, 0xC0000080 // Specify EFER MSR
|
||||||
|
@ -405,42 +405,42 @@ gdtptr:
|
||||||
.long gdt /* Base Address */
|
.long gdt /* Base Address */
|
||||||
|
|
||||||
|
|
||||||
.global _BootDrive
|
.global BootDrive
|
||||||
_BootDrive:
|
BootDrive:
|
||||||
.long 0
|
.long 0
|
||||||
|
|
||||||
.global _BootPartition
|
.global BootPartition
|
||||||
_BootPartition:
|
BootPartition:
|
||||||
.long 0
|
.long 0
|
||||||
|
|
||||||
.global _NotAnX64Processor
|
.global NotAnX64Processor
|
||||||
_NotAnX64Processor:
|
NotAnX64Processor:
|
||||||
.ascii "FreeLoader: No x64-compatible CPU detected! Exiting..."
|
.ascii "FreeLoader: No x64-compatible CPU detected! Exiting..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
.global _NoCPUIDSupport
|
.global NoCPUIDSupport
|
||||||
_NoCPUIDSupport:
|
NoCPUIDSupport:
|
||||||
.ascii "FreeLoader: No CPUID instruction support detected! Exiting..."
|
.ascii "FreeLoader: No CPUID instruction support detected! Exiting..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
/////////////////////////// Checkpoint messages ///////////////////////////////
|
/////////////////////////// Checkpoint messages ///////////////////////////////
|
||||||
.global _CheckPoint0
|
.global CheckPoint0
|
||||||
_CheckPoint0:
|
CheckPoint0:
|
||||||
.ascii "Starting FreeLoader..."
|
.ascii "Starting FreeLoader..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
.global _CheckPoint1
|
.global CheckPoint1
|
||||||
_CheckPoint1:
|
CheckPoint1:
|
||||||
.ascii "FreeLoader[16-bit]: building page tables..."
|
.ascii "FreeLoader[16-bit]: building page tables..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
.global _CheckPoint2
|
.global CheckPoint2
|
||||||
_CheckPoint2:
|
CheckPoint2:
|
||||||
.ascii "FreeLoader[16-bit]: checking CPU for x64 long mode..."
|
.ascii "FreeLoader[16-bit]: checking CPU for x64 long mode..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
.global _CheckPoint3
|
.global CheckPoint3
|
||||||
_CheckPoint3:
|
CheckPoint3:
|
||||||
.ascii "FreeLoader: Switching to x64 long mode..."
|
.ascii "FreeLoader: Switching to x64 long mode..."
|
||||||
.byte 0x0d, 0x0a, 0
|
.byte 0x0d, 0x0a, 0
|
||||||
|
|
||||||
|
|
|
@ -24,14 +24,14 @@
|
||||||
#include <arch.h>
|
#include <arch.h>
|
||||||
|
|
||||||
|
|
||||||
EXTERN(_ChainLoadBiosBootSectorCode)
|
EXTERN(ChainLoadBiosBootSectorCode)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
call x86_64_SwitchToReal
|
call x86_64_SwitchToReal
|
||||||
.code16
|
.code16
|
||||||
|
|
||||||
/* Set the boot drive */
|
/* Set the boot drive */
|
||||||
mov dl, _BootDrive
|
mov dl, BootDrive
|
||||||
|
|
||||||
/* Load segment registers */
|
/* Load segment registers */
|
||||||
cli
|
cli
|
||||||
|
@ -46,7 +46,7 @@ EXTERN(_ChainLoadBiosBootSectorCode)
|
||||||
// ljmpl $0x0000,$0x7C00
|
// ljmpl $0x0000,$0x7C00
|
||||||
jmp 0x7c00:0x0000
|
jmp 0x7c00:0x0000
|
||||||
|
|
||||||
EXTERN(_SoftReboot)
|
EXTERN(SoftReboot)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
call x86_64_SwitchToReal
|
call x86_64_SwitchToReal
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <arch.h>
|
#include <arch.h>
|
||||||
|
|
||||||
|
|
||||||
EXTERN(_DriveMapInt13HandlerStart)
|
EXTERN(DriveMapInt13HandlerStart)
|
||||||
Int13Handler:
|
Int13Handler:
|
||||||
|
|
||||||
pushw %bp
|
pushw %bp
|
||||||
|
@ -82,7 +82,7 @@ CallOldInt13Handler:
|
||||||
|
|
||||||
/* Call old int 13h handler with new drive number */
|
/* Call old int 13h handler with new drive number */
|
||||||
.byte 0x9a /* lcall */
|
.byte 0x9a /* lcall */
|
||||||
EXTERN(_DriveMapOldInt13HandlerAddress)
|
EXTERN(DriveMapOldInt13HandlerAddress)
|
||||||
.word 0
|
.word 0
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ CallersFlags:
|
||||||
PassedInDriveNumber:
|
PassedInDriveNumber:
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
EXTERN(_DriveMapInt13HandlerMapList)
|
EXTERN(DriveMapInt13HandlerMapList)
|
||||||
Int13HandlerMapCount:
|
Int13HandlerMapCount:
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
|
@ -129,4 +129,4 @@ Int13HandlerDrive4:
|
||||||
Int13HandlerDriveNew4:
|
Int13HandlerDriveNew4:
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
EXTERN(_DriveMapInt13HandlerEnd)
|
EXTERN(DriveMapInt13HandlerEnd)
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* 0x00000400: Found 80486 CPU without CPUID support
|
* 0x00000400: Found 80486 CPU without CPUID support
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN(_CpuidSupported)
|
EXTERN(CpuidSupported)
|
||||||
.code32
|
.code32
|
||||||
|
|
||||||
pushl %ecx /* save ECX */
|
pushl %ecx /* save ECX */
|
||||||
|
@ -80,7 +80,7 @@ NoCpuid:
|
||||||
* VOID GetCpuid(U32 Level, U32 *eax, U32 *ebx, U32 *ecx, U32 *edx);
|
* VOID GetCpuid(U32 Level, U32 *eax, U32 *ebx, U32 *ecx, U32 *edx);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN(_GetCpuid)
|
EXTERN(GetCpuid)
|
||||||
.code32
|
.code32
|
||||||
|
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
|
@ -123,7 +123,7 @@ EXTERN(_GetCpuid)
|
||||||
* U64 RDTSC(VOID);
|
* U64 RDTSC(VOID);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN(_RDTSC)
|
EXTERN(RDTSC)
|
||||||
.code32
|
.code32
|
||||||
rdtsc
|
rdtsc
|
||||||
ret
|
ret
|
||||||
|
|
|
@ -35,7 +35,7 @@ _pnp_bios_entry_point:
|
||||||
_pnp_bios_data_segment:
|
_pnp_bios_data_segment:
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
EXTERN(_PnpBiosSupported)
|
EXTERN(PnpBiosSupported)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
push rdi
|
push rdi
|
||||||
|
@ -113,7 +113,7 @@ _pnp_node_size:
|
||||||
_pnp_node_count:
|
_pnp_node_count:
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
EXTERN(_PnpBiosGetDeviceNodeCount)
|
EXTERN(PnpBiosGetDeviceNodeCount)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
push rbp
|
push rbp
|
||||||
|
@ -182,7 +182,7 @@ _pnp_buffer_offset:
|
||||||
_pnp_node_number:
|
_pnp_node_number:
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
EXTERN(_PnpBiosGetDeviceNode)
|
EXTERN(PnpBiosGetDeviceNode)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
push rbp
|
push rbp
|
||||||
|
|
|
@ -273,7 +273,7 @@ i386CommonExceptionHandler:
|
||||||
SAVE_CPU_REGS
|
SAVE_CPU_REGS
|
||||||
|
|
||||||
pushl $SCREEN_ATTR
|
pushl $SCREEN_ATTR
|
||||||
call _MachVideoClearScreen
|
call MachVideoClearScreen
|
||||||
add $4,%esp
|
add $4,%esp
|
||||||
|
|
||||||
movl $i386ExceptionHandlerText,%esi
|
movl $i386ExceptionHandlerText,%esi
|
||||||
|
@ -485,7 +485,7 @@ i386PrintChar:
|
||||||
pushl $SCREEN_ATTR
|
pushl $SCREEN_ATTR
|
||||||
andl $0xff,%eax
|
andl $0xff,%eax
|
||||||
pushl %eax
|
pushl %eax
|
||||||
call _MachVideoPutChar
|
call MachVideoPutChar
|
||||||
addl $16,%esp
|
addl $16,%esp
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
|
@ -63,7 +63,7 @@ Int386_regsout:
|
||||||
/*
|
/*
|
||||||
* int Int386(int ivec, REGS* in, REGS* out);
|
* int Int386(int ivec, REGS* in, REGS* out);
|
||||||
*/
|
*/
|
||||||
EXTERN(_Int386)
|
EXTERN(Int386)
|
||||||
.code64
|
.code64
|
||||||
|
|
||||||
/* Get the function parameters */
|
/* Get the function parameters */
|
||||||
|
|
|
@ -39,33 +39,6 @@ EnableA20()
|
||||||
/* Already done */
|
/* Already done */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
DumpLoaderBlock()
|
|
||||||
{
|
|
||||||
DbgPrint("LoaderBlock @ %p.\n", &LoaderBlock);
|
|
||||||
DbgPrint("Flags = 0x%x.\n", LoaderBlock.Flags);
|
|
||||||
DbgPrint("MemLower = 0x%p.\n", (PVOID)LoaderBlock.MemLower);
|
|
||||||
DbgPrint("MemHigher = 0x%p.\n", (PVOID)LoaderBlock.MemHigher);
|
|
||||||
DbgPrint("BootDevice = 0x%x.\n", LoaderBlock.BootDevice);
|
|
||||||
DbgPrint("CommandLine = %s.\n", LoaderBlock.CommandLine);
|
|
||||||
DbgPrint("ModsCount = 0x%x.\n", LoaderBlock.ModsCount);
|
|
||||||
DbgPrint("ModsAddr = 0x%p.\n", LoaderBlock.ModsAddr);
|
|
||||||
DbgPrint("Syms = 0x%s.\n", LoaderBlock.Syms);
|
|
||||||
DbgPrint("MmapLength = 0x%x.\n", LoaderBlock.MmapLength);
|
|
||||||
DbgPrint("MmapAddr = 0x%p.\n", (PVOID)LoaderBlock.MmapAddr);
|
|
||||||
DbgPrint("RdLength = 0x%x.\n", LoaderBlock.RdLength);
|
|
||||||
DbgPrint("RdAddr = 0x%p.\n", (PVOID)LoaderBlock.RdAddr);
|
|
||||||
DbgPrint("DrivesCount = 0x%x.\n", LoaderBlock.DrivesCount);
|
|
||||||
DbgPrint("DrivesAddr = 0x%p.\n", (PVOID)LoaderBlock.DrivesAddr);
|
|
||||||
DbgPrint("ConfigTable = 0x%x.\n", LoaderBlock.ConfigTable);
|
|
||||||
DbgPrint("BootLoaderName = 0x%x.\n", LoaderBlock.BootLoaderName);
|
|
||||||
DbgPrint("PageDirectoryStart = 0x%p.\n", (PVOID)LoaderBlock.PageDirectoryStart);
|
|
||||||
DbgPrint("PageDirectoryEnd = 0x%p.\n", (PVOID)LoaderBlock.PageDirectoryEnd);
|
|
||||||
DbgPrint("KernelBase = 0x%p.\n", (PVOID)LoaderBlock.KernelBase);
|
|
||||||
DbgPrint("ArchExtra = 0x%p.\n", (PVOID)LoaderBlock.ArchExtra);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*++
|
/*++
|
||||||
* FrLdrStartup
|
* FrLdrStartup
|
||||||
* INTERNAL
|
* INTERNAL
|
||||||
|
@ -86,222 +59,7 @@ VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
FrLdrStartup(ULONG Magic)
|
FrLdrStartup(ULONG Magic)
|
||||||
{
|
{
|
||||||
/* Disable Interrupts */
|
DbgPrint("ReactOS loader is unsupported! Halting.\n", KernelEntryPoint);
|
||||||
_disable();
|
for(;;);
|
||||||
|
|
||||||
/* Re-initalize EFLAGS */
|
|
||||||
__writeeflags(0);
|
|
||||||
|
|
||||||
/* Initialize the page directory */
|
|
||||||
FrLdrSetupPageDirectory();
|
|
||||||
|
|
||||||
/* Set the new PML4 */
|
|
||||||
__writecr3((ULONGLONG)pPML4);
|
|
||||||
|
|
||||||
FrLdrSetupGdtIdt();
|
|
||||||
|
|
||||||
LoaderBlock.FrLdrDbgPrint = DbgPrint;
|
|
||||||
|
|
||||||
// DumpLoaderBlock();
|
|
||||||
|
|
||||||
DbgPrint("Jumping to kernel @ %p.\n", KernelEntryPoint);
|
|
||||||
|
|
||||||
/* Jump to Kernel */
|
|
||||||
(*KernelEntryPoint)(Magic, &LoaderBlock);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PPAGE_DIRECTORY_AMD64
|
|
||||||
FrLdrGetOrCreatePageDir(PPAGE_DIRECTORY_AMD64 pDir, ULONG Index)
|
|
||||||
{
|
|
||||||
PPAGE_DIRECTORY_AMD64 pSubDir;
|
|
||||||
|
|
||||||
if (!pDir)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (!pDir->Pde[Index].Valid)
|
|
||||||
{
|
|
||||||
pSubDir = MmAllocateMemoryWithType(PAGE_SIZE, LoaderSpecialMemory);
|
|
||||||
if (!pSubDir)
|
|
||||||
return NULL;
|
|
||||||
RtlZeroMemory(pSubDir, PAGE_SIZE);
|
|
||||||
pDir->Pde[Index].PageFrameNumber = PtrToPfn(pSubDir);
|
|
||||||
pDir->Pde[Index].Valid = 1;
|
|
||||||
pDir->Pde[Index].Write = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pSubDir = (PPAGE_DIRECTORY_AMD64)((ULONGLONG)(pDir->Pde[Index].PageFrameNumber) * PAGE_SIZE);
|
|
||||||
}
|
|
||||||
return pSubDir;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
FrLdrMapSinglePage(ULONGLONG VirtualAddress, ULONGLONG PhysicalAddress)
|
|
||||||
{
|
|
||||||
PPAGE_DIRECTORY_AMD64 pDir3, pDir2, pDir1;
|
|
||||||
ULONG Index;
|
|
||||||
|
|
||||||
pDir3 = FrLdrGetOrCreatePageDir(pPML4, VAtoPXI(VirtualAddress));
|
|
||||||
pDir2 = FrLdrGetOrCreatePageDir(pDir3, VAtoPPI(VirtualAddress));
|
|
||||||
pDir1 = FrLdrGetOrCreatePageDir(pDir2, VAtoPDI(VirtualAddress));
|
|
||||||
|
|
||||||
if (!pDir1)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
Index = VAtoPTI(VirtualAddress);
|
|
||||||
if (pDir1->Pde[Index].Valid)
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
pDir1->Pde[Index].Valid = 1;
|
|
||||||
pDir1->Pde[Index].Write = 1;
|
|
||||||
pDir1->Pde[Index].PageFrameNumber = PhysicalAddress / PAGE_SIZE;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG
|
|
||||||
FrLdrMapRangeOfPages(ULONGLONG VirtualAddress, ULONGLONG PhysicalAddress, ULONG cPages)
|
|
||||||
{
|
|
||||||
ULONG i;
|
|
||||||
|
|
||||||
for (i = 0; i < cPages; i++)
|
|
||||||
{
|
|
||||||
if (!FrLdrMapSinglePage(VirtualAddress, PhysicalAddress))
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
VirtualAddress += PAGE_SIZE;
|
|
||||||
PhysicalAddress += PAGE_SIZE;
|
|
||||||
}
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*++
|
|
||||||
* FrLdrSetupPageDirectory
|
|
||||||
* INTERNAL
|
|
||||||
*
|
|
||||||
* Sets up the ReactOS Startup Page Directory.
|
|
||||||
*
|
|
||||||
* Params:
|
|
||||||
* None.
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
* None.
|
|
||||||
*--*/
|
|
||||||
VOID
|
|
||||||
FASTCALL
|
|
||||||
FrLdrSetupPageDirectory(VOID)
|
|
||||||
{
|
|
||||||
ULONG KernelPages;
|
|
||||||
PVOID UserSharedData;
|
|
||||||
|
|
||||||
/* Allocate a Page for the PML4 */
|
|
||||||
pPML4 = MmAllocateMemoryWithType(PAGE_SIZE, LoaderSpecialMemory);
|
|
||||||
|
|
||||||
ASSERT(pPML4);
|
|
||||||
|
|
||||||
/* The page tables are located at 0xfffff68000000000
|
|
||||||
* We create a recursive self mapping through all 4 levels at
|
|
||||||
* virtual address 0xfffff6fb7dbedf68 */
|
|
||||||
pPML4->Pde[VAtoPXI(PXE_BASE)].Valid = 1;
|
|
||||||
pPML4->Pde[VAtoPXI(PXE_BASE)].Write = 1;
|
|
||||||
pPML4->Pde[VAtoPXI(PXE_BASE)].PageFrameNumber = PtrToPfn(pPML4);
|
|
||||||
|
|
||||||
/* Setup low memory pages */
|
|
||||||
if (FrLdrMapRangeOfPages(0, 0, 1024) < 1024)
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map low memory pages.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Setup kernel pages */
|
|
||||||
KernelPages = (ROUND_TO_PAGES(NextModuleBase - KERNEL_BASE_PHYS) / PAGE_SIZE);
|
|
||||||
if (FrLdrMapRangeOfPages(KernelBase, KERNEL_BASE_PHYS, KernelPages) != KernelPages)
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map %d kernel pages.\n", KernelPages);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Setup a page for the idt */
|
|
||||||
pIdt = MmAllocateMemoryWithType(PAGE_SIZE, LoaderSpecialMemory);
|
|
||||||
IdtBase = KernelBase + KernelPages * PAGE_SIZE;
|
|
||||||
if (!FrLdrMapSinglePage(IdtBase, (ULONGLONG)pIdt))
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map idt page.\n", KernelPages);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Setup a page for the gdt & tss */
|
|
||||||
pGdt = MmAllocateMemoryWithType(PAGE_SIZE, LoaderSpecialMemory);
|
|
||||||
GdtBase = IdtBase + PAGE_SIZE;
|
|
||||||
TssBase = GdtBase + 20 * sizeof(ULONG64); // FIXME: don't hardcode
|
|
||||||
if (!FrLdrMapSinglePage(GdtBase, (ULONGLONG)pGdt))
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map gdt page.\n", KernelPages);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Setup KUSER_SHARED_DATA page */
|
|
||||||
UserSharedData = MmAllocateMemoryWithType(PAGE_SIZE, LoaderSpecialMemory);
|
|
||||||
if (!FrLdrMapSinglePage(KI_USER_SHARED_DATA, (ULONG64)UserSharedData))
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map KUSER_SHARED_DATA page.\n", KernelPages);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Map APIC page */
|
|
||||||
if (!FrLdrMapSinglePage(APIC_BASE, APIC_PHYS_BASE))
|
|
||||||
{
|
|
||||||
DbgPrint("Could not map APIC page.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID
|
|
||||||
FrLdrSetupGdtIdt()
|
|
||||||
{
|
|
||||||
PKGDTENTRY64 Entry;
|
|
||||||
KDESCRIPTOR Desc;
|
|
||||||
|
|
||||||
RtlZeroMemory(pGdt, PAGE_SIZE);
|
|
||||||
|
|
||||||
/* Setup KGDT_64_R0_CODE */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_64_R0_CODE);
|
|
||||||
*(PULONG64)Entry = 0x00209b0000000000ULL;
|
|
||||||
|
|
||||||
/* Setup KGDT_64_R0_SS */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_64_R0_SS);
|
|
||||||
*(PULONG64)Entry = 0x00cf93000000ffffULL;
|
|
||||||
|
|
||||||
/* Setup KGDT_64_DATA */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_64_DATA);
|
|
||||||
*(PULONG64)Entry = 0x00cff3000000ffffULL;
|
|
||||||
|
|
||||||
/* Setup KGDT_64_R3_CODE */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_64_R3_CODE);
|
|
||||||
*(PULONG64)Entry = 0x0020fb0000000000ULL;
|
|
||||||
|
|
||||||
/* Setup KGDT_32_R3_TEB */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_32_R3_TEB);
|
|
||||||
*(PULONG64)Entry = 0xff40f3fd50003c00ULL;
|
|
||||||
|
|
||||||
/* Setup TSS entry */
|
|
||||||
Entry = KiGetGdtEntry(pGdt, KGDT_TSS);
|
|
||||||
KiInitGdtEntry(Entry, TssBase, sizeof(KTSS), I386_TSS, 0);
|
|
||||||
|
|
||||||
/* Setup the gdt descriptor */
|
|
||||||
Desc.Limit = 12 * sizeof(ULONG64) - 1;
|
|
||||||
Desc.Base = (PVOID)GdtBase;
|
|
||||||
|
|
||||||
/* Set the new Gdt */
|
|
||||||
__lgdt(&Desc.Limit);
|
|
||||||
DbgPrint("Gdtr.Base = %p\n", Desc.Base);
|
|
||||||
|
|
||||||
/* Setup the idt descriptor */
|
|
||||||
Desc.Limit = 12 * sizeof(ULONG64) - 1;
|
|
||||||
Desc.Base = (PVOID)IdtBase;
|
|
||||||
|
|
||||||
/* Set the new Idt */
|
|
||||||
__lidt(&Desc.Limit);
|
|
||||||
DbgPrint("Idtr.Base = %p\n", Desc.Base);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -29,35 +29,35 @@
|
||||||
* This boots the kernel
|
* This boots the kernel
|
||||||
*/
|
*/
|
||||||
.code64
|
.code64
|
||||||
.globl _PageDirectoryStart
|
.globl PageDirectoryStart
|
||||||
|
|
||||||
.globl _pml4_startup
|
.globl pml4_startup
|
||||||
.globl _pdp_startup
|
.globl pdp_startup
|
||||||
.globl _pd_startup
|
.globl pd_startup
|
||||||
|
|
||||||
.globl _PageDirectoryEnd
|
.globl PageDirectoryEnd
|
||||||
|
|
||||||
//
|
//
|
||||||
// Boot information structure
|
// Boot information structure
|
||||||
//
|
//
|
||||||
|
|
||||||
EXTERN(_reactos_memory_map_descriptor_size)
|
EXTERN(reactos_memory_map_descriptor_size)
|
||||||
.long 0
|
.long 0
|
||||||
|
|
||||||
EXTERN(_reactos_memory_map)
|
EXTERN(reactos_memory_map)
|
||||||
.rept (32 * /*sizeof(memory_map_t)*/24)
|
.rept (32 * /*sizeof(memory_map_t)*/24)
|
||||||
.byte 0
|
.byte 0
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
.bss
|
.bss
|
||||||
_PageDirectoryStart:
|
PageDirectoryStart:
|
||||||
_pml4_startup:
|
pml4_startup:
|
||||||
.fill 4096, 1, 0
|
.fill 4096, 1, 0
|
||||||
|
|
||||||
_pdp_startup:
|
pdp_startup:
|
||||||
.fill 4096, 1, 0
|
.fill 4096, 1, 0
|
||||||
|
|
||||||
_pd_startup:
|
pd_startup:
|
||||||
.fill 4096, 1, 0
|
.fill 4096, 1, 0
|
||||||
|
|
||||||
_PageDirectoryEnd:
|
PageDirectoryEnd:
|
||||||
|
|
|
@ -1419,10 +1419,10 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||||
/* Set Interrupt */
|
/* Set Interrupt */
|
||||||
PartialDescriptor = &PartialResourceList->PartialDescriptors[1];
|
PartialDescriptor = &PartialResourceList->PartialDescriptors[1];
|
||||||
PartialDescriptor->Type = CmResourceTypeInterrupt;
|
PartialDescriptor->Type = CmResourceTypeInterrupt;
|
||||||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
PartialDescriptor->ShareDisposition = CmResourceShareShared;
|
||||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||||
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
||||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
PartialDescriptor->u.Interrupt.Vector = Irq[i];
|
||||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||||
|
|
||||||
/* Set serial data (device specific) */
|
/* Set serial data (device specific) */
|
||||||
|
@ -1529,7 +1529,7 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
||||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||||
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
||||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
PartialDescriptor->u.Interrupt.Vector = Irq[i];
|
||||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1715,7 +1715,7 @@ DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
||||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||||
PartialDescriptor->u.Interrupt.Level = 1;
|
PartialDescriptor->u.Interrupt.Level = 1;
|
||||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
PartialDescriptor->u.Interrupt.Vector = 1;
|
||||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||||
|
|
||||||
/* Set IO Port 0x60 */
|
/* Set IO Port 0x60 */
|
||||||
|
@ -1887,7 +1887,7 @@ DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||||
PartialResourceList.PartialDescriptors[0].ShareDisposition = CmResourceShareUndetermined;
|
PartialResourceList.PartialDescriptors[0].ShareDisposition = CmResourceShareUndetermined;
|
||||||
PartialResourceList.PartialDescriptors[0].Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
PartialResourceList.PartialDescriptors[0].Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Level = 12;
|
PartialResourceList.PartialDescriptors[0].u.Interrupt.Level = 12;
|
||||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector = 0;
|
PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector = 12;
|
||||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Affinity = 0xFFFFFFFF;
|
PartialResourceList.PartialDescriptors[0].u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||||
|
|
||||||
/* Create controller key */
|
/* Create controller key */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE directory SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<module name="freeldr_arch" type="objectlibrary" crt="static">
|
<module name="freeldr_arch" type="objectlibrary" crt="static">
|
||||||
<include base="freeldr_base">include</include>
|
<include base="freeldr_base">include</include>
|
||||||
<include base="freeldr_base">cache</include>
|
<include base="freeldr_base">cache</include>
|
||||||
|
|
|
@ -23,7 +23,9 @@
|
||||||
<file>disk.c</file>
|
<file>disk.c</file>
|
||||||
<file>partition.c</file>
|
<file>partition.c</file>
|
||||||
<file>ramdisk.c</file>
|
<file>ramdisk.c</file>
|
||||||
<file>scsiport.c</file>
|
<if property="ARCH" value="i386">
|
||||||
|
<file>scsiport.c</file>
|
||||||
|
</if>
|
||||||
</directory>
|
</directory>
|
||||||
<directory name="fs">
|
<directory name="fs">
|
||||||
<file>ext2.c</file>
|
<file>ext2.c</file>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
#define HYPERSPACE_BASE 0xfffff70000000000ULL
|
#define HYPERSPACE_BASE 0xfffff70000000000ULL
|
||||||
#define HAL_BASE 0xffffffff80000000ULL
|
#define HAL_BASE 0xffffffff80000000ULL
|
||||||
#define APIC_BASE 0xfffffffffee00000ULL // FIXME
|
#define APIC_BASE 0xFFFFFFFFFFFE0000ULL
|
||||||
|
|
||||||
#define APIC_PHYS_BASE 0xfee00000
|
#define APIC_PHYS_BASE 0xfee00000
|
||||||
|
|
||||||
|
|
|
@ -252,28 +252,36 @@ WinLdrSetupGdt(PVOID GdtBase, ULONG64 TssBase)
|
||||||
PKGDTENTRY64 Entry;
|
PKGDTENTRY64 Entry;
|
||||||
KDESCRIPTOR GdtDesc;
|
KDESCRIPTOR GdtDesc;
|
||||||
|
|
||||||
/* Setup KGDT_64_R0_CODE */
|
/* Setup KGDT64_NULL */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_64_R0_CODE);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_NULL);
|
||||||
|
*(PULONG64)Entry = 0x0000000000000000ULL;
|
||||||
|
|
||||||
|
/* Setup KGDT64_R0_CODE */
|
||||||
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R0_CODE);
|
||||||
*(PULONG64)Entry = 0x00209b0000000000ULL;
|
*(PULONG64)Entry = 0x00209b0000000000ULL;
|
||||||
|
|
||||||
/* Setup KGDT_64_R0_SS */
|
/* Setup KGDT64_R0_DATA */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_64_R0_SS);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R0_DATA);
|
||||||
*(PULONG64)Entry = 0x00cf93000000ffffULL;
|
*(PULONG64)Entry = 0x00cf93000000ffffULL;
|
||||||
|
|
||||||
/* Setup KGDT_64_DATA */
|
/* Setup KGDT64_R3_CMCODE */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_64_DATA);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R3_CMCODE);
|
||||||
|
*(PULONG64)Entry = 0x00cffb000000ffffULL;
|
||||||
|
|
||||||
|
/* Setup KGDT64_R3_DATA */
|
||||||
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R3_DATA);
|
||||||
*(PULONG64)Entry = 0x00cff3000000ffffULL;
|
*(PULONG64)Entry = 0x00cff3000000ffffULL;
|
||||||
|
|
||||||
/* Setup KGDT_64_R3_CODE */
|
/* Setup KGDT64_R3_CODE */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_64_R3_CODE);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R3_CODE);
|
||||||
*(PULONG64)Entry = 0x0020fb0000000000ULL;
|
*(PULONG64)Entry = 0x0020fb0000000000ULL;
|
||||||
|
|
||||||
/* Setup KGDT_32_R3_TEB */
|
/* Setup KGDT64_R3_CMTEB */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_32_R3_TEB);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_R3_CMTEB);
|
||||||
*(PULONG64)Entry = 0xff40f3fd50003c00ULL;
|
*(PULONG64)Entry = 0xff40f3fd50003c00ULL;
|
||||||
|
|
||||||
/* Setup TSS entry */
|
/* Setup TSS entry */
|
||||||
Entry = KiGetGdtEntry(GdtBase, KGDT_TSS);
|
Entry = KiGetGdtEntry(GdtBase, KGDT64_SYS_TSS);
|
||||||
KiInitGdtEntry(Entry, TssBase, sizeof(KTSS), I386_TSS, 0);
|
KiInitGdtEntry(Entry, TssBase, sizeof(KTSS), I386_TSS, 0);
|
||||||
|
|
||||||
/* Setup GDT descriptor */
|
/* Setup GDT descriptor */
|
||||||
|
@ -333,15 +341,8 @@ WinLdrSetProcessorContext(PVOID GdtIdt, IN ULONG64 Pcr, IN ULONG64 Tss)
|
||||||
/* LDT is unused */
|
/* LDT is unused */
|
||||||
// __lldt(0);
|
// __lldt(0);
|
||||||
|
|
||||||
/* Load selectors for DS/ES/FS/GS/SS */
|
|
||||||
Ke386SetDs(KGDT_64_DATA | RPL_MASK); // 0x2b
|
|
||||||
Ke386SetEs(KGDT_64_DATA | RPL_MASK); // 0x2b
|
|
||||||
Ke386SetFs(KGDT_32_R3_TEB | RPL_MASK); // 0x53
|
|
||||||
Ke386SetGs(KGDT_64_DATA | RPL_MASK); // 0x2b
|
|
||||||
Ke386SetSs(KGDT_64_R0_SS); // 0x18
|
|
||||||
|
|
||||||
/* Load TSR */
|
/* Load TSR */
|
||||||
__ltr(KGDT_TSS);
|
__ltr(KGDT64_SYS_TSS);
|
||||||
|
|
||||||
DPRINTM(DPRINT_WINDOWS, "leave WinLdrSetProcessorContext\n");
|
DPRINTM(DPRINT_WINDOWS, "leave WinLdrSetProcessorContext\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* $Id$
|
/*
|
||||||
*
|
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS Display Control Panel
|
* PROJECT: ReactOS Display Control Panel
|
||||||
* FILE: lib/cpl/desk/appearance.c
|
* FILE: lib/cpl/desk/appearance.c
|
||||||
|
@ -486,11 +485,17 @@ AppearancePage_OnDestroy(HWND hwndDlg, GLOBALS *g)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
UpdateSelectedThemeId(HWND hwndDlg, GLOBALS *g)
|
||||||
|
{
|
||||||
|
int sel;
|
||||||
|
sel = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETCURSEL, 0, 0);
|
||||||
|
g->Theme.Id = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETITEMDATA, (WPARAM)sel, 0);
|
||||||
|
}
|
||||||
|
|
||||||
INT_PTR CALLBACK
|
INT_PTR CALLBACK
|
||||||
AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
INT i;
|
|
||||||
GLOBALS *g;
|
GLOBALS *g;
|
||||||
LPNMHDR lpnm;
|
LPNMHDR lpnm;
|
||||||
|
|
||||||
|
@ -538,8 +543,7 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
g->Theme.bHasChanged = TRUE;
|
g->Theme.bHasChanged = TRUE;
|
||||||
i = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETCURSEL, 0, 0);
|
UpdateSelectedThemeId(hwndDlg, g);
|
||||||
g->Theme.Id = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETITEMDATA, (WPARAM)i, 0);
|
|
||||||
LoadThemeFromReg(g);
|
LoadThemeFromReg(g);
|
||||||
//SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, WM_PAINT, 0, 0);
|
//SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, WM_PAINT, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -557,6 +561,7 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
case PSN_APPLY:
|
case PSN_APPLY:
|
||||||
if (g->Theme.bHasChanged)
|
if (g->Theme.bHasChanged)
|
||||||
{
|
{
|
||||||
|
UpdateSelectedThemeId(hwndDlg, g);
|
||||||
ApplyTheme(g);
|
ApplyTheme(g);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -94,14 +94,17 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
|
||||||
|
|
||||||
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
||||||
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
||||||
listItem.state = LVIS_SELECTED;
|
listItem.state = 0;
|
||||||
listItem.pszText = backgroundItem->szDisplayName;
|
listItem.pszText = backgroundItem->szDisplayName;
|
||||||
listItem.iImage = -1;
|
listItem.iImage = -1;
|
||||||
listItem.iItem = pGlobalData->listViewItemCount;
|
listItem.iItem = pGlobalData->listViewItemCount;
|
||||||
listItem.lParam = pGlobalData->listViewItemCount;
|
listItem.lParam = pGlobalData->listViewItemCount;
|
||||||
|
|
||||||
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
||||||
ListView_SetItemState(hwndBackgroundList, pGlobalData->listViewItemCount, LVIS_SELECTED, LVIS_SELECTED);
|
ListView_SetItemState(hwndBackgroundList,
|
||||||
|
pGlobalData->listViewItemCount,
|
||||||
|
LVIS_SELECTED,
|
||||||
|
LVIS_SELECTED);
|
||||||
|
|
||||||
pGlobalData->listViewItemCount++;
|
pGlobalData->listViewItemCount++;
|
||||||
|
|
||||||
|
@ -143,14 +146,17 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
|
||||||
|
|
||||||
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
||||||
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
||||||
listItem.state = LVIS_SELECTED;
|
listItem.state = 0;
|
||||||
listItem.pszText = backgroundItem->szDisplayName;
|
listItem.pszText = backgroundItem->szDisplayName;
|
||||||
listItem.iImage = sfi.iIcon;
|
listItem.iImage = sfi.iIcon;
|
||||||
listItem.iItem = pGlobalData->listViewItemCount;
|
listItem.iItem = pGlobalData->listViewItemCount;
|
||||||
listItem.lParam = pGlobalData->listViewItemCount;
|
listItem.lParam = pGlobalData->listViewItemCount;
|
||||||
|
|
||||||
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
||||||
ListView_SetItemState(hwndBackgroundList, pGlobalData->listViewItemCount, LVIS_SELECTED, LVIS_SELECTED);
|
ListView_SetItemState(hwndBackgroundList,
|
||||||
|
pGlobalData->listViewItemCount,
|
||||||
|
LVIS_SELECTED,
|
||||||
|
LVIS_SELECTED);
|
||||||
|
|
||||||
pGlobalData->listViewItemCount++;
|
pGlobalData->listViewItemCount++;
|
||||||
}
|
}
|
||||||
|
@ -454,13 +460,17 @@ OnBrowseButton(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
|
||||||
|
|
||||||
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
ZeroMemory(&listItem, sizeof(LV_ITEM));
|
||||||
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
|
||||||
listItem.state = LVIS_SELECTED;
|
listItem.state = 0;
|
||||||
listItem.pszText = backgroundItem->szDisplayName;
|
listItem.pszText = backgroundItem->szDisplayName;
|
||||||
listItem.iImage = sfi.iIcon;
|
listItem.iImage = sfi.iIcon;
|
||||||
listItem.iItem = pGlobalData->listViewItemCount;
|
listItem.iItem = pGlobalData->listViewItemCount;
|
||||||
listItem.lParam = pGlobalData->listViewItemCount;
|
listItem.lParam = pGlobalData->listViewItemCount;
|
||||||
|
|
||||||
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
(void)ListView_InsertItem(hwndBackgroundList, &listItem);
|
||||||
|
ListView_SetItemState(hwndBackgroundList,
|
||||||
|
pGlobalData->listViewItemCount,
|
||||||
|
LVIS_SELECTED,
|
||||||
|
LVIS_SELECTED);
|
||||||
SendMessage(hwndBackgroundList, WM_VSCROLL, SB_BOTTOM, 0);
|
SendMessage(hwndBackgroundList, WM_VSCROLL, SB_BOTTOM, 0);
|
||||||
|
|
||||||
pGlobalData->listViewItemCount++;
|
pGlobalData->listViewItemCount++;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* $Id: effappdlg.c 24836 2007-02-12 03:12:56Z tkreuzer $
|
/*
|
||||||
*
|
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS Display Control Panel
|
* PROJECT: ReactOS Display Control Panel
|
||||||
* FILE: dll/cpl/desk/effappdlg.c
|
* FILE: dll/cpl/desk/effappdlg.c
|
||||||
|
|
|
@ -336,6 +336,7 @@ CBDAPinControl_fnConstructor(
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
// register device filter
|
// register device filter
|
||||||
|
OutputDebugStringW(L"CBDAPinControl_fnConstructor registering device filter with network provider\n");
|
||||||
hr = pNetworkProvider->RegisterDeviceFilter(pUnknown, &RegistrationCtx);
|
hr = pNetworkProvider->RegisterDeviceFilter(pUnknown, &RegistrationCtx);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
@ -361,7 +362,6 @@ CBDAPinControl_fnConstructor(
|
||||||
WCHAR Buffer[100];
|
WCHAR Buffer[100];
|
||||||
swprintf(Buffer, L"CBDAPinControl_fnConstructor failed to register filter with %lx\n", hr);
|
swprintf(Buffer, L"CBDAPinControl_fnConstructor failed to register filter with %lx\n", hr);
|
||||||
OutputDebugStringW(Buffer);
|
OutputDebugStringW(Buffer);
|
||||||
DebugBreak();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,6 +357,7 @@ CKsAllocator::GetBuffer(
|
||||||
|
|
||||||
if (!m_FreeList.empty())
|
if (!m_FreeList.empty())
|
||||||
{
|
{
|
||||||
|
OutputDebugStringW(L"CKsAllocator::GetBuffer HACK\n");
|
||||||
Sample = m_FreeList.top();
|
Sample = m_FreeList.top();
|
||||||
m_FreeList.pop();
|
m_FreeList.pop();
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,6 @@ CEnumPins::QueryInterface(
|
||||||
OutputDebugStringW(Buffer);
|
OutputDebugStringW(Buffer);
|
||||||
CoTaskMemFree(lpstr);
|
CoTaskMemFree(lpstr);
|
||||||
|
|
||||||
DebugBreak();
|
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -700,7 +700,6 @@ CInputPin::Receive(IMediaSample *pSample)
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::Receive NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::Receive NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
@ -712,7 +711,6 @@ CInputPin::ReceiveMultiple(IMediaSample **pSamples, long nSamples, long *nSample
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::ReceiveMultiple NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::ReceiveMultiple NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
@ -724,7 +722,6 @@ CInputPin::ReceiveCanBlock( void)
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::ReceiveCanBlock NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::ReceiveCanBlock NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
|
@ -923,7 +920,6 @@ CInputPin::KsQualityNotify(
|
||||||
OutputDebugStringW(L"CInputPin::KsQualityNotify NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::KsQualityNotify NotImplemented\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DebugBreak();
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1114,7 +1110,6 @@ CInputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::Connect NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::Connect NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
return NOERROR;
|
return NOERROR;
|
||||||
}
|
}
|
||||||
|
@ -1199,7 +1194,6 @@ CInputPin::ConnectionMediaType(AM_MEDIA_TYPE *pmt)
|
||||||
|
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::ConnectionMediaType NotImplemented\n");
|
OutputDebugStringW(L"CInputPin::ConnectionMediaType NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
@ -1496,7 +1490,6 @@ CInputPin::CreatePin(
|
||||||
WCHAR Buffer[100];
|
WCHAR Buffer[100];
|
||||||
swprintf(Buffer, L"CInputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
swprintf(Buffer, L"CInputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
||||||
OutputDebugStringW(Buffer);
|
OutputDebugStringW(Buffer);
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
hr = E_FAIL;
|
hr = E_FAIL;
|
||||||
}
|
}
|
||||||
|
@ -1629,7 +1622,6 @@ CInputPin::CreatePinHandle(
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::CreatePinHandle GetSupportedSets failed\n");
|
OutputDebugStringW(L"CInputPin::CreatePinHandle GetSupportedSets failed\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
@ -1640,7 +1632,6 @@ CInputPin::CreatePinHandle(
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CInputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
OutputDebugStringW(L"CInputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
@ -1783,7 +1774,6 @@ CInputPin::LoadProxyPlugins(
|
||||||
{
|
{
|
||||||
// store plugin
|
// store plugin
|
||||||
m_Plugins.push_back(pUnknown);
|
m_Plugins.push_back(pUnknown);
|
||||||
DebugBreak();
|
|
||||||
}
|
}
|
||||||
// close key
|
// close key
|
||||||
RegCloseKey(hSubKey);
|
RegCloseKey(hSubKey);
|
||||||
|
|
|
@ -21,7 +21,6 @@ public:
|
||||||
STDMETHODIMP_(ULONG) Release()
|
STDMETHODIMP_(ULONG) Release()
|
||||||
{
|
{
|
||||||
InterlockedDecrement(&m_Ref);
|
InterlockedDecrement(&m_Ref);
|
||||||
DebugBreak();
|
|
||||||
if (!m_Ref)
|
if (!m_Ref)
|
||||||
{
|
{
|
||||||
if (m_Allocator)
|
if (m_Allocator)
|
||||||
|
@ -280,7 +279,6 @@ STDMETHODCALLTYPE
|
||||||
CMediaSample::SetMediaType(AM_MEDIA_TYPE *pMediaType)
|
CMediaSample::SetMediaType(AM_MEDIA_TYPE *pMediaType)
|
||||||
{
|
{
|
||||||
OutputDebugStringW(L"CMediaSample::SetMediaType NotImplemented\n");
|
OutputDebugStringW(L"CMediaSample::SetMediaType NotImplemented\n");
|
||||||
DebugBreak();
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -246,8 +246,16 @@ COutputPin::COutputPin(
|
||||||
|
|
||||||
ZeroMemory(m_FramingProp, sizeof(m_FramingProp));
|
ZeroMemory(m_FramingProp, sizeof(m_FramingProp));
|
||||||
ZeroMemory(m_FramingEx, sizeof(m_FramingEx));
|
ZeroMemory(m_FramingEx, sizeof(m_FramingEx));
|
||||||
|
ZeroMemory(&m_MediaFormat, sizeof(AM_MEDIA_TYPE));
|
||||||
|
|
||||||
hr = KsGetMediaType(0, &m_MediaFormat, KsObjectParent->KsGetObjectHandle(), m_PinId);
|
hr = KsGetMediaType(0, &m_MediaFormat, KsObjectParent->KsGetObjectHandle(), m_PinId);
|
||||||
|
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::COutputPin Format %p pbFormat %lu\n", &m_MediaFormat, m_MediaFormat.cbFormat);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
|
|
||||||
InitializeCriticalSection(&m_Lock);
|
InitializeCriticalSection(&m_Lock);
|
||||||
|
@ -1518,6 +1526,8 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
ALLOCATOR_PROPERTIES Properties;
|
ALLOCATOR_PROPERTIES Properties;
|
||||||
IMemAllocatorCallbackTemp *pMemCallback;
|
IMemAllocatorCallbackTemp *pMemCallback;
|
||||||
|
LPGUID pGuid;
|
||||||
|
ULONG NumGuids = 0;
|
||||||
|
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
WCHAR Buffer[200];
|
WCHAR Buffer[200];
|
||||||
|
@ -1540,6 +1550,20 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||||
pmt = &m_MediaFormat;
|
pmt = &m_MediaFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_hPin == INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
hr = CreatePin(pmt);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
swprintf(Buffer, L"COutputPin::Connect CreatePin handle failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// query for IMemInput interface
|
// query for IMemInput interface
|
||||||
hr = pReceivePin->QueryInterface(IID_IMemInputPin, (void**)&m_MemInputPin);
|
hr = pReceivePin->QueryInterface(IID_IMemInputPin, (void**)&m_MemInputPin);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
@ -1548,7 +1572,6 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||||
OutputDebugStringW(L"COutputPin::Connect no IMemInputPin interface\n");
|
OutputDebugStringW(L"COutputPin::Connect no IMemInputPin interface\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DebugBreak();
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1649,10 +1672,24 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_hPin)
|
|
||||||
|
assert(m_hPin != INVALID_HANDLE_VALUE);
|
||||||
|
|
||||||
|
// get all supported sets
|
||||||
|
if (m_Plugins.size() == 0)
|
||||||
{
|
{
|
||||||
//FIXME create pin handle
|
if (GetSupportedSets(&pGuid, &NumGuids))
|
||||||
assert(0);
|
{
|
||||||
|
// load all proxy plugins
|
||||||
|
if (FAILED(LoadProxyPlugins(pGuid, NumGuids)));
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
OutputDebugStringW(L"COutputPin::Connect LoadProxyPlugins failed\n");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
// free sets
|
||||||
|
CoTaskMemFree(pGuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// receive connection;
|
// receive connection;
|
||||||
|
@ -1946,13 +1983,26 @@ COutputPin::CreatePin(
|
||||||
// query for pin medium
|
// query for pin medium
|
||||||
hr = KsQueryMediums(&MediumList);
|
hr = KsQueryMediums(&MediumList);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePin KsQueryMediums failed %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
return hr;
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
// query for pin interface
|
// query for pin interface
|
||||||
hr = KsQueryInterfaces(&InterfaceList);
|
hr = KsQueryInterfaces(&InterfaceList);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
// failed
|
// failed
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePin KsQueryInterfaces failed %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
|
||||||
CoTaskMemFree(MediumList);
|
CoTaskMemFree(MediumList);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
@ -2003,6 +2053,12 @@ COutputPin::CreatePin(
|
||||||
CoTaskMemFree(MediumList);
|
CoTaskMemFree(MediumList);
|
||||||
CoTaskMemFree(InterfaceList);
|
CoTaskMemFree(InterfaceList);
|
||||||
|
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePin failed to create interface handler %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2010,7 +2066,12 @@ COutputPin::CreatePin(
|
||||||
hr = InterfaceHandler->KsSetPin((IKsPin*)this);
|
hr = InterfaceHandler->KsSetPin((IKsPin*)this);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
// failed to load interface handler plugin
|
// failed to initialize interface handler plugin
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePin failed to initialize interface handler %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
InterfaceHandler->Release();
|
InterfaceHandler->Release();
|
||||||
CoTaskMemFree(MediumList);
|
CoTaskMemFree(MediumList);
|
||||||
CoTaskMemFree(InterfaceList);
|
CoTaskMemFree(InterfaceList);
|
||||||
|
@ -2027,7 +2088,6 @@ COutputPin::CreatePin(
|
||||||
WCHAR Buffer[100];
|
WCHAR Buffer[100];
|
||||||
swprintf(Buffer, L"COutputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
swprintf(Buffer, L"COutputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
||||||
OutputDebugStringW(Buffer);
|
OutputDebugStringW(Buffer);
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
hr = E_FAIL;
|
hr = E_FAIL;
|
||||||
|
@ -2037,6 +2097,12 @@ COutputPin::CreatePin(
|
||||||
CoTaskMemFree(MediumList);
|
CoTaskMemFree(MediumList);
|
||||||
CoTaskMemFree(InterfaceList);
|
CoTaskMemFree(InterfaceList);
|
||||||
|
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePin Result %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2058,11 +2124,14 @@ COutputPin::CreatePinHandle(
|
||||||
//KSPROPERTY Property;
|
//KSPROPERTY Property;
|
||||||
//ULONG BytesReturned;
|
//ULONG BytesReturned;
|
||||||
|
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle\n");
|
||||||
|
|
||||||
if (m_hPin != INVALID_HANDLE_VALUE)
|
if (m_hPin != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
// pin already exists
|
// pin already exists
|
||||||
//CloseHandle(m_hPin);
|
//CloseHandle(m_hPin);
|
||||||
//m_hPin = INVALID_HANDLE_VALUE;
|
//m_hPin = INVALID_HANDLE_VALUE;
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle pin already exists\n");
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2075,9 +2144,10 @@ COutputPin::CreatePinHandle(
|
||||||
if (!PinConnect)
|
if (!PinConnect)
|
||||||
{
|
{
|
||||||
// failed
|
// failed
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle out of memory\n");
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle copy pinconnect\n");
|
||||||
// setup request
|
// setup request
|
||||||
CopyMemory(&PinConnect->Interface, Interface, sizeof(KSPIN_INTERFACE));
|
CopyMemory(&PinConnect->Interface, Interface, sizeof(KSPIN_INTERFACE));
|
||||||
CopyMemory(&PinConnect->Medium, Medium, sizeof(KSPIN_MEDIUM));
|
CopyMemory(&PinConnect->Medium, Medium, sizeof(KSPIN_MEDIUM));
|
||||||
|
@ -2088,7 +2158,7 @@ COutputPin::CreatePinHandle(
|
||||||
|
|
||||||
// get dataformat offset
|
// get dataformat offset
|
||||||
DataFormat = (PKSDATAFORMAT)(PinConnect + 1);
|
DataFormat = (PKSDATAFORMAT)(PinConnect + 1);
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle copy format\n");
|
||||||
// copy data format
|
// copy data format
|
||||||
DataFormat->FormatSize = sizeof(KSDATAFORMAT) + pmt->cbFormat;
|
DataFormat->FormatSize = sizeof(KSDATAFORMAT) + pmt->cbFormat;
|
||||||
DataFormat->Flags = 0;
|
DataFormat->Flags = 0;
|
||||||
|
@ -2101,13 +2171,19 @@ COutputPin::CreatePinHandle(
|
||||||
if (pmt->cbFormat)
|
if (pmt->cbFormat)
|
||||||
{
|
{
|
||||||
// copy extended format
|
// copy extended format
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"COutputPin::CreatePinHandle copy format %p pbFormat %lu\n", pmt, pmt->cbFormat);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
CopyMemory((DataFormat + 1), pmt->pbFormat, pmt->cbFormat);
|
CopyMemory((DataFormat + 1), pmt->pbFormat, pmt->cbFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get IKsObject interface
|
// get IKsObject interface
|
||||||
hr = m_ParentFilter->QueryInterface(IID_IKsObject, (LPVOID*)&KsObjectParent);
|
hr = m_ParentFilter->QueryInterface(IID_IKsObject, (LPVOID*)&KsObjectParent);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle no IID_IKsObject interface\n");
|
||||||
return hr;
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
// get parent filter handle
|
// get parent filter handle
|
||||||
hFilter = KsObjectParent->KsGetObjectHandle();
|
hFilter = KsObjectParent->KsGetObjectHandle();
|
||||||
|
@ -2116,13 +2192,19 @@ COutputPin::CreatePinHandle(
|
||||||
KsObjectParent->Release();
|
KsObjectParent->Release();
|
||||||
|
|
||||||
if (!hFilter)
|
if (!hFilter)
|
||||||
return E_HANDLE;
|
|
||||||
|
|
||||||
// create pin
|
|
||||||
hr = KsCreatePin(hFilter, PinConnect, GENERIC_READ, &m_hPin);
|
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
|
||||||
{
|
{
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle no filter handle\n");
|
||||||
|
return E_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle before creating pin\n");
|
||||||
|
// create pin
|
||||||
|
DWORD dwError = KsCreatePin(hFilter, PinConnect, GENERIC_READ, &m_hPin);
|
||||||
|
|
||||||
|
if (dwError == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle created pin\n");
|
||||||
|
|
||||||
// store current interface / medium
|
// store current interface / medium
|
||||||
CopyMemory(&m_Medium, Medium, sizeof(KSPIN_MEDIUM));
|
CopyMemory(&m_Medium, Medium, sizeof(KSPIN_MEDIUM));
|
||||||
CopyMemory(&m_Interface, Interface, sizeof(KSPIN_INTERFACE));
|
CopyMemory(&m_Interface, Interface, sizeof(KSPIN_INTERFACE));
|
||||||
|
@ -2173,42 +2255,14 @@ COutputPin::CreatePinHandle(
|
||||||
if (FAILED(InitializeIOThread()))
|
if (FAILED(InitializeIOThread()))
|
||||||
{
|
{
|
||||||
OutputDebugStringW(L"COutputPin::CreatePinHandle failed to initialize i/o thread\n");
|
OutputDebugStringW(L"COutputPin::CreatePinHandle failed to initialize i/o thread\n");
|
||||||
DebugBreak();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LPGUID pGuid;
|
|
||||||
ULONG NumGuids = 0;
|
|
||||||
|
|
||||||
// get all supported sets
|
|
||||||
hr = GetSupportedSets(&pGuid, &NumGuids);
|
|
||||||
if (FAILED(hr))
|
|
||||||
{
|
|
||||||
#ifdef KSPROXY_TRACE
|
|
||||||
OutputDebugStringW(L"CInputPin::CreatePinHandle GetSupportedSets failed\n");
|
|
||||||
DebugBreak();
|
|
||||||
#endif
|
|
||||||
return hr;
|
|
||||||
}
|
|
||||||
|
|
||||||
// load all proxy plugins
|
|
||||||
hr = LoadProxyPlugins(pGuid, NumGuids);
|
|
||||||
if (FAILED(hr))
|
|
||||||
{
|
|
||||||
#ifdef KSPROXY_TRACE
|
|
||||||
OutputDebugStringW(L"CInputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
|
||||||
DebugBreak();
|
|
||||||
#endif
|
|
||||||
return hr;
|
|
||||||
}
|
|
||||||
|
|
||||||
// free sets
|
|
||||||
CoTaskMemFree(pGuid);
|
|
||||||
|
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
// connect pin pipes
|
// connect pin pipes
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
OutputDebugStringW(L"COutputPin::CreatePinHandle failed to create pin\n");
|
||||||
// free pin connect
|
// free pin connect
|
||||||
CoTaskMemFree(PinConnect);
|
CoTaskMemFree(PinConnect);
|
||||||
|
|
||||||
|
@ -2338,7 +2392,6 @@ COutputPin::LoadProxyPlugins(
|
||||||
{
|
{
|
||||||
// store plugin
|
// store plugin
|
||||||
m_Plugins.push_back(pUnknown);
|
m_Plugins.push_back(pUnknown);
|
||||||
DebugBreak();
|
|
||||||
}
|
}
|
||||||
// close key
|
// close key
|
||||||
RegCloseKey(hSubKey);
|
RegCloseKey(hSubKey);
|
||||||
|
@ -2357,17 +2410,48 @@ COutputPin::IoProcessRoutine()
|
||||||
IMediaSample *Sample;
|
IMediaSample *Sample;
|
||||||
LONG SampleCount;
|
LONG SampleCount;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
PKSSTREAM_SEGMENT StreamSegment;
|
PKSSTREAM_SEGMENT * StreamSegment;
|
||||||
HANDLE hEvent;
|
HANDLE hEvent;
|
||||||
IMediaSample * Samples[1];
|
IMediaSample ** Samples;
|
||||||
|
LONG NumHandles;
|
||||||
|
DWORD dwStatus;
|
||||||
|
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
WCHAR Buffer[200];
|
WCHAR Buffer[200];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
NumHandles = m_Properties.cBuffers / 2;
|
||||||
|
|
||||||
|
if (!NumHandles)
|
||||||
|
NumHandles = 8;
|
||||||
|
|
||||||
|
assert(NumHandles);
|
||||||
|
|
||||||
|
//allocate stream segment array
|
||||||
|
StreamSegment = (PKSSTREAM_SEGMENT*)CoTaskMemAlloc(sizeof(PKSSTREAM_SEGMENT) * NumHandles);
|
||||||
|
if (!StreamSegment)
|
||||||
|
{
|
||||||
|
OutputDebugStringW(L"COutputPin::IoProcessRoutine out of memory\n");
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// allocate handle array
|
||||||
|
Samples = (IMediaSample**)CoTaskMemAlloc(sizeof(IMediaSample*) * NumHandles);
|
||||||
|
if (!Samples)
|
||||||
|
{
|
||||||
|
OutputDebugStringW(L"COutputPin::IoProcessRoutine out of memory\n");
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// zero handles array
|
||||||
|
ZeroMemory(StreamSegment, sizeof(PKSSTREAM_SEGMENT) * NumHandles);
|
||||||
|
ZeroMemory(Samples, sizeof(IMediaSample*) * NumHandles);
|
||||||
|
|
||||||
// first wait for the start event to signal
|
// first wait for the start event to signal
|
||||||
WaitForSingleObject(m_hStartEvent, INFINITE);
|
WaitForSingleObject(m_hStartEvent, INFINITE);
|
||||||
|
|
||||||
|
m_IoCount = 0;
|
||||||
|
|
||||||
assert(m_InterfaceHandler);
|
assert(m_InterfaceHandler);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -2392,14 +2476,14 @@ COutputPin::IoProcessRoutine()
|
||||||
|
|
||||||
// fill buffer
|
// fill buffer
|
||||||
SampleCount = 1;
|
SampleCount = 1;
|
||||||
Samples[0] = Sample;
|
Samples[m_IoCount] = Sample;
|
||||||
|
|
||||||
Sample->SetTime(NULL, NULL);
|
Sample->SetTime(NULL, NULL);
|
||||||
hr = m_InterfaceHandler->KsProcessMediaSamples(NULL, /* FIXME */
|
hr = m_InterfaceHandler->KsProcessMediaSamples(NULL, /* FIXME */
|
||||||
Samples,
|
&Samples[m_IoCount],
|
||||||
&SampleCount,
|
&SampleCount,
|
||||||
KsIoOperation_Read,
|
KsIoOperation_Read,
|
||||||
&StreamSegment);
|
&StreamSegment[m_IoCount]);
|
||||||
if (FAILED(hr) || !StreamSegment)
|
if (FAILED(hr) || !StreamSegment)
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
|
@ -2409,14 +2493,26 @@ COutputPin::IoProcessRoutine()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get completion event
|
// interface handle should increment pending i/o count
|
||||||
hEvent = StreamSegment->CompletionEvent;
|
assert(m_IoCount >= 1);
|
||||||
|
|
||||||
|
swprintf(Buffer, L"COutputPin::IoProcessRoutine m_IoCount %lu NumHandles %lu\n", m_IoCount, NumHandles);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
|
||||||
|
if (m_IoCount != NumHandles)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// get completion handle
|
||||||
|
hEvent = StreamSegment[0]->CompletionEvent;
|
||||||
|
|
||||||
// wait for i/o completion
|
// wait for i/o completion
|
||||||
WaitForSingleObject(hEvent, INFINITE);
|
dwStatus = WaitForSingleObject(hEvent, INFINITE);
|
||||||
|
|
||||||
|
swprintf(Buffer, L"COutputPin::IoProcessRoutine dwStatus %lx Error %lx NumHandles %lu\n", dwStatus, GetLastError(), NumHandles);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
|
||||||
// perform completion
|
// perform completion
|
||||||
m_InterfaceHandler->KsCompleteIo(StreamSegment);
|
m_InterfaceHandler->KsCompleteIo(StreamSegment[0]);
|
||||||
|
|
||||||
// close completion event
|
// close completion event
|
||||||
CloseHandle(hEvent);
|
CloseHandle(hEvent);
|
||||||
|
@ -2426,7 +2522,7 @@ COutputPin::IoProcessRoutine()
|
||||||
assert(m_MemInputPin);
|
assert(m_MemInputPin);
|
||||||
|
|
||||||
// now deliver the sample
|
// now deliver the sample
|
||||||
hr = m_MemInputPin->Receive(Sample);
|
hr = m_MemInputPin->Receive(Samples[0]);
|
||||||
|
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
swprintf(Buffer, L"COutputPin::IoProcessRoutine PinName %s IMemInputPin::Receive hr %lx Sample %p m_MemAllocator %p\n", m_PinName, hr, Sample, m_MemAllocator);
|
swprintf(Buffer, L"COutputPin::IoProcessRoutine PinName %s IMemInputPin::Receive hr %lx Sample %p m_MemAllocator %p\n", m_PinName, hr, Sample, m_MemAllocator);
|
||||||
|
@ -2438,6 +2534,11 @@ COutputPin::IoProcessRoutine()
|
||||||
|
|
||||||
Sample = NULL;
|
Sample = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//circular stream segment array
|
||||||
|
RtlMoveMemory(StreamSegment, &StreamSegment[1], sizeof(PKSSTREAM_SEGMENT) * (NumHandles - 1));
|
||||||
|
RtlMoveMemory(Samples, &Samples[1], sizeof(IMediaSample*) * (NumHandles - 1));
|
||||||
|
|
||||||
}while(TRUE);
|
}while(TRUE);
|
||||||
|
|
||||||
// signal end of i/o thread
|
// signal end of i/o thread
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#define _FORCENAMELESSUNION
|
#define _FORCENAMELESSUNION
|
||||||
#define BUILDING_KS
|
#define BUILDING_KS
|
||||||
#define _KSDDK_
|
#define _KSDDK_
|
||||||
//#define KSPROXY_TRACE
|
#define KSPROXY_TRACE
|
||||||
#include <dshow.h>
|
#include <dshow.h>
|
||||||
//#include <streams.h>
|
//#include <streams.h>
|
||||||
#include <ks.h>
|
#include <ks.h>
|
||||||
|
|
|
@ -1954,7 +1954,6 @@ CKsProxy::IsDirty()
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CKsProxy::IsDirty Notimplemented\n");
|
OutputDebugStringW(L"CKsProxy::IsDirty Notimplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
@ -2035,7 +2034,6 @@ CKsProxy::Load(
|
||||||
|
|
||||||
}while(Length > 0);
|
}while(Length > 0);
|
||||||
|
|
||||||
DebugBreak();
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2059,7 +2057,6 @@ CKsProxy::GetSizeMax(
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
#ifdef KSPROXY_TRACE
|
||||||
OutputDebugStringW(L"CKsProxy::GetSizeMax Notimplemented\n");
|
OutputDebugStringW(L"CKsProxy::GetSizeMax Notimplemented\n");
|
||||||
DebugBreak();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
@ -2480,23 +2477,50 @@ CKsProxy::CreatePins()
|
||||||
// query current instance count
|
// query current instance count
|
||||||
hr = GetPinInstanceCount(Index, &Instances);
|
hr = GetPinInstanceCount(Index, &Instances);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins GetPinInstanceCount failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// query pin communication;
|
// query pin communication;
|
||||||
hr = GetPinCommunication(Index, &Communication);
|
hr = GetPinCommunication(Index, &Communication);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins GetPinCommunication failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (Instances.CurrentCount == Instances.PossibleCount)
|
if (Instances.CurrentCount == Instances.PossibleCount)
|
||||||
{
|
{
|
||||||
// already maximum reached for this pin
|
// already maximum reached for this pin
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins Instances.CurrentCount == Instances.PossibleCount\n");
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get direction of pin
|
// get direction of pin
|
||||||
hr = GetPinDataflow(Index, &DataFlow);
|
hr = GetPinDataflow(Index, &DataFlow);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins GetPinDataflow failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (DataFlow == KSPIN_DATAFLOW_IN)
|
if (DataFlow == KSPIN_DATAFLOW_IN)
|
||||||
hr = GetPinName(Index, DataFlow, InputPin, &PinName);
|
hr = GetPinName(Index, DataFlow, InputPin, &PinName);
|
||||||
|
@ -2504,7 +2528,14 @@ CKsProxy::CreatePins()
|
||||||
hr = GetPinName(Index, DataFlow, OutputPin, &PinName);
|
hr = GetPinName(Index, DataFlow, OutputPin, &PinName);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins GetPinName failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// construct the pins
|
// construct the pins
|
||||||
if (DataFlow == KSPIN_DATAFLOW_IN)
|
if (DataFlow == KSPIN_DATAFLOW_IN)
|
||||||
|
@ -2512,6 +2543,11 @@ CKsProxy::CreatePins()
|
||||||
hr = CInputPin_Constructor((IBaseFilter*)this, PinName, m_hDevice, Index, Communication, IID_IPin, (void**)&pPin);
|
hr = CInputPin_Constructor((IBaseFilter*)this, PinName, m_hDevice, Index, Communication, IID_IPin, (void**)&pPin);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins CInputPin_Constructor failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
CoTaskMemFree(PinName);
|
CoTaskMemFree(PinName);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -2522,6 +2558,11 @@ CKsProxy::CreatePins()
|
||||||
hr = COutputPin_Constructor((IBaseFilter*)this, PinName, Index, Communication, IID_IPin, (void**)&pPin);
|
hr = COutputPin_Constructor((IBaseFilter*)this, PinName, Index, Communication, IID_IPin, (void**)&pPin);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
WCHAR Buffer[100];
|
||||||
|
swprintf(Buffer, L"CKsProxy::CreatePins COutputPin_Constructor failed with %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
CoTaskMemFree(PinName);
|
CoTaskMemFree(PinName);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -2627,9 +2668,12 @@ CKsProxy::Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog)
|
||||||
hr = LoadProxyPlugins(pGuid, NumGuids);
|
hr = LoadProxyPlugins(pGuid, NumGuids);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
|
#if 0 //HACK
|
||||||
CloseHandle(m_hDevice);
|
CloseHandle(m_hDevice);
|
||||||
m_hDevice = NULL;
|
m_hDevice = NULL;
|
||||||
return hr;
|
return hr;
|
||||||
|
#endif
|
||||||
|
OutputDebugStringW(L"CKsProxy::LoadProxyPlugins failed!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// free sets
|
// free sets
|
||||||
|
@ -2638,6 +2682,14 @@ CKsProxy::Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog)
|
||||||
// now create the input / output pins
|
// now create the input / output pins
|
||||||
hr = CreatePins();
|
hr = CreatePins();
|
||||||
|
|
||||||
|
#ifdef KSPROXY_TRACE
|
||||||
|
swprintf(Buffer, L"CKsProxy::Load CreatePins %lx\n", hr);
|
||||||
|
OutputDebugStringW(Buffer);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//HACK
|
||||||
|
hr = S_OK;
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2986,10 +3038,6 @@ STDMETHODCALLTYPE
|
||||||
CKsProxy::EnumPins(
|
CKsProxy::EnumPins(
|
||||||
IEnumPins **ppEnum)
|
IEnumPins **ppEnum)
|
||||||
{
|
{
|
||||||
#ifdef KSPROXY_TRACE
|
|
||||||
OutputDebugStringW(L"CKsProxy::EnumPins\n");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return CEnumPins_fnConstructor(m_Pins, IID_IEnumPins, (void**)ppEnum);
|
return CEnumPins_fnConstructor(m_Pins, IID_IEnumPins, (void**)ppEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -155,14 +155,6 @@ CEnumPins_fnConstructor(
|
||||||
{
|
{
|
||||||
CEnumPins * handler = new CEnumPins(NumPins, pins);
|
CEnumPins * handler = new CEnumPins(NumPins, pins);
|
||||||
|
|
||||||
#ifdef MSDVBNP_TRACE
|
|
||||||
WCHAR Buffer[MAX_PATH];
|
|
||||||
LPOLESTR lpstr;
|
|
||||||
StringFromCLSID(riid, &lpstr);
|
|
||||||
swprintf(Buffer, L"CEnumPins_fnConstructor riid %s pUnknown %p\n", lpstr, pUnknown);
|
|
||||||
OutputDebugStringW(Buffer);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!handler)
|
if (!handler)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,14 @@
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
const GUID KSCATEGORY_BDA_NETWORK_PROVIDER = {0x71985f4b, 0x1ca1, 0x11d3, {0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0}};
|
||||||
|
#endif
|
||||||
|
|
||||||
static INTERFACE_TABLE InterfaceTable[] =
|
static INTERFACE_TABLE InterfaceTable[] =
|
||||||
{
|
{
|
||||||
{&CLSID_DVBTNetworkProvider, CNetworkProvider_fnConstructor},
|
{&CLSID_DVBTNetworkProvider, CNetworkProvider_fnConstructor, L"ReactOS DVBT Network Provider"},
|
||||||
{NULL, NULL}
|
{NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
|
@ -53,8 +57,19 @@ DllUnregisterServer(void)
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
HKEY hClass;
|
HKEY hClass;
|
||||||
|
|
||||||
|
|
||||||
|
hr = StringFromCLSID(KSCATEGORY_BDA_NETWORK_PROVIDER, &pStr);
|
||||||
|
if (FAILED(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
|
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
CoTaskMemFree(pStr);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
RegDeleteKeyW(hClass, pStr);
|
||||||
|
CoTaskMemFree(pStr);
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -71,6 +86,24 @@ DllUnregisterServer(void)
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
RegisterBDAComponent(
|
||||||
|
HKEY hFilter,
|
||||||
|
LPCWSTR ComponentClsid,
|
||||||
|
LPCWSTR ComponentName)
|
||||||
|
{
|
||||||
|
HKEY hComp;
|
||||||
|
|
||||||
|
// create network provider filter key
|
||||||
|
if (RegCreateKeyExW(hFilter, ComponentClsid, 0, NULL, 0, KEY_WRITE, NULL, &hComp, NULL) == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
// store class id
|
||||||
|
RegSetValueExW(hComp, L"CLSID", 0, REG_SZ, (const BYTE*)ComponentClsid, (wcslen(ComponentClsid)+1) * sizeof(WCHAR));
|
||||||
|
RegSetValueExW(hComp, L"FriendlyName", 0, REG_SZ, (const BYTE*)ComponentName, (wcslen(ComponentName)+1) * sizeof(WCHAR));
|
||||||
|
RegCloseKey(hComp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
KSDDKAPI
|
KSDDKAPI
|
||||||
HRESULT
|
HRESULT
|
||||||
|
@ -80,12 +113,50 @@ DllRegisterServer(void)
|
||||||
ULONG Index = 0;
|
ULONG Index = 0;
|
||||||
LPOLESTR pStr;
|
LPOLESTR pStr;
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
HKEY hClass, hKey, hSubKey;
|
HKEY hClass, hKey, hSubKey, hProvider, hInstance, hFilter;
|
||||||
static LPCWSTR ModuleName = L"msdvbnp.ax";
|
static LPCWSTR ModuleName = L"msdvbnp.ax";
|
||||||
static LPCWSTR ThreadingModel = L"Both";
|
static LPCWSTR ThreadingModel = L"Both";
|
||||||
|
|
||||||
|
hr = StringFromCLSID(KSCATEGORY_BDA_NETWORK_PROVIDER, &pStr);
|
||||||
|
if (FAILED(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
|
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
CoTaskMemFree(pStr);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (RegCreateKeyExW(hClass, pStr, 0, NULL, 0, KEY_WRITE, NULL, &hProvider, NULL) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
RegCloseKey(hClass);
|
||||||
|
CoTaskMemFree(pStr);
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
CoTaskMemFree(pStr);
|
||||||
|
|
||||||
|
if (RegCreateKeyExW(hProvider, L"Instance", 0, NULL, 0, KEY_WRITE, NULL, &hInstance, NULL) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
RegCloseKey(hClass);
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
RegCloseKey(hProvider);
|
||||||
|
|
||||||
|
/* open active movie filter category key */
|
||||||
|
if (RegCreateKeyExW(hClass, L"{da4e3da0-d07d-11d0-bd50-00a0c911ce86}\\Instance", 0, NULL, 0, KEY_WRITE, NULL, &hFilter, NULL) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
RegCloseKey(hClass);
|
||||||
|
RegCloseKey(hInstance);
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
RegisterBDAComponent(hFilter, L"{71985F4A-1CA1-11d3-9CC8-00C04F7971E0}", L"BDA Playback Filter");
|
||||||
|
RegisterBDAComponent(hFilter, L"{71985F4B-1CA1-11D3-9CC8-00C04F7971E0}", L"BDA Network Providers");
|
||||||
|
RegisterBDAComponent(hFilter, L"{71985F48-1CA1-11d3-9CC8-00C04F7971E0}", L"BDA Source Filter");
|
||||||
|
RegisterBDAComponent(hFilter, L"{A2E3074F-6C3D-11D3-B653-00C04F79498E}", L"BDA Transport Information Renderers");
|
||||||
|
RegisterBDAComponent(hFilter, L"{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}", L"BDA Receiver Component");
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -104,11 +175,23 @@ DllRegisterServer(void)
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (RegCreateKeyExW(hInstance, InterfaceTable[Index].ProviderName, 0, 0, 0, KEY_WRITE, NULL, &hKey, 0) == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
//FIXME filterdata
|
||||||
|
RegSetValueExW(hKey, L"FriendlyName", 0, REG_SZ, (const BYTE*)InterfaceTable[Index].ProviderName, (wcslen(InterfaceTable[Index].ProviderName) + 1) * sizeof(WCHAR));
|
||||||
|
RegSetValueExW(hKey, L"CLSID", 0, REG_SZ, (const BYTE*)pStr, (wcslen(pStr)+1) * sizeof(WCHAR));
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CoTaskMemFree(pStr);
|
CoTaskMemFree(pStr);
|
||||||
Index++;
|
Index++;
|
||||||
}while(InterfaceTable[Index].lpfnCI != 0);
|
}while(InterfaceTable[Index].lpfnCI != 0);
|
||||||
|
|
||||||
RegCloseKey(hClass);
|
RegCloseKey(hClass);
|
||||||
|
RegCloseKey(hInstance);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ typedef struct
|
||||||
{
|
{
|
||||||
const GUID* riid;
|
const GUID* riid;
|
||||||
LPFNCREATEINSTANCE lpfnCI;
|
LPFNCREATEINSTANCE lpfnCI;
|
||||||
|
LPCWSTR ProviderName;
|
||||||
} INTERFACE_TABLE;
|
} INTERFACE_TABLE;
|
||||||
|
|
||||||
/* classfactory.cpp */
|
/* classfactory.cpp */
|
||||||
|
|
|
@ -854,7 +854,7 @@ SampleGrabber_ISampleGrabber_GetCurrentBuffer(ISampleGrabber *iface, LONG *bufSi
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI
|
||||||
SampleGrabber_ISampleGrabber_GetCurrentSample(ISampleGrabber *iface, IMediaSample **sample)
|
SampleGrabber_ISampleGrabber_GetCurrentSample(ISampleGrabber *iface, IMediaSample **sample)
|
||||||
{
|
{
|
||||||
/* MS doesn't implement it either, noone should call it */
|
/* MS doesn't implement it either, no one should call it */
|
||||||
WARN("(%p): not implemented\n", sample);
|
WARN("(%p): not implemented\n", sample);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
@ -1264,7 +1264,7 @@ SampleGrabber_IPin_EnumMediaTypes(IPin *iface, IEnumMediaTypes **mtypes)
|
||||||
TRACE("(%p)->(%p)\n", This, mtypes);
|
TRACE("(%p)->(%p)\n", This, mtypes);
|
||||||
if (!mtypes)
|
if (!mtypes)
|
||||||
return E_POINTER;
|
return E_POINTER;
|
||||||
*mtypes = mediaenum_create(This->sg->pin_in.pair ? &This->sg->mtype : (const AM_MEDIA_TYPE *)NULL);
|
*mtypes = mediaenum_create(This->sg->pin_in.pair ? &This->sg->mtype : NULL);
|
||||||
return *mtypes ? S_OK : E_OUTOFMEMORY;
|
return *mtypes ? S_OK : E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -203,7 +203,7 @@ static HRESULT AVIDec_ConnectInput(InputPin *pin, const AM_MEDIA_TYPE * pmt)
|
||||||
bmi = &format2->bmiHeader;
|
bmi = &format2->bmiHeader;
|
||||||
else
|
else
|
||||||
goto failed;
|
goto failed;
|
||||||
TRACE("Fourcc: %s\n", debugstr_an((char *)&pmt->subtype.Data1, 4));
|
TRACE("Fourcc: %s\n", debugstr_an((const char *)&pmt->subtype.Data1, 4));
|
||||||
|
|
||||||
This->hvid = ICLocate(pmt->majortype.Data1, pmt->subtype.Data1, bmi, NULL, ICMODE_DECOMPRESS);
|
This->hvid = ICLocate(pmt->majortype.Data1, pmt->subtype.Data1, bmi, NULL, ICMODE_DECOMPRESS);
|
||||||
if (This->hvid)
|
if (This->hvid)
|
||||||
|
|
|
@ -692,7 +692,7 @@ static HRESULT AVISplitter_ProcessStreamList(AVISplitterImpl * This, const BYTE
|
||||||
amt.formattype = FORMAT_WaveFormatEx;
|
amt.formattype = FORMAT_WaveFormatEx;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
FIXME("fccType %.4s not handled yet\n", (char *)&pStrHdr->fccType);
|
FIXME("fccType %.4s not handled yet\n", (const char *)&pStrHdr->fccType);
|
||||||
amt.formattype = FORMAT_None;
|
amt.formattype = FORMAT_None;
|
||||||
}
|
}
|
||||||
amt.majortype = MEDIATYPE_Video;
|
amt.majortype = MEDIATYPE_Video;
|
||||||
|
@ -793,7 +793,7 @@ static HRESULT AVISplitter_ProcessStreamList(AVISplitterImpl * This, const BYTE
|
||||||
TRACE("bIndexSubType: %hd\n", pIndex->bIndexSubType);
|
TRACE("bIndexSubType: %hd\n", pIndex->bIndexSubType);
|
||||||
TRACE("bIndexType: %hd\n", pIndex->bIndexType);
|
TRACE("bIndexType: %hd\n", pIndex->bIndexType);
|
||||||
TRACE("nEntriesInUse: %u\n", pIndex->nEntriesInUse);
|
TRACE("nEntriesInUse: %u\n", pIndex->nEntriesInUse);
|
||||||
TRACE("dwChunkId: %.4s\n", (char *)&pIndex->dwChunkId);
|
TRACE("dwChunkId: %.4s\n", (const char *)&pIndex->dwChunkId);
|
||||||
if (pIndex->dwReserved[0])
|
if (pIndex->dwReserved[0])
|
||||||
TRACE("dwReserved[0]: %u\n", pIndex->dwReserved[0]);
|
TRACE("dwReserved[0]: %u\n", pIndex->dwReserved[0]);
|
||||||
if (pIndex->dwReserved[2])
|
if (pIndex->dwReserved[2])
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
8 stub ADsBuildVarArrayInt
|
8 stub ADsBuildVarArrayInt
|
||||||
9 stdcall ADsOpenObject(wstr wstr wstr long ptr ptr)
|
9 stdcall ADsOpenObject(wstr wstr wstr long ptr ptr)
|
||||||
12 stub ADsSetLastError
|
12 stub ADsSetLastError
|
||||||
13 stub ADsGetLastError
|
13 stdcall ADsGetLastError(ptr ptr long ptr long)
|
||||||
14 stub AllocADsMem
|
14 stub AllocADsMem
|
||||||
15 stdcall FreeADsMem(ptr)
|
15 stdcall FreeADsMem(ptr)
|
||||||
16 stub ReallocADsMem
|
16 stub ReallocADsMem
|
||||||
|
|
|
@ -94,6 +94,15 @@ HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************
|
||||||
|
* ADsGetLastError [ACTIVEDS.13]
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbuflen, LPWSTR namebuf, DWORD namebuflen)
|
||||||
|
{
|
||||||
|
FIXME("(%p,%p,%d,%p,%d)!stub\n", perror, errorbuf, errorbuflen, namebuf, namebuflen);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
* FreeADsMem [ACTIVEDS.15]
|
* FreeADsMem [ACTIVEDS.15]
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
<file>actxprxy_ocmm.idl</file>
|
<file>actxprxy_ocmm.idl</file>
|
||||||
<file>actxprxy_servprov.idl</file>
|
<file>actxprxy_servprov.idl</file>
|
||||||
<!-- file>actxprxy_shobjidl.idl</file -->
|
<!-- file>actxprxy_shobjidl.idl</file -->
|
||||||
<file>actxprxy_urlhist.idl
|
<file>actxprxy_urlhist.idl</file>
|
||||||
</file>
|
|
||||||
</module>
|
</module>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -950,7 +950,7 @@ HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR lpszName, HWND hWnd,
|
||||||
TRACE("(%s %p %p %p %p %p %p)\n", debugstr_w(lpszName), hWnd, pStream,
|
TRACE("(%s %p %p %p %p %p %p)\n", debugstr_w(lpszName), hWnd, pStream,
|
||||||
ppUnkContainer, ppUnkControl, iidSink, punkSink);
|
ppUnkContainer, ppUnkControl, iidSink, punkSink);
|
||||||
|
|
||||||
hRes = CLSIDFromString( (LPOLESTR) lpszName, &controlId );
|
hRes = CLSIDFromString( lpszName, &controlId );
|
||||||
if ( FAILED(hRes) )
|
if ( FAILED(hRes) )
|
||||||
hRes = CLSIDFromProgID( lpszName, &controlId );
|
hRes = CLSIDFromProgID( lpszName, &controlId );
|
||||||
if ( SUCCEEDED( hRes ) )
|
if ( SUCCEEDED( hRes ) )
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Top level resource file for avifil32.dll
|
* Top level resource file for avifil32.dll
|
||||||
*
|
*
|
||||||
* Copyright 2002 Michael Günnewig
|
* Copyright 2002 Michael Günnewig
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -18,10 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "windef.h"
|
|
||||||
#include "winbase.h"
|
|
||||||
#include "winuser.h"
|
|
||||||
#include "winver.h"
|
|
||||||
#include "avifile_private.h"
|
#include "avifile_private.h"
|
||||||
|
|
||||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
|
|
|
@ -77,7 +77,7 @@ THOSE_ZIP_CONSTS;
|
||||||
|
|
||||||
struct fdi_file {
|
struct fdi_file {
|
||||||
struct fdi_file *next; /* next file in sequence */
|
struct fdi_file *next; /* next file in sequence */
|
||||||
LPCSTR filename; /* output name of file */
|
LPSTR filename; /* output name of file */
|
||||||
int fh; /* open file handle or NULL */
|
int fh; /* open file handle or NULL */
|
||||||
cab_ULONG length; /* uncompressed length of file */
|
cab_ULONG length; /* uncompressed length of file */
|
||||||
cab_ULONG offset; /* uncompressed offset in folder */
|
cab_ULONG offset; /* uncompressed offset in folder */
|
||||||
|
@ -2301,7 +2301,7 @@ static void free_decompression_mem(HFDI hfdi,
|
||||||
}
|
}
|
||||||
while (CAB(firstfile)) {
|
while (CAB(firstfile)) {
|
||||||
file = CAB(firstfile);
|
file = CAB(firstfile);
|
||||||
if (file->filename) PFDI_FREE(hfdi, (void *)file->filename);
|
if (file->filename) PFDI_FREE(hfdi, file->filename);
|
||||||
CAB(firstfile) = CAB(firstfile)->next;
|
CAB(firstfile) = CAB(firstfile)->next;
|
||||||
PFDI_FREE(hfdi, file);
|
PFDI_FREE(hfdi, file);
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,8 +99,7 @@ static LONG encodeBase64A(const BYTE *in_buf, int in_len, LPCSTR sep,
|
||||||
|
|
||||||
TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes);
|
TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes);
|
||||||
needed = bytes + pad_bytes + 1;
|
needed = bytes + pad_bytes + 1;
|
||||||
if (sep)
|
needed += (needed / 64 + 1) * strlen(sep);
|
||||||
needed += (needed / 64 + 1) * strlen(sep);
|
|
||||||
|
|
||||||
if (needed > *out_len)
|
if (needed > *out_len)
|
||||||
{
|
{
|
||||||
|
@ -117,7 +116,7 @@ static LONG encodeBase64A(const BYTE *in_buf, int in_len, LPCSTR sep,
|
||||||
i = 0;
|
i = 0;
|
||||||
while (div > 0)
|
while (div > 0)
|
||||||
{
|
{
|
||||||
if (sep && i && i % 64 == 0)
|
if (i && i % 64 == 0)
|
||||||
{
|
{
|
||||||
strcpy(ptr, sep);
|
strcpy(ptr, sep);
|
||||||
ptr += strlen(sep);
|
ptr += strlen(sep);
|
||||||
|
@ -163,8 +162,7 @@ static LONG encodeBase64A(const BYTE *in_buf, int in_len, LPCSTR sep,
|
||||||
*ptr++ = '=';
|
*ptr++ = '=';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (sep)
|
strcpy(ptr, sep);
|
||||||
strcpy(ptr, sep);
|
|
||||||
|
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -180,7 +178,7 @@ static BOOL BinaryToBase64A(const BYTE *pbBinary,
|
||||||
if (dwFlags & CRYPT_STRING_NOCR)
|
if (dwFlags & CRYPT_STRING_NOCR)
|
||||||
sep = lf;
|
sep = lf;
|
||||||
else if (dwFlags & CRYPT_STRING_NOCRLF)
|
else if (dwFlags & CRYPT_STRING_NOCRLF)
|
||||||
sep = NULL;
|
sep = "";
|
||||||
else
|
else
|
||||||
sep = crlf;
|
sep = crlf;
|
||||||
switch (dwFlags & 0x0fffffff)
|
switch (dwFlags & 0x0fffffff)
|
||||||
|
@ -204,8 +202,6 @@ static BOOL BinaryToBase64A(const BYTE *pbBinary,
|
||||||
|
|
||||||
charsNeeded = 0;
|
charsNeeded = 0;
|
||||||
encodeBase64A(pbBinary, cbBinary, sep, NULL, &charsNeeded);
|
encodeBase64A(pbBinary, cbBinary, sep, NULL, &charsNeeded);
|
||||||
if (sep)
|
|
||||||
charsNeeded += strlen(sep);
|
|
||||||
if (header)
|
if (header)
|
||||||
charsNeeded += strlen(header) + strlen(sep);
|
charsNeeded += strlen(header) + strlen(sep);
|
||||||
if (trailer)
|
if (trailer)
|
||||||
|
@ -219,11 +215,8 @@ static BOOL BinaryToBase64A(const BYTE *pbBinary,
|
||||||
{
|
{
|
||||||
strcpy(ptr, header);
|
strcpy(ptr, header);
|
||||||
ptr += strlen(ptr);
|
ptr += strlen(ptr);
|
||||||
if (sep)
|
strcpy(ptr, sep);
|
||||||
{
|
ptr += strlen(sep);
|
||||||
strcpy(ptr, sep);
|
|
||||||
ptr += strlen(sep);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
encodeBase64A(pbBinary, cbBinary, sep, ptr, &size);
|
encodeBase64A(pbBinary, cbBinary, sep, ptr, &size);
|
||||||
ptr += size - 1;
|
ptr += size - 1;
|
||||||
|
@ -231,11 +224,8 @@ static BOOL BinaryToBase64A(const BYTE *pbBinary,
|
||||||
{
|
{
|
||||||
strcpy(ptr, trailer);
|
strcpy(ptr, trailer);
|
||||||
ptr += strlen(ptr);
|
ptr += strlen(ptr);
|
||||||
if (sep)
|
strcpy(ptr, sep);
|
||||||
{
|
ptr += strlen(sep);
|
||||||
strcpy(ptr, sep);
|
|
||||||
ptr += strlen(sep);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
*pcchString = charsNeeded - 1;
|
*pcchString = charsNeeded - 1;
|
||||||
}
|
}
|
||||||
|
@ -304,8 +294,7 @@ static LONG encodeBase64W(const BYTE *in_buf, int in_len, LPCWSTR sep,
|
||||||
|
|
||||||
TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes);
|
TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes);
|
||||||
needed = bytes + pad_bytes + 1;
|
needed = bytes + pad_bytes + 1;
|
||||||
if (sep)
|
needed += (needed / 64 + 1) * strlenW(sep);
|
||||||
needed += (needed / 64 + 1) * strlenW(sep);
|
|
||||||
|
|
||||||
if (needed > *out_len)
|
if (needed > *out_len)
|
||||||
{
|
{
|
||||||
|
@ -322,7 +311,7 @@ static LONG encodeBase64W(const BYTE *in_buf, int in_len, LPCWSTR sep,
|
||||||
i = 0;
|
i = 0;
|
||||||
while (div > 0)
|
while (div > 0)
|
||||||
{
|
{
|
||||||
if (sep && i && i % 64 == 0)
|
if (i && i % 64 == 0)
|
||||||
{
|
{
|
||||||
strcpyW(ptr, sep);
|
strcpyW(ptr, sep);
|
||||||
ptr += strlenW(sep);
|
ptr += strlenW(sep);
|
||||||
|
@ -368,8 +357,7 @@ static LONG encodeBase64W(const BYTE *in_buf, int in_len, LPCWSTR sep,
|
||||||
*ptr++ = '=';
|
*ptr++ = '=';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (sep)
|
strcpyW(ptr, sep);
|
||||||
strcpyW(ptr, sep);
|
|
||||||
|
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -377,7 +365,7 @@ static LONG encodeBase64W(const BYTE *in_buf, int in_len, LPCWSTR sep,
|
||||||
static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
||||||
DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString)
|
DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString)
|
||||||
{
|
{
|
||||||
static const WCHAR crlf[] = { '\r','\n',0 }, lf[] = { '\n',0 };
|
static const WCHAR crlf[] = { '\r','\n',0 }, lf[] = { '\n',0 }, empty[] = {0};
|
||||||
BOOL ret = TRUE;
|
BOOL ret = TRUE;
|
||||||
LPCWSTR header = NULL, trailer = NULL, sep;
|
LPCWSTR header = NULL, trailer = NULL, sep;
|
||||||
DWORD charsNeeded;
|
DWORD charsNeeded;
|
||||||
|
@ -385,7 +373,7 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
||||||
if (dwFlags & CRYPT_STRING_NOCR)
|
if (dwFlags & CRYPT_STRING_NOCR)
|
||||||
sep = lf;
|
sep = lf;
|
||||||
else if (dwFlags & CRYPT_STRING_NOCRLF)
|
else if (dwFlags & CRYPT_STRING_NOCRLF)
|
||||||
sep = NULL;
|
sep = empty;
|
||||||
else
|
else
|
||||||
sep = crlf;
|
sep = crlf;
|
||||||
switch (dwFlags & 0x0fffffff)
|
switch (dwFlags & 0x0fffffff)
|
||||||
|
@ -409,8 +397,6 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
||||||
|
|
||||||
charsNeeded = 0;
|
charsNeeded = 0;
|
||||||
encodeBase64W(pbBinary, cbBinary, sep, NULL, &charsNeeded);
|
encodeBase64W(pbBinary, cbBinary, sep, NULL, &charsNeeded);
|
||||||
if (sep)
|
|
||||||
charsNeeded += strlenW(sep);
|
|
||||||
if (header)
|
if (header)
|
||||||
charsNeeded += strlenW(header) + strlenW(sep);
|
charsNeeded += strlenW(header) + strlenW(sep);
|
||||||
if (trailer)
|
if (trailer)
|
||||||
|
@ -424,11 +410,8 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
||||||
{
|
{
|
||||||
strcpyW(ptr, header);
|
strcpyW(ptr, header);
|
||||||
ptr += strlenW(ptr);
|
ptr += strlenW(ptr);
|
||||||
if (sep)
|
strcpyW(ptr, sep);
|
||||||
{
|
ptr += strlenW(sep);
|
||||||
strcpyW(ptr, sep);
|
|
||||||
ptr += strlenW(sep);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
encodeBase64W(pbBinary, cbBinary, sep, ptr, &size);
|
encodeBase64W(pbBinary, cbBinary, sep, ptr, &size);
|
||||||
ptr += size - 1;
|
ptr += size - 1;
|
||||||
|
@ -436,11 +419,8 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary,
|
||||||
{
|
{
|
||||||
strcpyW(ptr, trailer);
|
strcpyW(ptr, trailer);
|
||||||
ptr += strlenW(ptr);
|
ptr += strlenW(ptr);
|
||||||
if (sep)
|
strcpyW(ptr, sep);
|
||||||
{
|
ptr += strlenW(sep);
|
||||||
strcpyW(ptr, sep);
|
|
||||||
ptr += strlenW(sep);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
*pcchString = charsNeeded - 1;
|
*pcchString = charsNeeded - 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* FILE: dll/win32/devmgr/lang/cs-CZ.rc
|
/* FILE: dll/win32/devmgr/lang/cs-CZ.rc
|
||||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||||
* UPDATED: 2008-06-24
|
* UPDATED: 2010-01-07
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||||
|
@ -202,7 +202,7 @@ END
|
||||||
|
|
||||||
IDD_DEVICEDETAILS DIALOGEX DISCARDABLE 0, 0, 252, 218
|
IDD_DEVICEDETAILS DIALOGEX DISCARDABLE 0, 0, 252, 218
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||||
CAPTION "Details"
|
CAPTION "Detaily"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
||||||
|
@ -215,7 +215,7 @@ END
|
||||||
|
|
||||||
IDD_DEVICERESOURCES DIALOGEX DISCARDABLE 0, 0, 252, 218
|
IDD_DEVICERESOURCES DIALOGEX DISCARDABLE 0, 0, 252, 218
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||||
CAPTION "Resources"
|
CAPTION "Prostøedky"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
||||||
|
@ -224,7 +224,7 @@ END
|
||||||
|
|
||||||
IDD_DEVICEPOWER DIALOGEX DISCARDABLE 0, 0, 252, 218
|
IDD_DEVICEPOWER DIALOGEX DISCARDABLE 0, 0, 252, 218
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||||
CAPTION "Power"
|
CAPTION "Napájení"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
ICON "", IDC_DEVICON, 7, 7, 20, 20
|
||||||
|
|
|
@ -1540,7 +1540,7 @@ SelectObject(HDC hDC,
|
||||||
PDC_ATTR pDc_Attr;
|
PDC_ATTR pDc_Attr;
|
||||||
HGDIOBJ hOldObj = NULL;
|
HGDIOBJ hOldObj = NULL;
|
||||||
UINT uType;
|
UINT uType;
|
||||||
// PTEB pTeb;
|
PTEB pTeb;
|
||||||
|
|
||||||
if(!GdiGetHandleUserData(hDC, GDI_OBJECT_TYPE_DC, (PVOID)&pDc_Attr))
|
if(!GdiGetHandleUserData(hDC, GDI_OBJECT_TYPE_DC, (PVOID)&pDc_Attr))
|
||||||
{
|
{
|
||||||
|
@ -1582,7 +1582,6 @@ SelectObject(HDC hDC,
|
||||||
case GDI_OBJECT_TYPE_FONT:
|
case GDI_OBJECT_TYPE_FONT:
|
||||||
hOldObj = pDc_Attr->hlfntNew;
|
hOldObj = pDc_Attr->hlfntNew;
|
||||||
if (hOldObj == hGdiObj) return hOldObj;
|
if (hOldObj == hGdiObj) return hOldObj;
|
||||||
#if 0
|
|
||||||
pDc_Attr->ulDirty_ &= ~SLOW_WIDTHS;
|
pDc_Attr->ulDirty_ &= ~SLOW_WIDTHS;
|
||||||
pDc_Attr->ulDirty_ |= DIRTY_CHARSET;
|
pDc_Attr->ulDirty_ |= DIRTY_CHARSET;
|
||||||
pDc_Attr->hlfntNew = hGdiObj;
|
pDc_Attr->hlfntNew = hGdiObj;
|
||||||
|
@ -1604,7 +1603,6 @@ SelectObject(HDC hDC,
|
||||||
if (pTeb->GdiBatchCount >= GDI_BatchLimit) NtGdiFlush();
|
if (pTeb->GdiBatchCount >= GDI_BatchLimit) NtGdiFlush();
|
||||||
return hOldObj;
|
return hOldObj;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
// default for select object font
|
// default for select object font
|
||||||
return NtGdiSelectFont(hDC, hGdiObj);
|
return NtGdiSelectFont(hDC, hGdiObj);
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,6 @@ BOOL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
DeleteRegion( HRGN hRgn )
|
DeleteRegion( HRGN hRgn )
|
||||||
{
|
{
|
||||||
//#if 0
|
|
||||||
PRGN_ATTR Rgn_Attr;
|
PRGN_ATTR Rgn_Attr;
|
||||||
|
|
||||||
if ((GdiGetHandleUserData((HGDIOBJ) hRgn, GDI_OBJECT_TYPE_REGION, (PVOID) &Rgn_Attr)) &&
|
if ((GdiGetHandleUserData((HGDIOBJ) hRgn, GDI_OBJECT_TYPE_REGION, (PVOID) &Rgn_Attr)) &&
|
||||||
|
@ -128,7 +127,6 @@ DeleteRegion( HRGN hRgn )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
return NtGdiDeleteObjectApp((HGDIOBJ) hRgn);
|
return NtGdiDeleteObjectApp((HGDIOBJ) hRgn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -581,8 +579,110 @@ INT
|
||||||
WINAPI
|
WINAPI
|
||||||
ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
||||||
{
|
{
|
||||||
/* FIXME some part need be done on user mode size */
|
INT Ret;
|
||||||
return NtGdiExtSelectClipRgn(hdc,hrgn, iMode);
|
HRGN NewRgn = NULL;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// Handle something other than a normal dc object.
|
||||||
|
if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
|
||||||
|
{
|
||||||
|
if (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC)
|
||||||
|
return MFDRV_ExtSelectClipRgn( hdc, );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PLDC pLDC = GdiGetLDC(hdc);
|
||||||
|
if ( pLDC )
|
||||||
|
{
|
||||||
|
if (pLDC->iType != LDC_EMFLDC || EMFDRV_ExtSelectClipRgn( hdc, ))
|
||||||
|
return NtGdiExtSelectClipRgn(hdc, );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SetLastError(ERROR_INVALID_HANDLE);
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if 0
|
||||||
|
if ( hrgn )
|
||||||
|
{
|
||||||
|
if ( GetLayout(hdc) & LAYOUT_RTL )
|
||||||
|
{
|
||||||
|
if ( MirrorRgnDC(hdc, hrgn, &NewRgn) )
|
||||||
|
{
|
||||||
|
if ( NewRgn ) hrgn = NewRgn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
/* Batch handles RGN_COPY only! */
|
||||||
|
if (iMode == RGN_COPY)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
PDC_ATTR pDc_Attr;
|
||||||
|
PRGN_ATTR pRgn_Attr = NULL;
|
||||||
|
|
||||||
|
/* hrgn can be NULL unless the RGN_COPY mode is specified. */
|
||||||
|
if (hrgn)
|
||||||
|
GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr);
|
||||||
|
|
||||||
|
if ( GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &pDc_Attr) &&
|
||||||
|
pDc_Attr )
|
||||||
|
{
|
||||||
|
PGDI_TABLE_ENTRY pEntry = GdiHandleTable + GDI_HANDLE_GET_INDEX(hdc);
|
||||||
|
PTEB pTeb = NtCurrentTeb();
|
||||||
|
|
||||||
|
if ( pTeb->Win32ThreadInfo != NULL &&
|
||||||
|
pTeb->GdiTebBatch.HDC == hdc &&
|
||||||
|
!(pDc_Attr->ulDirty_ & DC_DIBSECTION) &&
|
||||||
|
!(pEntry->Flags & GDI_ENTRY_VALIDATE_VIS) )
|
||||||
|
{
|
||||||
|
if (!hrgn ||
|
||||||
|
(hrgn && pRgn_Attr && pRgn_Attr->Flags <= SIMPLEREGION) )
|
||||||
|
{
|
||||||
|
if ((pTeb->GdiTebBatch.Offset + sizeof(GDIBSEXTSELCLPRGN)) <= GDIBATCHBUFSIZE)
|
||||||
|
{
|
||||||
|
PGDIBSEXTSELCLPRGN pgO = (PGDIBSEXTSELCLPRGN)(&pTeb->GdiTebBatch.Buffer[0] +
|
||||||
|
pTeb->GdiTebBatch.Offset);
|
||||||
|
pgO->gbHdr.Cmd = GdiBCExtSelClipRgn;
|
||||||
|
pgO->gbHdr.Size = sizeof(GDIBSEXTSELCLPRGN);
|
||||||
|
pgO->fnMode = iMode;
|
||||||
|
|
||||||
|
if ( hrgn && pRgn_Attr )
|
||||||
|
{
|
||||||
|
Ret = pRgn_Attr->Flags;
|
||||||
|
|
||||||
|
if ( pDc_Attr->VisRectRegion.Rect.left >= pRgn_Attr->Rect.right ||
|
||||||
|
pDc_Attr->VisRectRegion.Rect.top >= pRgn_Attr->Rect.bottom ||
|
||||||
|
pDc_Attr->VisRectRegion.Rect.right <= pRgn_Attr->Rect.left ||
|
||||||
|
pDc_Attr->VisRectRegion.Rect.bottom <= pRgn_Attr->Rect.top )
|
||||||
|
Ret = NULLREGION;
|
||||||
|
|
||||||
|
pgO->left = pRgn_Attr->Rect.left;
|
||||||
|
pgO->top = pRgn_Attr->Rect.top;
|
||||||
|
pgO->right = pRgn_Attr->Rect.right;
|
||||||
|
pgO->bottom = pRgn_Attr->Rect.bottom;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Ret = pDc_Attr->VisRectRegion.Flags;
|
||||||
|
pgO->fnMode |= 0x80000000; // Set no hrgn mode.
|
||||||
|
}
|
||||||
|
pTeb->GdiTebBatch.Offset += sizeof(GDIBSEXTSELCLPRGN);
|
||||||
|
pTeb->GdiBatchCount++;
|
||||||
|
if (pTeb->GdiBatchCount >= GDI_BatchLimit) NtGdiFlush();
|
||||||
|
if ( NewRgn ) DeleteObject(NewRgn);
|
||||||
|
return Ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
Ret = NtGdiExtSelectClipRgn(hdc, hrgn, iMode);
|
||||||
|
|
||||||
|
if ( NewRgn ) DeleteObject(NewRgn);
|
||||||
|
|
||||||
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -741,7 +741,7 @@ GetShortPathNameW (
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check for drive letter */
|
/* check for drive letter */
|
||||||
if (longpath[1] == ':' )
|
if (longpath[0] != '/' && longpath[1] == ':' )
|
||||||
{
|
{
|
||||||
tmpshortpath[0] = longpath[0];
|
tmpshortpath[0] = longpath[0];
|
||||||
tmpshortpath[1] = ':';
|
tmpshortpath[1] = ':';
|
||||||
|
@ -772,7 +772,7 @@ GetShortPathNameW (
|
||||||
tmplen = p - (longpath + lp);
|
tmplen = p - (longpath + lp);
|
||||||
lstrcpynW(tmpshortpath + sp, longpath + lp, tmplen + 1);
|
lstrcpynW(tmpshortpath + sp, longpath + lp, tmplen + 1);
|
||||||
/* Check, if the current element is a valid dos name */
|
/* Check, if the current element is a valid dos name */
|
||||||
if (tmplen <= 8+1+3+1)
|
if (tmplen <= 8+1+3)
|
||||||
{
|
{
|
||||||
BOOLEAN spaces;
|
BOOLEAN spaces;
|
||||||
memcpy(ustr_buf, longpath + lp, tmplen * sizeof(WCHAR));
|
memcpy(ustr_buf, longpath + lp, tmplen * sizeof(WCHAR));
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
<group>
|
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
<module name="msacm32" type="win32dll" baseaddress="${BASEADDRESS_MSACM32}" installbase="system32" installname="msacm32.dll" unicode="yes">
|
<module name="msacm32" type="win32dll" baseaddress="${BASEADDRESS_MSACM32}" installbase="system32" installname="msacm32.dll" unicode="yes">
|
||||||
<importlibrary definition="msacm32.spec" />
|
<importlibrary definition="msacm32.spec" />
|
||||||
<include base="msacm32">.</include>
|
<include base="msacm32">.</include>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
@ stub CallFunctionShim
|
@ stub CallFunctionShim
|
||||||
@ stub CloseCtrs
|
@ stub CloseCtrs
|
||||||
@ stub ClrCreateManagedInstance
|
@ stdcall ClrCreateManagedInstance(wstr ptr ptr)
|
||||||
@ stub CoEEShutDownCOM
|
@ stub CoEEShutDownCOM
|
||||||
@ stdcall CoInitializeCor(long)
|
@ stdcall CoInitializeCor(long)
|
||||||
@ stub CoInitializeEE
|
@ stub CoInitializeEE
|
||||||
|
|
|
@ -91,9 +91,9 @@ HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR pwszVersion, LPCWSTR pwszBuildFlavor
|
||||||
{
|
{
|
||||||
WCHAR *mono_exe;
|
WCHAR *mono_exe;
|
||||||
|
|
||||||
FIXME("(%s, %s, %s, %p, %d, %p, %p, %p): semi-stub!\n", debugstr_w(pwszVersion),
|
FIXME("(%s, %s, %s, %p, %d, %s, %s, %p): semi-stub!\n", debugstr_w(pwszVersion),
|
||||||
debugstr_w(pwszBuildFlavor), debugstr_w(pwszHostConfigFile), pReserved,
|
debugstr_w(pwszBuildFlavor), debugstr_w(pwszHostConfigFile), pReserved,
|
||||||
startupFlags, rclsid, riid, ppv);
|
startupFlags, debugstr_guid(rclsid), debugstr_guid(riid), ppv);
|
||||||
|
|
||||||
if (!(mono_exe = get_mono_exe()))
|
if (!(mono_exe = get_mono_exe()))
|
||||||
{
|
{
|
||||||
|
@ -144,6 +144,11 @@ __int32 WINAPI _CorExeMain(void)
|
||||||
PROCESS_INFORMATION pi;
|
PROCESS_INFORMATION pi;
|
||||||
WCHAR *mono_exe, *cmd_line;
|
WCHAR *mono_exe, *cmd_line;
|
||||||
DWORD size, exit_code;
|
DWORD size, exit_code;
|
||||||
|
static const WCHAR WINE_MONO_TRACE[]={'W','I','N','E','_','M','O','N','O','_','T','R','A','C','E',0};
|
||||||
|
static const WCHAR trace_switch_start[]={'"','-','-','t','r','a','c','e','=',0};
|
||||||
|
static const WCHAR trace_switch_end[]={'"',' ',0};
|
||||||
|
int trace_size;
|
||||||
|
WCHAR trace_setting[256];
|
||||||
|
|
||||||
if (!(mono_exe = get_mono_exe()))
|
if (!(mono_exe = get_mono_exe()))
|
||||||
{
|
{
|
||||||
|
@ -151,7 +156,13 @@ __int32 WINAPI _CorExeMain(void)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trace_size = GetEnvironmentVariableW(WINE_MONO_TRACE, trace_setting, sizeof(trace_setting)/sizeof(WCHAR));
|
||||||
|
|
||||||
size = (lstrlenW(mono_exe) + lstrlenW(GetCommandLineW()) + 1) * sizeof(WCHAR);
|
size = (lstrlenW(mono_exe) + lstrlenW(GetCommandLineW()) + 1) * sizeof(WCHAR);
|
||||||
|
|
||||||
|
if (trace_size)
|
||||||
|
size += (trace_size + lstrlenW(trace_switch_start) + lstrlenW(trace_switch_end)) * sizeof(WCHAR);
|
||||||
|
|
||||||
if (!(cmd_line = HeapAlloc(GetProcessHeap(), 0, size)))
|
if (!(cmd_line = HeapAlloc(GetProcessHeap(), 0, size)))
|
||||||
{
|
{
|
||||||
HeapFree(GetProcessHeap(), 0, mono_exe);
|
HeapFree(GetProcessHeap(), 0, mono_exe);
|
||||||
|
@ -160,6 +171,14 @@ __int32 WINAPI _CorExeMain(void)
|
||||||
|
|
||||||
lstrcpyW(cmd_line, mono_exe);
|
lstrcpyW(cmd_line, mono_exe);
|
||||||
HeapFree(GetProcessHeap(), 0, mono_exe);
|
HeapFree(GetProcessHeap(), 0, mono_exe);
|
||||||
|
|
||||||
|
if (trace_size)
|
||||||
|
{
|
||||||
|
lstrcatW(cmd_line, trace_switch_start);
|
||||||
|
lstrcatW(cmd_line, trace_setting);
|
||||||
|
lstrcatW(cmd_line, trace_switch_end);
|
||||||
|
}
|
||||||
|
|
||||||
lstrcatW(cmd_line, GetCommandLineW());
|
lstrcatW(cmd_line, GetCommandLineW());
|
||||||
|
|
||||||
TRACE("new command line: %s\n", debugstr_w(cmd_line));
|
TRACE("new command line: %s\n", debugstr_w(cmd_line));
|
||||||
|
@ -271,7 +290,7 @@ HRESULT WINAPI CoInitializeCor(DWORD fFlags)
|
||||||
|
|
||||||
HRESULT WINAPI GetAssemblyMDImport(LPCWSTR szFileName, REFIID riid, IUnknown **ppIUnk)
|
HRESULT WINAPI GetAssemblyMDImport(LPCWSTR szFileName, REFIID riid, IUnknown **ppIUnk)
|
||||||
{
|
{
|
||||||
FIXME("(%p %s, %p, %p): stub\n", szFileName, debugstr_w(szFileName), riid, *ppIUnk);
|
FIXME("(%p %s, %s, %p): stub\n", szFileName, debugstr_w(szFileName), debugstr_guid(riid), *ppIUnk);
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,6 +343,12 @@ HRESULT WINAPI CorBindToCurrentRuntime(LPCWSTR filename, REFCLSID rclsid, REFIID
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
STDAPI ClrCreateManagedInstance(LPCWSTR pTypeName, REFIID riid, void **ppObject)
|
||||||
|
{
|
||||||
|
FIXME("(%s,%s,%p)\n", debugstr_w(pTypeName), debugstr_guid(riid), ppObject);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags, DWORD* pOutFlags)
|
BOOL WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags, DWORD* pOutFlags)
|
||||||
{
|
{
|
||||||
FIXME("(%s, 0x%X, %p): stub\n", debugstr_w(filename), inFlags, pOutFlags);
|
FIXME("(%s, 0x%X, %p): stub\n", debugstr_w(filename), inFlags, pOutFlags);
|
||||||
|
@ -338,7 +363,7 @@ BOOL WINAPI StrongNameSignatureVerificationEx(LPCWSTR filename, BOOL forceVerifi
|
||||||
|
|
||||||
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
|
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
|
||||||
{
|
{
|
||||||
FIXME("(%p, %p, %p): stub\n", rclsid, riid, ppv);
|
FIXME("(%s, %s, %p): stub\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
|
||||||
if(!ppv)
|
if(!ppv)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
|
|
@ -655,7 +655,7 @@ static HRESULT WINAPI ActiveIMMApp_Deactivate(IActiveIMMApp* This)
|
||||||
static HRESULT WINAPI ActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This,
|
static HRESULT WINAPI ActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This,
|
||||||
HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult)
|
HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult)
|
||||||
{
|
{
|
||||||
FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam);
|
//FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
/* FILE: dll/win32/netcfgx/lang/cs-CZ.rc
|
||||||
|
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||||
|
* UPDATED: 2010-03-14
|
||||||
|
* THANKS TO: potapnik, who translated part of this file
|
||||||
|
*/
|
||||||
|
|
||||||
|
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
IDD_TCPIP_BASIC_DLG DIALOGEX DISCARDABLE 0, 0, 246, 228
|
IDD_TCPIP_BASIC_DLG DIALOGEX DISCARDABLE 0, 0, 246, 228
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||||
CAPTION "Obecné nastavení"
|
CAPTION "Obecné nastavení"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "Konfigurace IP adres mùže probìhnout automaticky, pokud to Vaše sí<73> dovoluje. V opaèném pøípadì kontaktujte správce sítì pro správné nastavení.", -1, 9, 9, 228, 27
|
LTEXT "Konfigurace IP adres může proběhnout automaticky, pokud to síť dovoluje. V opačném případě kontaktujte správce sítě pro správné nastavení.", -1, 9, 9, 228, 27
|
||||||
CONTROL "Získat IP adresu automaticky", IDC_USEDHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP, 14, 43, 210, 12
|
CONTROL "Získat IP adresu automaticky", IDC_USEDHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP, 14, 43, 210, 12
|
||||||
GROUPBOX "", -1, 9, 61, 228, 70, BS_GROUPBOX
|
GROUPBOX "", -1, 9, 61, 228, 70, BS_GROUPBOX
|
||||||
CONTROL "&Použít následující IP adresu:", IDC_NODHCP, "BUTTON", BS_AUTORADIOBUTTON, 14, 59, 105, 12
|
CONTROL "&Použít následující IP adresu:", IDC_NODHCP, "BUTTON", BS_AUTORADIOBUTTON, 14, 59, 105, 12
|
||||||
|
@ -28,43 +33,43 @@ END
|
||||||
|
|
||||||
IDD_TCPIP_ALTCF_DLG DIALOGEX DISCARDABLE 0, 0, 246, 228
|
IDD_TCPIP_ALTCF_DLG DIALOGEX DISCARDABLE 0, 0, 246, 228
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
||||||
CAPTION "Alternate Configuration"
|
CAPTION "Alternativní konfigurace"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "If this computer is used on more than one network, enter the alternate IP settings below", -1, 9, 9, 220, 20
|
LTEXT "Pokud je tento počítač používán ve více než jedné síti, lze zadat alternativní nastavení níže", -1, 9, 9, 220, 20
|
||||||
CONTROL "Au&tomatic private IP address", IDC_USEDHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 14, 40, 210, 12
|
CONTROL "Au&tomatická privátní IP adresa", IDC_USEDHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 14, 40, 210, 12
|
||||||
GROUPBOX "", -1, 9, 55, 228, 80, BS_GROUPBOX
|
GROUPBOX "", -1, 9, 55, 228, 80, BS_GROUPBOX
|
||||||
CONTROL "U&ser configured", IDC_NODHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 14, 55, 70, 12
|
CONTROL "&Uživatelské nastavení", IDC_NODHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 14, 55, 70, 12
|
||||||
LTEXT "&IP address:", -1, 14, 75, 135, 8
|
LTEXT "&IP adresa:", -1, 14, 75, 135, 8
|
||||||
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 150, 75, 80, 12
|
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 150, 75, 80, 12
|
||||||
LTEXT "S&ubnet mask:", -1, 14, 95, 135, 8
|
LTEXT "&Maska podsítě:", -1, 14, 95, 135, 8
|
||||||
CONTROL "",IDC_SUBNETMASK,"SysIPAddress32",WS_TABSTOP, 150, 95, 80, 12
|
CONTROL "",IDC_SUBNETMASK,"SysIPAddress32",WS_TABSTOP, 150, 95, 80, 12
|
||||||
LTEXT "&Default gateway:", -1, 14, 115, 135, 8
|
LTEXT "&Výchozí brána:", -1, 14, 115, 135, 8
|
||||||
CONTROL "",IDC_DEFGATEWAY,"SysIPAddress32",WS_TABSTOP, 150, 115, 80, 12
|
CONTROL "",IDC_DEFGATEWAY,"SysIPAddress32",WS_TABSTOP, 150, 115, 80, 12
|
||||||
LTEXT "&Preferred DNS server:", -1, 14, 150, 135, 8
|
LTEXT "&Preferovaný DNS server:", -1, 14, 150, 135, 8
|
||||||
CONTROL "",IDC_DNS1,"SysIPAddress32",WS_TABSTOP, 150, 150, 80, 12
|
CONTROL "",IDC_DNS1,"SysIPAddress32",WS_TABSTOP, 150, 150, 80, 12
|
||||||
LTEXT "&Alternate DNS server:", -1, 14, 165, 180, 8
|
LTEXT "&Alternativní DNS server:", -1, 14, 165, 180, 8
|
||||||
CONTROL "",IDC_DNS2,"SysIPAddress32",WS_TABSTOP, 150, 165, 80, 12
|
CONTROL "",IDC_DNS2,"SysIPAddress32",WS_TABSTOP, 150, 165, 80, 12
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIP_ADVIP_DLG DIALOGEX DISCARDABLE 0, 0, 247, 247
|
IDD_TCPIP_ADVIP_DLG DIALOGEX DISCARDABLE 0, 0, 247, 247
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
||||||
CAPTION "IP Settings"
|
CAPTION "IP nastavení"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
GROUPBOX "IP addresses", -1, 5, 5, 240, 90
|
GROUPBOX "IP adresy", -1, 5, 5, 240, 90
|
||||||
CONTROL "", IDC_IPLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 15, 210, 55
|
CONTROL "", IDC_IPLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 15, 210, 55
|
||||||
PUSHBUTTON "Add...", IDC_IPADD, 60, 75, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Přidat...", IDC_IPADD, 60, 75, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Edit...", IDC_IPMOD, 120, 75, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Upravit...", IDC_IPMOD, 120, 75, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remove", IDC_IPDEL, 180, 75, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Odebrat", IDC_IPDEL, 180, 75, 50, 14, WS_TABSTOP
|
||||||
GROUPBOX "Default gateways:", -1, 5, 100, 240, 90
|
GROUPBOX "Výchozí brány:", -1, 5, 100, 240, 90
|
||||||
CONTROL "", IDC_GWLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 110, 210, 55
|
CONTROL "", IDC_GWLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 110, 210, 55
|
||||||
PUSHBUTTON "Add...", IDC_GWADD, 60, 170, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Přidat...", IDC_GWADD, 60, 170, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Edit...", IDC_GWMOD, 120, 170, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Upravit...", IDC_GWMOD, 120, 170, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remove", IDC_GWDEL, 180, 170, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Odebrat", IDC_GWDEL, 180, 170, 50, 14, WS_TABSTOP
|
||||||
GROUPBOX "", -1, 5, 200, 240, 30
|
GROUPBOX "", -1, 5, 200, 240, 30
|
||||||
CHECKBOX "Automatic metric", IDC_AUTOMETRIC, 9, 200, 90, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Automatická metrika", IDC_AUTOMETRIC, 9, 200, 90, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
LTEXT "Interface metric:", -1, 15, 215, 90, 12
|
LTEXT "Metrika rozhraní:", -1, 15, 215, 90, 12
|
||||||
EDITTEXT IDC_METRIC, 110, 212, 50, 12, WS_TABSTOP | ES_NUMBER
|
EDITTEXT IDC_METRIC, 110, 212, 50, 12, WS_TABSTOP | ES_NUMBER
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -74,158 +79,158 @@ CAPTION "DNS"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LISTBOX IDC_DNSADDRLIST, 5, 15, 180, 60, LBS_NOTIFY
|
LISTBOX IDC_DNSADDRLIST, 5, 15, 180, 60, LBS_NOTIFY
|
||||||
LTEXT "D&NS server addresses, in order of use:", -1, 5, 5, 180, 12
|
LTEXT "&Adresy DNS serverů v pořadí využití:", -1, 5, 5, 180, 12
|
||||||
PUSHBUTTON "Up", IDC_DNSADDRUP, 190, 30, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Nahoru", IDC_DNSADDRUP, 190, 30, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Down", IDC_DNSADDRDOWN, 190, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Dolů", IDC_DNSADDRDOWN, 190, 50, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "&Add...", IDC_DNSADDRADD, 30, 70, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Přidat...", IDC_DNSADDRADD, 30, 70, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "&Edit...", IDC_DNSADDRMOD, 100, 70, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Upravit...", IDC_DNSADDRMOD, 100, 70, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remo&ve", IDC_DNSADDRDEL, 170, 70, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Odebrat", IDC_DNSADDRDEL, 170, 70, 50, 14, WS_TABSTOP
|
||||||
LTEXT "The following three settings are applied to all connections with TCP/IP enabled. For resolution of unqualified names:", -1, 5, 90, 220, 24
|
LTEXT "Následující tři nastavení jsou aplikována na všechna připojení s povoleným TCP/IP. Při rezoluci nekvalifikovaných jmen:", -1, 5, 90, 220, 24
|
||||||
CONTROL "Append &primary and connection specific DNS suffixes", IDC_PRIMSUFFIX, "BUTTON", BS_AUTORADIOBUTTON, 5, 110, 160, 12
|
CONTROL "Připojit p&rimární a připojením dané DNS přípony", IDC_PRIMSUFFIX, "BUTTON", BS_AUTORADIOBUTTON, 5, 110, 160, 12
|
||||||
CHECKBOX "Append parent suffi&xes of the primary DNS suffix", IDC_TOPPRIMSUFFIX, 15, 125, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Připojit rodičovské přípony primární DNS přípony", IDC_TOPPRIMSUFFIX, 15, 125, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
CONTROL "Append t&hese DNS suffixes(in order):", IDC_SELSUFFIX, "BUTTON", BS_AUTORADIOBUTTON, 5, 140, 190, 12
|
CONTROL "Připojit &tyto DNS přípony (v tomto pořadí):", IDC_SELSUFFIX, "BUTTON", BS_AUTORADIOBUTTON, 5, 140, 190, 12
|
||||||
LISTBOX IDC_DNSSUFFIXLIST, 5, 155, 180, 60, LBS_NOTIFY
|
LISTBOX IDC_DNSSUFFIXLIST, 5, 155, 180, 60, LBS_NOTIFY
|
||||||
PUSHBUTTON "Up", IDC_DNSSUFFIXUP, 190, 170, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Nahoru", IDC_DNSSUFFIXUP, 190, 170, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Down", IDC_DNSSUFFIXDOWN, 190, 190, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Dolů", IDC_DNSSUFFIXDOWN, 190, 190, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "&Add...", IDC_DNSSUFFIXADD, 30, 210, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Přidat...", IDC_DNSSUFFIXADD, 30, 210, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "&Edit...", IDC_DNSSUFFIXMOD, 100, 210, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Upravit...", IDC_DNSSUFFIXMOD, 100, 210, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remo&ve", IDC_DNSSUFFIXDEL, 170, 210, 50, 14, WS_TABSTOP
|
PUSHBUTTON "&Odebrat", IDC_DNSSUFFIXDEL, 170, 210, 50, 14, WS_TABSTOP
|
||||||
LTEXT "DNS &suffix for this connection:", -1, 5, 225, 110, 14
|
LTEXT "DNS přípo&na tohoto připojení:", -1, 5, 225, 110, 14
|
||||||
EDITTEXT IDC_SUFFIX, 120, 225, 100, 12, WS_TABSTOP
|
EDITTEXT IDC_SUFFIX, 120, 225, 100, 12, WS_TABSTOP
|
||||||
CHECKBOX "&Register this connection's addresses in DNS", IDC_REGSUFFIX, 15, 240, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Registrovat &adresy tohoto připojení v DNS", IDC_REGSUFFIX, 15, 240, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
CHECKBOX "&Use this connection's DNS suffix in DNS registration", IDC_USESUFFIX, 15, 255, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "P&oužít DNS příponu tohoto připojení při DNS registraci", IDC_USESUFFIX, 15, 255, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIP_ADVOPT_DLG DIALOGEX DISCARDABLE 0, 0, 247, 247
|
IDD_TCPIP_ADVOPT_DLG DIALOGEX DISCARDABLE 0, 0, 247, 247
|
||||||
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION
|
||||||
CAPTION "Options"
|
CAPTION "Volby"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LISTBOX IDC_OPTLIST, 5, 30, 230, 70
|
LISTBOX IDC_OPTLIST, 5, 30, 230, 70
|
||||||
LTEXT "&Optional settings", -1, 5, 15, 130, 12
|
LTEXT "&Volitelná nastavení", -1, 5, 15, 130, 12
|
||||||
PUSHBUTTON "&Properties", IDC_OPTPROP, 160, 100, 70, 14, WS_TABSTOP
|
PUSHBUTTON "&Podrobnosti", IDC_OPTPROP, 160, 100, 70, 14, WS_TABSTOP
|
||||||
GROUPBOX "Description:", -1, 5, 120, 240, 70
|
GROUPBOX "Popis:", -1, 5, 120, 240, 70
|
||||||
LTEXT "", IDC_OPTDESC, 15, 130, 220, 33
|
LTEXT "", IDC_OPTDESC, 15, 130, 220, 33
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIPADDIP_DLG DIALOGEX DISCARDABLE 0, 0, 200, 70
|
IDD_TCPIPADDIP_DLG DIALOGEX DISCARDABLE 0, 0, 200, 70
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TCP/IP Address"
|
CAPTION "TCP/IP adresa"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 100, 15, 80, 12
|
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 100, 15, 80, 12
|
||||||
LTEXT "IP address:", -1, 5, 15, 70, 12
|
LTEXT "IP adresa:", -1, 5, 15, 70, 12
|
||||||
LTEXT "Subnet mask:", -1, 5, 30, 70, 12
|
LTEXT "Maska podsítě:", -1, 5, 30, 70, 12
|
||||||
CONTROL "",IDC_SUBNETMASK,"SysIPAddress32", WS_TABSTOP, 100, 30, 80, 12
|
CONTROL "",IDC_SUBNETMASK,"SysIPAddress32", WS_TABSTOP, 100, 30, 80, 12
|
||||||
PUSHBUTTON "", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "OK", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIPGW_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
IDD_TCPIPGW_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TCP/IP Gateway Address"
|
CAPTION "TCP/IP adresa brány"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 100, 15, 80, 12
|
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 100, 15, 80, 12
|
||||||
LTEXT "Gateway:", -1, 5, 15, 70, 12
|
LTEXT "Brána:", -1, 5, 15, 70, 12
|
||||||
CHECKBOX "Automatic metric", IDC_USEMETRIC, 15, 30, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Automatická metrika", IDC_USEMETRIC, 15, 30, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
LTEXT "&Metric:", IDC_METRICTXT, 5, 45, 45, 12, WS_DISABLED
|
LTEXT "&Metrika:", IDC_METRICTXT, 5, 45, 45, 12, WS_DISABLED
|
||||||
EDITTEXT IDC_METRIC, 100, 45, 50, 12, WS_TABSTOP | ES_NUMBER | WS_DISABLED
|
EDITTEXT IDC_METRIC, 100, 45, 50, 12, WS_TABSTOP | ES_NUMBER | WS_DISABLED
|
||||||
PUSHBUTTON "", IDC_OK, 50, 60, 50, 14, WS_TABSTOP
|
PUSHBUTTON "", IDC_OK, 50, 60, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 110, 60, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 110, 60, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIPDNS_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
IDD_TCPIPDNS_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TCP/IP DNS Server"
|
CAPTION "TCP/IP DNS server"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 5, 25, 80, 12
|
CONTROL "",IDC_IPADDR,"SysIPAddress32",WS_TABSTOP, 5, 25, 80, 12
|
||||||
LTEXT "DNS server:", -1, 5, 10, 120, 12
|
LTEXT "DNS server:", -1, 5, 10, 120, 12
|
||||||
PUSHBUTTON "", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIPSUFFIX_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
IDD_TCPIPSUFFIX_DLG DIALOGEX DISCARDABLE 0, 0, 200, 80
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TCP/IP Domain Suffix"
|
CAPTION "TCP/IP doménová přípona"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
EDITTEXT IDC_SUFFIX, 5, 25, 190, 12, WS_TABSTOP
|
EDITTEXT IDC_SUFFIX, 5, 25, 190, 12, WS_TABSTOP
|
||||||
LTEXT "Domain suffix:", -1, 5, 10, 120, 12
|
LTEXT "Doménová přípona:", -1, 5, 10, 120, 12
|
||||||
PUSHBUTTON "", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "", IDC_OK, 50, 50, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 110, 50, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIP_FILTER_DLG DIALOGEX DISCARDABLE 0, 0, 305, 220
|
IDD_TCPIP_FILTER_DLG DIALOGEX DISCARDABLE 0, 0, 305, 220
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TCP/IP Filtering"
|
CAPTION "TCP/IP filtrování"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
CHECKBOX "Enable TCP/IP-Filtering (All adapters)", IDC_USE_FILTER, 15, 5, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Zapnout filtrování TCP/IP (všechny adaptéry)", IDC_USE_FILTER, 15, 5, 190, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
GROUPBOX "", -1, 5, 30, 90, 150
|
GROUPBOX "", -1, 5, 30, 90, 150
|
||||||
CONTROL "Permit All", IDC_TCP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 30, 70, 12
|
CONTROL "Povolit vše", IDC_TCP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 30, 70, 12
|
||||||
CONTROL "Permit Only", IDC_TCP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 44, 70, 12
|
CONTROL "Povolit pouze", IDC_TCP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 44, 70, 12
|
||||||
CONTROL "", IDC_TCP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 11, 62, 72, 75
|
CONTROL "", IDC_TCP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 11, 62, 72, 75
|
||||||
PUSHBUTTON "Add", IDC_TCP_ADD, 15, 141, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Přidat", IDC_TCP_ADD, 15, 141, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remove", IDC_TCP_DEL, 15, 161, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Odebrat", IDC_TCP_DEL, 15, 161, 50, 14, WS_TABSTOP
|
||||||
GROUPBOX "", -1, 105, 30, 90, 150
|
GROUPBOX "", -1, 105, 30, 90, 150
|
||||||
CONTROL "Permit All", IDC_UDP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 115, 30, 70, 12
|
CONTROL "Povolit vše", IDC_UDP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 115, 30, 70, 12
|
||||||
CONTROL "Permit Only", IDC_UDP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 115, 44, 70, 12
|
CONTROL "Povolit pouze", IDC_UDP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 115, 44, 70, 12
|
||||||
CONTROL "", IDC_UDP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 111, 62, 72, 75
|
CONTROL "", IDC_UDP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 111, 62, 72, 75
|
||||||
PUSHBUTTON "Add", IDC_UDP_ADD, 115, 141, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Přidat", IDC_UDP_ADD, 115, 141, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remove", IDC_UDP_DEL, 115, 161, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Odebrat", IDC_UDP_DEL, 115, 161, 50, 14, WS_TABSTOP
|
||||||
GROUPBOX "", -1, 205, 30, 90, 150
|
GROUPBOX "", -1, 205, 30, 90, 150
|
||||||
CONTROL "Permit All", IDC_IP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 215, 30, 70, 12
|
CONTROL "Povolit vše", IDC_IP_ALLOW_ALL, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 215, 30, 70, 12
|
||||||
CONTROL "Permit Only", IDC_IP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 215, 44, 70, 12
|
CONTROL "Povolit pouze", IDC_IP_RESTRICT, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 215, 44, 70, 12
|
||||||
CONTROL "", IDC_IP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 211, 62, 72, 75
|
CONTROL "", IDC_IP_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 211, 62, 72, 75
|
||||||
PUSHBUTTON "Add", IDC_IP_ADD, 215, 141, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Přidat", IDC_IP_ADD, 215, 141, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Remove", IDC_IP_DEL, 215, 161, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Odebrat", IDC_IP_DEL, 215, 161, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "OK", IDC_OK, 150, 190, 50, 14, WS_TABSTOP
|
PUSHBUTTON "OK", IDC_OK, 150, 190, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 210, 190, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 210, 190, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_TCPIP_PORT_DLG DIALOGEX DISCARDABLE 0, 0, 200, 60
|
IDD_TCPIP_PORT_DLG DIALOGEX DISCARDABLE 0, 0, 200, 60
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Add Filter"
|
CAPTION "Přidat filtr"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
EDITTEXT IDC_PORT_VAL, 5, 30, 70, 12, WS_TABSTOP | ES_NUMBER
|
EDITTEXT IDC_PORT_VAL, 5, 30, 70, 12, WS_TABSTOP | ES_NUMBER
|
||||||
LTEXT "", IDC_PORT_DESC, 5, 15, 40, 12
|
LTEXT "", IDC_PORT_DESC, 5, 15, 40, 12
|
||||||
PUSHBUTTON "OK", IDC_OK, 120, 15, 50, 14, WS_TABSTOP
|
PUSHBUTTON "OK", IDC_OK, 120, 15, 50, 14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
|
PUSHBUTTON "Storno", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_NET_CONNECT "Network connection"
|
IDS_NET_CONNECT "Síťové připojení"
|
||||||
IDS_NO_IPADDR_SET "The adapter requires at least one IP address. Please enter one."
|
IDS_NO_IPADDR_SET "Adaptér vyžaduje zadání alespoň jedné IP adresy."
|
||||||
IDS_NO_SUBMASK_SET "You have entered an address that is missing its subnet mask. Please add a subnet mask."
|
IDS_NO_SUBMASK_SET "K zadané adrese je nutné doplnit masku podsítě."
|
||||||
IDS_TCPFILTERDESC "TCP/IP filtering allows you to control the type of TCP/IP network traffic that reaches your computer."
|
IDS_TCPFILTERDESC "TCP/IP filtrování dovoluje kontrolovat typ TCP/IP síťového provozu, který se dostane k tomuto počítači."
|
||||||
IDS_TCPFILTER "TCP/IP Filtering"
|
IDS_TCPFILTER "TCP/IP filtrování"
|
||||||
IDS_IPADDR "IP address"
|
IDS_IPADDR "IP adresa"
|
||||||
IDS_SUBMASK "Subnet mask"
|
IDS_SUBMASK "Maska podsítě"
|
||||||
IDS_GATEWAY "Gateway"
|
IDS_GATEWAY "Brána"
|
||||||
IDS_METRIC "Metric"
|
IDS_METRIC "Metrika"
|
||||||
IDS_DHCPACTIVE "DHCP Enabled"
|
IDS_DHCPACTIVE "DHCP zapnuto"
|
||||||
IDS_AUTOMATIC "Automatic"
|
IDS_AUTOMATIC "Automaticky"
|
||||||
IDS_NOITEMSEL "You have not selected an item. Select one first."
|
IDS_NOITEMSEL "Nebyla vybrána žádná položka."
|
||||||
IDS_TCPIP "ReactOS-TCP/IP"
|
IDS_TCPIP "ReactOS-TCP/IP"
|
||||||
IDS_ADD "Add"
|
IDS_ADD "Přidat"
|
||||||
IDS_MOD "OK"
|
IDS_MOD "OK"
|
||||||
IDS_TCP_PORTS "TCP Ports"
|
IDS_TCP_PORTS "TCP porty"
|
||||||
IDS_UDP_PORTS "UDP Ports"
|
IDS_UDP_PORTS "UDP porty"
|
||||||
IDS_IP_PROTO "IP protocols"
|
IDS_IP_PROTO "IP protokoly"
|
||||||
IDS_PORT_RANGE "Port numbers must be greater than 0 and less than 65536. Please enter a number within this range."
|
IDS_PORT_RANGE "Čísla portů musí být zadána vyšší než 0 a nižší než 65536."
|
||||||
IDS_PROT_RANGE "Protocol numbers must be greater than 0 and less than 256. Please enter a number within this range."
|
IDS_PROT_RANGE "Čísla protokolů musí být zadána vyšší než 0 a nižší než 256."
|
||||||
IDS_DUP_NUMBER "The number you are trying to add is already in the list. Please enter a different number."
|
IDS_DUP_NUMBER "Přidávané číslo se už nachází v seznamu. Je nutné zadat jiné číslo."
|
||||||
IDS_DISABLE_FILTER "Disabling this global TCP/IP setting will affect all adapters."
|
IDS_DISABLE_FILTER "Vypnutí tohoto globálního nastavení TCP/IP ovlivní všechny adaptéry."
|
||||||
IDS_NO_SUFFIX "The current setting of search method requires at least one DNS suffix. Please enter one or change the setting."
|
IDS_NO_SUFFIX "Současné nastavení metod vyhledávání vyžaduje alespoň jednu DNS příponu. Je nutné ji zadat nebo změnit nastavení."
|
||||||
IDS_DOMAIN_SUFFIX "Domain suffix is not a valid suffix."
|
IDS_DOMAIN_SUFFIX "Zadaná doménová přípona není platná."
|
||||||
IDS_DNS_SUFFIX "The DNS domain name ""%s"" is not a valid DNS name."
|
IDS_DNS_SUFFIX "DNS doménové jméno ""%s"" není platné."
|
||||||
IDS_DUP_SUFFIX "The DNS suffix is already on the list."
|
IDS_DUP_SUFFIX "DNS přípona se už nachází v seznamu."
|
||||||
IDS_DUP_IPADDR "The IP address is already on the list."
|
IDS_DUP_IPADDR "IP adresa se už nachází v seznamu."
|
||||||
IDS_DUP_GW "The default gateway is already on the list."
|
IDS_DUP_GW "Výchozí brána se už nachází v seznamu."
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* FILE: dll/win32/netid/lang/cs-CZ.rc
|
/* FILE: dll/win32/netid/lang/cs-CZ.rc
|
||||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||||
* UPDATED: 2008-06-26
|
* UPDATED: 2010-03-14
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||||
|
@ -18,10 +18,9 @@ BEGIN
|
||||||
LTEXT "(Implicitní)", IDC_COMPUTERNAME, 98, 68, 144, 11
|
LTEXT "(Implicitní)", IDC_COMPUTERNAME, 98, 68, 144, 11
|
||||||
LTEXT "Pracovní skupina:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9
|
LTEXT "Pracovní skupina:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9
|
||||||
LTEXT "(prázdné)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9
|
LTEXT "(prázdné)", IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 9
|
||||||
LTEXT "Pokud chcete použít Prùvodce sí<73>ovou identifikací k pøipojení se k doménì a vytvoøení místního uživatele, kliknìte na ""Sí<53>ová ID"".", IDC_STATIC, 6, 113, 172, 24
|
LTEXT "Kliknutím na ""Síťová ID"" lze použít Průvodce síťovou identifikací k připojení se k doméně a vytvoření místního uživatele.", IDC_STATIC, 6, 113, 172, 24
|
||||||
//musi zustat jako sitova ID, jinak se nevejde na tlacitko!
|
PUSHBUTTON "&Síťová ID...", IDC_NETWORK_ID, 190, 114, 58, 15 //FIXME nic vic nez "sitova ID" se nevejde na tlacitko!
|
||||||
PUSHBUTTON "&Sí<53>ová ID...", IDC_NETWORK_ID, 190, 114, 58, 15
|
LTEXT "Kliknutím na ""Změnit"" lze přejmenovat tento počítač nebo se připojit k doméně.", IDC_STATIC, 6, 149, 170, 17
|
||||||
LTEXT "Pokud chcete pøejmenovat tento poèítaè nebo se pøipojit k doménì, kliknìte na ""Zmìnit"".", IDC_STATIC, 6, 149, 170, 17
|
|
||||||
PUSHBUTTON "&Změnit...",IDC_NETWORK_PROPERTY, 190, 149, 58, 15
|
PUSHBUTTON "&Změnit...",IDC_NETWORK_PROPERTY, 190, 149, 58, 15
|
||||||
LTEXT "Poznámka: Identifikaci tohoto počítače mohou změnit pouze administrátoři.", IDC_STATIC, 6, 179, 300, 9
|
LTEXT "Poznámka: Identifikaci tohoto počítače mohou změnit pouze administrátoři.", IDC_STATIC, 6, 179, 300, 9
|
||||||
END
|
END
|
||||||
|
@ -31,7 +30,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_CAPTIO
|
||||||
CAPTION "Změna názvu počítače"
|
CAPTION "Změna názvu počítače"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "(message goes here)", 1017, 7, 5, 218, 30
|
LTEXT "(sem patří zpráva)", 1017, 7, 5, 218, 30
|
||||||
LTEXT "&Název počítače:", -1, 7, 41, 219, 8
|
LTEXT "&Název počítače:", -1, 7, 41, 219, 8
|
||||||
EDITTEXT 1002, 7, 53, 218, 14, ES_AUTOHSCROLL | ES_OEMCONVERT
|
EDITTEXT 1002, 7, 53, 218, 14, ES_AUTOHSCROLL | ES_OEMCONVERT
|
||||||
LTEXT "Úplný název počítače:", 1016, 7, 72, 218, 10
|
LTEXT "Úplný název počítače:", 1016, 7, 72, 218, 10
|
||||||
|
@ -41,7 +40,7 @@ BEGIN
|
||||||
AUTORADIOBUTTON "&Domény:", 1008, 17, 132, 192, 10, WS_GROUP
|
AUTORADIOBUTTON "&Domény:", 1008, 17, 132, 192, 10, WS_GROUP
|
||||||
AUTORADIOBUTTON "&Pracovní skupiny:", 1004, 17, 161, 191, 10
|
AUTORADIOBUTTON "&Pracovní skupiny:", 1004, 17, 161, 191, 10
|
||||||
EDITTEXT 116, 28, 144, 181, 14, ES_AUTOHSCROLL | WS_GROUP
|
EDITTEXT 116, 28, 144, 181, 14, ES_AUTOHSCROLL | WS_GROUP
|
||||||
PUSHBUTTON "Najít moj&i doménu", 1010, 7, 203, 109, 14, NOT WS_VISIBLE | WS_DISABLED
|
PUSHBUTTON "Najít &moji doménu", 1010, 7, 203, 109, 14, NOT WS_VISIBLE | WS_DISABLED
|
||||||
EDITTEXT 1007, 28, 172, 181, 14, ES_UPPERCASE | ES_AUTOHSCROLL | ES_OEMCONVERT
|
EDITTEXT 1007, 28, 172, 181, 14, ES_UPPERCASE | ES_AUTOHSCROLL | ES_OEMCONVERT
|
||||||
DEFPUSHBUTTON "OK", 1, 121, 203, 50, 14, WS_GROUP
|
DEFPUSHBUTTON "OK", 1, 121, 203, 50, 14, WS_GROUP
|
||||||
PUSHBUTTON "Storno", 2, 176, 203, 50, 14
|
PUSHBUTTON "Storno", 2, 176, 203, 50, 14
|
||||||
|
@ -65,7 +64,7 @@ END
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
1 "* Neznámé *"
|
1 "* Neznámé *"
|
||||||
2 "WORKGROUP"
|
2 "SKUPINA"
|
||||||
3 "Při pokusu o načtení informací o členství v doméně nastala následující chyba:"
|
3 "Při pokusu o načtení informací o členství v doméně nastala následující chyba:"
|
||||||
4 "Změna názvu počítače"
|
4 "Změna názvu počítače"
|
||||||
5 "Pracovní skupina:"
|
5 "Pracovní skupina:"
|
||||||
|
@ -73,12 +72,12 @@ BEGIN
|
||||||
22 "Vítejte v pracovní skupině %1."
|
22 "Vítejte v pracovní skupině %1."
|
||||||
23 "Vítejte v doméně %1."
|
23 "Vítejte v doméně %1."
|
||||||
24 "Aby se změny mohly projevit, musí být počítač restartován."
|
24 "Aby se změny mohly projevit, musí být počítač restartován."
|
||||||
25 "You can change the name and the membership of this computer. Changes may affect access to network resources."
|
25 "Lze změnit název a členství tohoto počítače. Změny mohou mít vliv na přístup k síťovým prostředkům."
|
||||||
1021 "Poznámka: Identifikaci tohoto počítače mohou změnit pouze administrátoři."
|
1021 "Poznámka: Identifikaci tohoto počítače mohou změnit pouze administrátoři."
|
||||||
1022 "Poznámka: Identifikace počítače nemůže být změněna z následujících důvodů:"
|
1022 "Poznámka: Identifikace počítače nemůže být změněna z následujících důvodů:"
|
||||||
1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \\ | ; : ' \" , . < > / and ?"
|
1030 "Nový název počítače ""%s"" obsahuje nepovolené znaky. Mezi nepovolené znaky patří ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \\ | ; : ' \" , . < > / ?"
|
||||||
3210 "&Detaily >>"
|
3210 "&Detaily >>"
|
||||||
3220 "<< &Detaily"
|
3220 "<< &Detaily"
|
||||||
4000 "Information"
|
4000 "Informace"
|
||||||
4001 "Can't set new a computer name!"
|
4001 "Nelze nastavit nový název počítače!"
|
||||||
END
|
END
|
||||||
|
|
|
@ -67,13 +67,13 @@ BEGIN
|
||||||
6 "Dominio:"
|
6 "Dominio:"
|
||||||
22 "Benvenuto al gruppo di lavoro %1."
|
22 "Benvenuto al gruppo di lavoro %1."
|
||||||
23 "Benvenuto al dominio %1."
|
23 "Benvenuto al dominio %1."
|
||||||
24 "Il computer deve essre riavviato per rendere operative queste modifiche."
|
24 "Il computer deve essere riavviato per rendere operative queste modifiche."
|
||||||
25 "You can change the name and the membership of this computer. Changes may affect access to network resources."
|
25 "Potete modificare il nome e il dominio di questo computer. Le modifiche potrebbero influenzare l'accesso alle risorse di rete."
|
||||||
1021 "Nota: Solo gli Amministratori possono cambiare l'identificazione di questo computer."
|
1021 "Nota: Solo gli Amministratori possono cambiare l'identificazione di questo computer."
|
||||||
1022 "Nota: L'identificazione di questo computer non può essere cambiata perchè:"
|
1022 "Nota: L'identificazione di questo computer non può essere cambiata perchè:"
|
||||||
1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \\ | ; : ' \" , . < > / and ?"
|
1030 "Il nuovo nome del computer ""%s"" contiene dei caratteri non permessi. I caratteri vietati sono `? ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \\ | ; : ' \" , . < > / "
|
||||||
3210 "&Dettagli >>"
|
3210 "&Dettagli >>"
|
||||||
3220 "<< &Dettagli"
|
3220 "<< &Dettagli"
|
||||||
4000 "Information"
|
4000 "Informazioni"
|
||||||
4001 "Can't set new a computer name!"
|
4001 "Impossibile assegnare il nuovo nome del computer!"
|
||||||
END
|
END
|
||||||
|
|
|
@ -16,12 +16,12 @@ BEGIN
|
||||||
GROUPBOX "Popis", -1, 9, 153, 230, 46, BS_GROUPBOX
|
GROUPBOX "Popis", -1, 9, 153, 230, 46, BS_GROUPBOX
|
||||||
LTEXT "Tak tady bude popis komponenty...", IDC_DESCRIPTION, 15, 165, 217, 28, WS_GROUP
|
LTEXT "Tak tady bude popis komponenty...", IDC_DESCRIPTION, 15, 165, 217, 28, WS_GROUP
|
||||||
CHECKBOX "Po pøipojení zobrazit ikonu na hlavním panelu", IDC_SHOWTASKBAR, 9, 206, 230, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "Po pøipojení zobrazit ikonu na hlavním panelu", IDC_SHOWTASKBAR, 9, 206, 230, 12, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
CHECKBOX "&Notify me when this connection has limited or no connectivity", IDC_NOTIFYNOCONNECTION, 9, 220, 230, 24, BS_AUTOCHECKBOX | WS_TABSTOP
|
CHECKBOX "&Upozornit, když toto připojení bude mít omezenou nebo žádnou konektivitu", IDC_NOTIFYNOCONNECTION, 9, 220, 230, 24, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_STATUS DIALOGEX DISCARDABLE 0, 0, 200, 280
|
IDD_STATUS DIALOGEX DISCARDABLE 0, 0, 200, 280
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "General"
|
CAPTION "Obecné nastavení"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
END
|
END
|
||||||
|
@ -65,62 +65,62 @@ BEGIN
|
||||||
RTEXT "000.000.000.000", IDC_DETAILSSUBNET, 122, 48, 80, 8
|
RTEXT "000.000.000.000", IDC_DETAILSSUBNET, 122, 48, 80, 8
|
||||||
RTEXT "", IDC_DETAILSGATEWAY, 122, 62, 80, 8
|
RTEXT "", IDC_DETAILSGATEWAY, 122, 62, 80, 8
|
||||||
|
|
||||||
PUSHBUTTON "&Detaily...", IDC_DETAILS, 22, 76, 62, 14
|
PUSHBUTTON "&Podrobnosti...", IDC_DETAILS, 22, 76, 62, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_LAN_NETSTATUSDETAILS DIALOGEX DISCARDABLE 0, 0, 200,200
|
IDD_LAN_NETSTATUSDETAILS DIALOGEX DISCARDABLE 0, 0, 200,200
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
||||||
CAPTION "Network Connection Details"
|
CAPTION "Podrobnosti síťového připojení"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "Network Connection &Details:", -1, 15, 9, 170, 12
|
LTEXT "&Podrobnosti síťového připojení:", -1, 15, 9, 170, 12
|
||||||
CONTROL "", IDC_DETAILS, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 25, 170, 130
|
CONTROL "", IDC_DETAILS, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 15, 25, 170, 130
|
||||||
PUSHBUTTON "&Close", IDC_CLOSE, 125, 165, 62, 14
|
PUSHBUTTON "&zavřít", IDC_CLOSE, 125, 165, 62, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_PHYSICAL_ADDRESS "Physical Address"
|
IDS_PHYSICAL_ADDRESS "Fyzická adresa"
|
||||||
IDS_IP_ADDRESS "IP Address"
|
IDS_IP_ADDRESS "IP Adresa"
|
||||||
IDS_SUBNET_MASK "Subnet Mask"
|
IDS_SUBNET_MASK "Maska podsítě"
|
||||||
IDS_DEF_GATEWAY "Default Gateway"
|
IDS_DEF_GATEWAY "Výchozí brána"
|
||||||
IDS_DHCP_SERVER "DHCP Server"
|
IDS_DHCP_SERVER "DHCP server"
|
||||||
IDS_LEASE_OBTAINED "Lease Obtained"
|
IDS_LEASE_OBTAINED "Zapůjčeno"
|
||||||
IDS_LEASE_EXPIRES "Lease Expires"
|
IDS_LEASE_EXPIRES "Zapůjčení vyprší"
|
||||||
IDS_DNS_SERVERS "DNS Servers"
|
IDS_DNS_SERVERS "DNS servery"
|
||||||
IDS_WINS_SERVERS "WINS Servers"
|
IDS_WINS_SERVERS "WINS servery"
|
||||||
IDS_PROPERTY "Property"
|
IDS_PROPERTY "Vlastnost"
|
||||||
IDS_VALUE "Value"
|
IDS_VALUE "Hodnota"
|
||||||
IDS_NETWORKCONNECTION "Network Connection"
|
IDS_NETWORKCONNECTION "Síťová připojení"
|
||||||
IDS_SHV_COLUMN_NAME "Name"
|
IDS_SHV_COLUMN_NAME "Název"
|
||||||
IDS_SHV_COLUMN_TYPE "Type"
|
IDS_SHV_COLUMN_TYPE "Typ"
|
||||||
IDS_SHV_COLUMN_STATE "Status"
|
IDS_SHV_COLUMN_STATE "Status"
|
||||||
IDS_SHV_COLUMN_DEVNAME "Device Name"
|
IDS_SHV_COLUMN_DEVNAME "Název zařízení"
|
||||||
IDS_SHV_COLUMN_PHONE "Phone # or Host Address"
|
IDS_SHV_COLUMN_PHONE "Telefonní číslo nebo adresa hostitele"
|
||||||
IDS_SHV_COLUMN_OWNER "Owner"
|
IDS_SHV_COLUMN_OWNER "Vlastník"
|
||||||
IDS_TYPE_ETHERNET "LAN or High-Speed Internet"
|
IDS_TYPE_ETHERNET "LAN nebo vysokorychlostní internet"
|
||||||
IDS_STATUS_NON_OPERATIONAL "Disabled"
|
IDS_STATUS_NON_OPERATIONAL "Vypnuto"
|
||||||
IDS_STATUS_UNREACHABLE "Not Connected"
|
IDS_STATUS_UNREACHABLE "Nepřipojeno"
|
||||||
IDS_STATUS_DISCONNECTED "Network cable unplugged"
|
IDS_STATUS_DISCONNECTED "Síťový kabel byl odpojen"
|
||||||
IDS_STATUS_CONNECTING "Acquiring network address"
|
IDS_STATUS_CONNECTING "Získávám síťovou adresu"
|
||||||
IDS_STATUS_CONNECTED "Connected"
|
IDS_STATUS_CONNECTED "Připojeno"
|
||||||
IDS_STATUS_OPERATIONAL "Connected"
|
IDS_STATUS_OPERATIONAL "Připojeno"
|
||||||
|
|
||||||
IDS_NET_ACTIVATE "Enable"
|
IDS_NET_ACTIVATE "Zapnout"
|
||||||
IDS_NET_DEACTIVATE "Disable"
|
IDS_NET_DEACTIVATE "Vypnout"
|
||||||
IDS_NET_STATUS "Status"
|
IDS_NET_STATUS "Status"
|
||||||
IDS_NET_REPAIR "Repair"
|
IDS_NET_REPAIR "Opravit"
|
||||||
IDS_NET_CREATELINK "Create Shortcut"
|
IDS_NET_CREATELINK "Vytvořit zástupce"
|
||||||
IDS_NET_DELETE "Delete"
|
IDS_NET_DELETE "Smazat"
|
||||||
IDS_NET_RENAME "Rename"
|
IDS_NET_RENAME "Přejmenovat"
|
||||||
IDS_NET_PROPERTIES "Properties"
|
IDS_NET_PROPERTIES "Vlasnosti"
|
||||||
|
|
||||||
IDS_FORMAT_BIT "%u Bit/s"
|
IDS_FORMAT_BIT "%u Bit/s"
|
||||||
IDS_FORMAT_KBIT "%u KBit/s"
|
IDS_FORMAT_KBIT "%u KBit/s"
|
||||||
IDS_FORMAT_MBIT "%u MBit/s"
|
IDS_FORMAT_MBIT "%u MBit/s"
|
||||||
IDS_FORMAT_GBIT "%u GBit/s"
|
IDS_FORMAT_GBIT "%u GBit/s"
|
||||||
IDS_DURATION_DAY "%d Day %s"
|
IDS_DURATION_DAY "%d Den %s"
|
||||||
IDS_DURATION_DAYS "%d Days %s"
|
IDS_DURATION_DAYS "%d Dnů %s"
|
||||||
IDS_ASSIGNED_DHCP "Pøiøazeno DHCP"
|
IDS_ASSIGNED_DHCP "Pøiøazeno DHCP"
|
||||||
IDS_ASSIGNED_MANUAL "Ruènì nastaveno"
|
IDS_ASSIGNED_MANUAL "Ruènì nastaveno"
|
||||||
END
|
END
|
||||||
|
|
|
@ -1236,7 +1236,7 @@ AccRewriteSetEntriesInAcl(ULONG cCountOfExplicitEntries,
|
||||||
DWORD ObjectsPresent;
|
DWORD ObjectsPresent;
|
||||||
BOOL needToClean;
|
BOOL needToClean;
|
||||||
PSID pSid1, pSid2;
|
PSID pSid1, pSid2;
|
||||||
ULONG i;
|
ULONG i, j;
|
||||||
LSA_HANDLE PolicyHandle = NULL;
|
LSA_HANDLE PolicyHandle = NULL;
|
||||||
BOOL bRet;
|
BOOL bRet;
|
||||||
DWORD LastErr;
|
DWORD LastErr;
|
||||||
|
@ -1295,11 +1295,11 @@ AccRewriteSetEntriesInAcl(ULONG cCountOfExplicitEntries,
|
||||||
case REVOKE_ACCESS:
|
case REVOKE_ACCESS:
|
||||||
case SET_ACCESS:
|
case SET_ACCESS:
|
||||||
/* Discard all accesses for the trustee... */
|
/* Discard all accesses for the trustee... */
|
||||||
for (i = 0; i < SizeInformation.AceCount; i++)
|
for (j = 0; j < SizeInformation.AceCount; j++)
|
||||||
{
|
{
|
||||||
if (!pKeepAce[i])
|
if (!pKeepAce[j])
|
||||||
continue;
|
continue;
|
||||||
if (!GetAce(OldAcl, i, (PVOID*)&pAce))
|
if (!GetAce(OldAcl, j, (PVOID*)&pAce))
|
||||||
{
|
{
|
||||||
Ret = GetLastError();
|
Ret = GetLastError();
|
||||||
goto Cleanup;
|
goto Cleanup;
|
||||||
|
@ -1308,7 +1308,7 @@ AccRewriteSetEntriesInAcl(ULONG cCountOfExplicitEntries,
|
||||||
pSid2 = AccpGetAceSid(pAce);
|
pSid2 = AccpGetAceSid(pAce);
|
||||||
if (RtlEqualSid(pSid1, pSid2))
|
if (RtlEqualSid(pSid1, pSid2))
|
||||||
{
|
{
|
||||||
pKeepAce[i] = FALSE;
|
pKeepAce[j] = FALSE;
|
||||||
SizeInformation.AclBytesInUse -= pAce->AceSize;
|
SizeInformation.AclBytesInUse -= pAce->AceSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1566,7 +1566,7 @@ static HRESULT __CLSIDFromString(LPCWSTR s, CLSID *id)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
HRESULT WINAPI CLSIDFromString(LPOLESTR idstr, CLSID *id )
|
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id )
|
||||||
{
|
{
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,7 @@
|
||||||
/* Hey, Emacs, open this file with -*- coding: cp1250 -*-
|
/* FILE: dll/win32/setupapi/lang/cs-CZ.rc
|
||||||
*
|
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||||
* Czech resources for SETUPAPI
|
* THANKS TO: David Kredba
|
||||||
*
|
* UPDATED: 2010-01-07
|
||||||
* Copyright 2001 Andreas Mohr
|
|
||||||
* Copyright 2004 David Kredba
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||||
|
@ -39,7 +23,7 @@ END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_QUERY_REBOOT_TEXT "Your computer needs to be rebooted to finish installation. Do you want to proceed?"
|
IDS_QUERY_REBOOT_TEXT "Aby mohla být instalace dokonèena, musí být poèítaè restartován. Pokraèovat?"
|
||||||
IDS_QUERY_REBOOT_CAPTION "Reboot"
|
IDS_QUERY_REBOOT_CAPTION "Restartovat"
|
||||||
IDS_INF_FILE "Setup Information"
|
IDS_INF_FILE "Instalaèní informace"
|
||||||
END
|
END
|
||||||
|
|
|
@ -344,7 +344,7 @@ static INT_PTR CALLBACK RunDlgProc (HWND hwnd, UINT message, WPARAM wParam, LPAR
|
||||||
else
|
else
|
||||||
pdir[3] = '\0';
|
pdir[3] = '\0';
|
||||||
}
|
}
|
||||||
if (ShellExecuteA(NULL, "open", psz, NULL, pdir, SW_SHOWNORMAL) < (HINSTANCE)33)
|
if (ShellExecuteA(NULL, NULL, psz, NULL, pdir, SW_SHOWNORMAL) < (HINSTANCE)33)
|
||||||
{
|
{
|
||||||
char *pszSysMsg = NULL ;
|
char *pszSysMsg = NULL ;
|
||||||
FormatMessageA (
|
FormatMessageA (
|
||||||
|
@ -357,7 +357,7 @@ static INT_PTR CALLBACK RunDlgProc (HWND hwnd, UINT message, WPARAM wParam, LPAR
|
||||||
) ;
|
) ;
|
||||||
sprintf (szMsg, "Error: %s", pszSysMsg) ;
|
sprintf (szMsg, "Error: %s", pszSysMsg) ;
|
||||||
LocalFree ((HLOCAL)pszSysMsg) ;
|
LocalFree ((HLOCAL)pszSysMsg) ;
|
||||||
MessageBoxA (hwnd, szMsg, "Nix", MB_OK | MB_ICONEXCLAMATION) ;
|
MessageBoxA (hwnd, szMsg, NULL, MB_OK | MB_ICONEXCLAMATION) ;
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, psz);
|
HeapFree(GetProcessHeap(), 0, psz);
|
||||||
HeapFree(GetProcessHeap(), 0, pdir);
|
HeapFree(GetProcessHeap(), 0, pdir);
|
||||||
|
@ -612,9 +612,11 @@ int WINAPI RestartDialogEx(HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, D
|
||||||
|
|
||||||
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
|
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
if (ConfirmDialog(hWndOwner, IDS_LOGOFF_PROMPT, IDS_LOGOFF_TITLE))
|
||||||
ExitWindowsEx(EWX_LOGOFF, 0);
|
{
|
||||||
return 0;
|
ExitWindowsEx(EWX_LOGOFF, 0);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
|
|
@ -114,7 +114,7 @@ SH_FileGeneralSetFileType(HWND hwndDlg, WCHAR *filext)
|
||||||
{
|
{
|
||||||
/* the file extension is unknown, so default to string "FileExtension File" */
|
/* the file extension is unknown, so default to string "FileExtension File" */
|
||||||
SendMessageW(hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)value);
|
SendMessageW(hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)value);
|
||||||
swprintf(name, value, &filext[1]);
|
swprintf(name, L"%s %s", &filext[1], value);
|
||||||
SendMessageW(hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)name);
|
SendMessageW(hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)name);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,7 +357,7 @@ BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
|
||||||
CAPTION "Îòâàðÿíå ñ"
|
CAPTION "Îòâàðÿíå ñ"
|
||||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -666,6 +666,8 @@ BEGIN
|
||||||
IDS_RESTART_PROMPT "Èñêàòå ëè äà ïðåçàïóñíåòå ñèñòåìàòà?"
|
IDS_RESTART_PROMPT "Èñêàòå ëè äà ïðåçàïóñíåòå ñèñòåìàòà?"
|
||||||
IDS_SHUTDOWN_TITLE "Èçêëþ÷âàíå"
|
IDS_SHUTDOWN_TITLE "Èçêëþ÷âàíå"
|
||||||
IDS_SHUTDOWN_PROMPT "Èñêàòå ëè äà èçêëþ÷èòå êîìïþòúðà?"
|
IDS_SHUTDOWN_PROMPT "Èñêàòå ëè äà èçêëþ÷èòå êîìïþòúðà?"
|
||||||
|
IDS_LOGOFF_TITLE "Log Off"
|
||||||
|
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||||
|
|
||||||
// shell folder path default values
|
// shell folder path default values
|
||||||
IDS_PROGRAMS "Ïóñêîâ èçáîðíèê\\Ïðèëîæåíèÿ"
|
IDS_PROGRAMS "Ïóñêîâ èçáîðíèê\\Ïðèëîæåíèÿ"
|
||||||
|
@ -750,6 +752,8 @@ BEGIN
|
||||||
|
|
||||||
IDS_DEFAULT_CLUSTER_SIZE "Ïîäðàçáèðàí ðàçïðåäåëèòåëåí ðàçìåð"
|
IDS_DEFAULT_CLUSTER_SIZE "Ïîäðàçáèðàí ðàçïðåäåëèòåëåí ðàçìåð"
|
||||||
IDS_COPY_OF "Copy of"
|
IDS_COPY_OF "Copy of"
|
||||||
|
|
||||||
|
IDS_SHLEXEC_NOASSOC "There is no Windows program configured to open this type of file."
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -358,7 +358,7 @@ BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
|
||||||
CAPTION "Open With"
|
CAPTION "Open With"
|
||||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -665,6 +665,8 @@ BEGIN
|
||||||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||||
|
IDS_LOGOFF_TITLE "Log Off"
|
||||||
|
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||||
|
|
||||||
/* shell folder path default values */
|
/* shell folder path default values */
|
||||||
IDS_PROGRAMS "Start Menu\\Programs"
|
IDS_PROGRAMS "Start Menu\\Programs"
|
||||||
|
@ -749,4 +751,6 @@ BEGIN
|
||||||
|
|
||||||
IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
|
IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
|
||||||
IDS_COPY_OF "Copy of"
|
IDS_COPY_OF "Copy of"
|
||||||
|
|
||||||
|
IDS_SHLEXEC_NOASSOC "There is no Windows program configured to open this type of file."
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
/*
|
/* FILE: dll/win32/shell32/lang/cs-CZ.rc
|
||||||
* Copyright 1998 Juergen Schmied
|
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||||
* Copyright 2003 Filip Navara
|
* UPDATED: 2010-04-05
|
||||||
* Copyright 2008 Radek Liska
|
* THANKS TO: navaraf, who translated major part of this file
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||||
|
@ -208,18 +194,18 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON "", 14000, 10, 3, 30, 30, WS_VISIBLE
|
ICON "", 14000, 10, 3, 30, 30, WS_VISIBLE
|
||||||
EDITTEXT 14001, 70, 9, 158, 14, ES_LEFT | ES_READONLY
|
EDITTEXT 14001, 70, 9, 158, 14, ES_LEFT | ES_READONLY
|
||||||
LTEXT "Type of file:", 14004, 8, 35, 50, 10
|
LTEXT "Typ souboru:", 14004, 8, 35, 50, 10
|
||||||
LTEXT "Folder", 14005, 68, 35, 160, 10
|
LTEXT "Složka", 14005, 68, 35, 160, 10
|
||||||
LTEXT "Location:", 14006, 8, 53, 50, 10
|
LTEXT "Umístìní:", 14006, 8, 53, 50, 10
|
||||||
LTEXT "", 14007, 68, 53, 315, 10
|
LTEXT "", 14007, 68, 53, 315, 10
|
||||||
LTEXT "Size:", 14008, 8, 72, 45, 10
|
LTEXT "Velikost:", 14008, 8, 72, 45, 10
|
||||||
LTEXT "", 14009, 68, 72, 315, 10
|
LTEXT "", 14009, 68, 72, 315, 10
|
||||||
LTEXT "Contains:", 14010, 8, 93, 45, 10
|
LTEXT "Obsahuje:", 14010, 8, 93, 45, 10
|
||||||
LTEXT "", 14011, 68, 93, 160, 10
|
LTEXT "", 14011, 68, 93, 160, 10
|
||||||
LTEXT "Created:", 14014, 8, 118, 45, 10
|
LTEXT "Vytvoøeno:", 14014, 8, 118, 45, 10
|
||||||
LTEXT "", 14015, 68, 118, 160, 10
|
LTEXT "", 14015, 68, 118, 160, 10
|
||||||
AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10
|
AUTOCHECKBOX "&Jen pro ètení", 14021, 45, 150, 67, 10
|
||||||
AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10
|
AUTOCHECKBOX "&Skrytý", 14022, 126, 150, 50, 10
|
||||||
END
|
END
|
||||||
|
|
||||||
SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 205
|
SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 205
|
||||||
|
@ -360,7 +346,7 @@ BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
|
||||||
CAPTION "Otevøít v..."
|
CAPTION "Otevøít v..."
|
||||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -546,7 +532,7 @@ END
|
||||||
|
|
||||||
FORMAT_DLG DIALOGEX 50, 50, 184, 218
|
FORMAT_DLG DIALOGEX 50, 50, 184, 218
|
||||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
|
||||||
CAPTION "Format"
|
CAPTION "Formátování"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "&Spustit", IDOK, 53, 198, 60, 14
|
DEFPUSHBUTTON "&Spustit", IDOK, 53, 198, 60, 14
|
||||||
|
@ -567,14 +553,14 @@ END
|
||||||
|
|
||||||
CHKDSK_DLG DIALOGEX 50, 50, 194, 120
|
CHKDSK_DLG DIALOGEX 50, 50, 194, 120
|
||||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
|
||||||
CAPTION "Check Disk"
|
CAPTION "Zkontrolovat disk"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Start", IDOK, 53, 100, 60, 14
|
DEFPUSHBUTTON "Start", IDOK, 53, 100, 60, 14
|
||||||
GROUPBOX "Check disk options", -1, 7, 6, 179, 50
|
GROUPBOX "Možnosti kontroly disku", -1, 7, 6, 179, 50
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 118, 100, 60, 14
|
PUSHBUTTON "Storno", IDCANCEL, 118, 100, 60, 14
|
||||||
AUTOCHECKBOX "Automatically fix file system errors", 14000, 16, 15, 155, 10
|
AUTOCHECKBOX "Automaticky opravovat chyby souborového systému", 14000, 16, 15, 155, 10
|
||||||
AUTOCHECKBOX "&Scan for and attempt recovery of bad sectors", 14001, 16, 30, 165, 10
|
AUTOCHECKBOX "&Vyhledat a pokusit se obnovit vadné sektory", 14001, 16, 30, 165, 10
|
||||||
CONTROL "", 14002, "MSCTLS_PROGRESS32", 16, 7, 60, 170, 8
|
CONTROL "", 14002, "MSCTLS_PROGRESS32", 16, 7, 60, 170, 8
|
||||||
LTEXT "", 14003, 60, 80, 170, 10
|
LTEXT "", 14003, 60, 80, 170, 10
|
||||||
END
|
END
|
||||||
|
@ -607,17 +593,17 @@ BEGIN
|
||||||
IDS_SHV_COLUMN9 "Komentáø"
|
IDS_SHV_COLUMN9 "Komentáø"
|
||||||
IDS_SHV_COLUMN10 "Vlastník"
|
IDS_SHV_COLUMN10 "Vlastník"
|
||||||
IDS_SHV_COLUMN11 "Skupina"
|
IDS_SHV_COLUMN11 "Skupina"
|
||||||
IDS_SHV_COLUMN12 "Filename"
|
IDS_SHV_COLUMN12 "Název souboru"
|
||||||
IDS_SHV_COLUMN13 "Category"
|
IDS_SHV_COLUMN13 "Kategorie"
|
||||||
IDS_SHV_COLUMN_DELFROM "Pùvodní umístìní"
|
IDS_SHV_COLUMN_DELFROM "Pùvodní umístìní"
|
||||||
IDS_SHV_COLUMN_DELDATE "Odstranìno"
|
IDS_SHV_COLUMN_DELDATE "Odstranìno"
|
||||||
IDS_SHV_COLUMN_FONTTYPE "Fonttype"
|
IDS_SHV_COLUMN_FONTTYPE "Fonttype"
|
||||||
IDS_SHV_COLUMN_WORKGROUP "Workgroup"
|
IDS_SHV_COLUMN_WORKGROUP "Pracovní skupina"
|
||||||
IDS_SHV_NETWORKLOCATION "Network Location"
|
IDS_SHV_NETWORKLOCATION "Sí<EFBFBD>ové umístìní"
|
||||||
IDS_SHV_COLUMN_DOCUMENTS "Documents"
|
IDS_SHV_COLUMN_DOCUMENTS "Dokumenty"
|
||||||
IDS_SHV_COLUMN_STATUS "Status"
|
IDS_SHV_COLUMN_STATUS "Status"
|
||||||
IDS_SHV_COLUMN_COMMENTS "Comments"
|
IDS_SHV_COLUMN_COMMENTS "Komentáøe"
|
||||||
IDS_SHV_COLUMN_LOCATION "Location"
|
IDS_SHV_COLUMN_LOCATION "Umístìní"
|
||||||
IDS_SHV_COLUMN_MODEL "Model"
|
IDS_SHV_COLUMN_MODEL "Model"
|
||||||
|
|
||||||
/* special folders */
|
/* special folders */
|
||||||
|
@ -625,7 +611,7 @@ BEGIN
|
||||||
IDS_MYCOMPUTER "Tento poèítaè"
|
IDS_MYCOMPUTER "Tento poèítaè"
|
||||||
IDS_RECYCLEBIN_FOLDER_NAME "Koš"
|
IDS_RECYCLEBIN_FOLDER_NAME "Koš"
|
||||||
IDS_CONTROLPANEL "Ovládací panely"
|
IDS_CONTROLPANEL "Ovládací panely"
|
||||||
IDS_ADMINISTRATIVETOOLS "Administrative Tools"
|
IDS_ADMINISTRATIVETOOLS "Nástroje správy"
|
||||||
|
|
||||||
/* context menus */
|
/* context menus */
|
||||||
IDS_VIEW_LARGE "&Vedle sebe"
|
IDS_VIEW_LARGE "&Vedle sebe"
|
||||||
|
@ -634,15 +620,15 @@ BEGIN
|
||||||
IDS_VIEW_DETAILS "&Podrobnosti"
|
IDS_VIEW_DETAILS "&Podrobnosti"
|
||||||
IDS_SELECT "Vybrat"
|
IDS_SELECT "Vybrat"
|
||||||
IDS_OPEN "Otevøít"
|
IDS_OPEN "Otevøít"
|
||||||
IDS_CREATELINK "Vytvoøit zástupc&e"
|
IDS_CREATELINK "Vytvoøit zástupc&e"
|
||||||
IDS_COPY "&Kopírovat"
|
IDS_COPY "&Kopírovat"
|
||||||
IDS_DELETE "O&dstranit"
|
IDS_DELETE "O&dstranit"
|
||||||
IDS_PROPERTIES "&Vlastnosti"
|
IDS_PROPERTIES "&Vlastnosti"
|
||||||
IDS_CUT "Vyj&mout"
|
IDS_CUT "Vyj&mout"
|
||||||
IDS_RESTORE "Restore"
|
IDS_RESTORE "Obnovit"
|
||||||
IDS_FORMATDRIVE "Format..."
|
IDS_FORMATDRIVE "Formátovat..."
|
||||||
IDS_RENAME "Rename"
|
IDS_RENAME "Pøejmenovat"
|
||||||
IDS_INSERT "Insert"
|
IDS_INSERT "Vložit"
|
||||||
|
|
||||||
IDS_CREATEFOLDER_DENIED "Nelze vytvoøit novou složku, protože pøístup byl odepøen."
|
IDS_CREATEFOLDER_DENIED "Nelze vytvoøit novou složku, protože pøístup byl odepøen."
|
||||||
IDS_CREATEFOLDER_CAPTION "Chyba pøi pokusu vytvoøit nový adresáø"
|
IDS_CREATEFOLDER_CAPTION "Chyba pøi pokusu vytvoøit nový adresáø"
|
||||||
|
@ -666,6 +652,8 @@ BEGIN
|
||||||
IDS_RESTART_PROMPT "Opravdu chcete restartovat systém?"
|
IDS_RESTART_PROMPT "Opravdu chcete restartovat systém?"
|
||||||
IDS_SHUTDOWN_TITLE "Vypnout"
|
IDS_SHUTDOWN_TITLE "Vypnout"
|
||||||
IDS_SHUTDOWN_PROMPT "Opravdu chcete vypnout poèítaè?"
|
IDS_SHUTDOWN_PROMPT "Opravdu chcete vypnout poèítaè?"
|
||||||
|
IDS_LOGOFF_TITLE "Odhlásit se"
|
||||||
|
IDS_LOGOFF_PROMPT "Opravdu se chcete odhlásit?"
|
||||||
|
|
||||||
/* shell folder path default values */
|
/* shell folder path default values */
|
||||||
IDS_PROGRAMS "Nabídka Start\\Programy"
|
IDS_PROGRAMS "Nabídka Start\\Programy"
|
||||||
|
@ -735,19 +723,21 @@ BEGIN
|
||||||
IDS_LNK_FILE "Zástupce"
|
IDS_LNK_FILE "Zástupce"
|
||||||
IDS_SYS_FILE "Systémový soubor"
|
IDS_SYS_FILE "Systémový soubor"
|
||||||
|
|
||||||
IDS_OPEN_VERB "Open"
|
IDS_OPEN_VERB "Otevøít"
|
||||||
IDS_RUNAS_VERB "Run as "
|
IDS_RUNAS_VERB "Spustit jako "
|
||||||
IDS_EDIT_VERB "Edit"
|
IDS_EDIT_VERB "Upravit"
|
||||||
IDS_FIND_VERB "Find"
|
IDS_FIND_VERB "Najít"
|
||||||
IDS_PRINT_VERB "Print"
|
IDS_PRINT_VERB "Tisknout"
|
||||||
IDS_PLAY_VERB "Play"
|
IDS_PLAY_VERB "Pøehrát"
|
||||||
IDS_PREVIEW_VERB "Preview"
|
IDS_PREVIEW_VERB "Náhled"
|
||||||
|
|
||||||
IDS_FILE_FOLDER "%u Files, %u Folders"
|
IDS_FILE_FOLDER "%u souborù, %u složek"
|
||||||
IDS_PRINTERS "Printers"
|
IDS_PRINTERS "Tiskárny"
|
||||||
IDS_FONTS "Fonts"
|
IDS_FONTS "Fonty"
|
||||||
IDS_INSTALLNEWFONT "Install New Font..."
|
IDS_INSTALLNEWFONT "Nainstalovat nový font..."
|
||||||
|
|
||||||
IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
|
IDS_DEFAULT_CLUSTER_SIZE "Výchozí alokaèní velikost"
|
||||||
IDS_COPY_OF "Copy of"
|
IDS_COPY_OF "Kopie "
|
||||||
|
|
||||||
|
IDS_SHLEXEC_NOASSOC "There is no Windows program configured to open this type of file."
|
||||||
END
|
END
|
||||||
|
|
|
@ -347,7 +347,7 @@ BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
|
||||||
CAPTION "Open With"
|
CAPTION "Open With"
|
||||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -654,6 +654,8 @@ BEGIN
|
||||||
IDS_RESTART_PROMPT "Ønsker du at Genstarte Systemet?"
|
IDS_RESTART_PROMPT "Ønsker du at Genstarte Systemet?"
|
||||||
IDS_SHUTDOWN_TITLE "Luk Ned"
|
IDS_SHUTDOWN_TITLE "Luk Ned"
|
||||||
IDS_SHUTDOWN_PROMPT "Ønsker du at Lukke Ned?"
|
IDS_SHUTDOWN_PROMPT "Ønsker du at Lukke Ned?"
|
||||||
|
IDS_LOGOFF_TITLE "Log Off"
|
||||||
|
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||||
|
|
||||||
/* shell folder path default values */
|
/* shell folder path default values */
|
||||||
IDS_PROGRAMS "Start Menu\\Programmer"
|
IDS_PROGRAMS "Start Menu\\Programmer"
|
||||||
|
@ -738,4 +740,6 @@ BEGIN
|
||||||
|
|
||||||
IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
|
IDS_DEFAULT_CLUSTER_SIZE "Default allocation size"
|
||||||
IDS_COPY_OF "Copy of"
|
IDS_COPY_OF "Copy of"
|
||||||
|
|
||||||
|
IDS_SHLEXEC_NOASSOC "There is no Windows program configured to open this type of file."
|
||||||
END
|
END
|
||||||
|
|
|
@ -296,7 +296,7 @@ BEGIN
|
||||||
|
|
||||||
CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20
|
CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20
|
||||||
|
|
||||||
LTEXT "Laufwerk %s", 14009, 100, 170, 40, 10
|
LTEXT "Laufwerk %s", 14009, 100, 170, 50, 10
|
||||||
PUSHBUTTON "Bereinigen", 14010, 180, 175, 50, 15, WS_TABSTOP
|
PUSHBUTTON "Bereinigen", 14010, 180, 175, 50, 15, WS_TABSTOP
|
||||||
CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14011, 15, 205, 180, 10, WS_DISABLED
|
CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14011, 15, 205, 180, 10, WS_DISABLED
|
||||||
CHECKBOX "Laufwerk für schnelle Dateisuche indizieren", 14012, 15, 220, 165, 10, WS_DISABLED
|
CHECKBOX "Laufwerk für schnelle Dateisuche indizieren", 14012, 15, 220, 165, 10, WS_DISABLED
|
||||||
|
@ -361,17 +361,17 @@ BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
OPEN_WITH_PROGRAMM_DLG DIALOGEX 0, 0, 264, 256
|
||||||
STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION
|
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
|
||||||
CAPTION "Öffnen mit"
|
CAPTION "Öffnen mit"
|
||||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_SHELL_OPEN_WITH, -1, 8, 12, 21, 20
|
ICON IDI_SHELL_OPEN_WITH, -1, 8, 12, 21, 20
|
||||||
LTEXT "Wählen Sie das Programm, das zum Öffnen dieser Datei verwendet werden soll:", -1, 44, 12, 211, 10
|
LTEXT "Wählen Sie das Programm, das zum Öffnen dieser Datei verwendet werden soll:", -1, 44, 12, 211, 18
|
||||||
LTEXT "Datei: ", 14001, 44, 25, 188, 10
|
LTEXT "Datei: ", 14001, 44, 30, 188, 10
|
||||||
GROUPBOX "&Programme", -1, 7, 42, 249, 187
|
GROUPBOX "&Programme", -1, 7, 42, 249, 187
|
||||||
LISTBOX 14002, 16 ,57, 230, 130, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP, WS_EX_STATICEDGE
|
LISTBOX 14002, 16 ,57, 230, 130, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP, WS_EX_STATICEDGE
|
||||||
AUTOCHECKBOX "&Dateityp &immer mit dem ausgewählten Programm öffnen", 14003, 20, 193, 225, 10
|
AUTOCHECKBOX "&Dateityp &immer mit dem ausgewählten Programm öffnen", 14003, 20, 193, 225, 10
|
||||||
PUSHBUTTON "&Durchsuchen..", 14004, 198, 207, 50, 14
|
PUSHBUTTON "&Durchsuchen...", 14004, 188, 207, 60, 14
|
||||||
PUSHBUTTON "OK", 14005, 150, 236, 50, 14
|
PUSHBUTTON "OK", 14005, 150, 236, 50, 14
|
||||||
PUSHBUTTON "Abbrechen", 14006, 206, 236, 50, 14
|
PUSHBUTTON "Abbrechen", 14006, 206, 236, 50, 14
|
||||||
END
|
END
|
||||||
|
@ -669,6 +669,8 @@ BEGIN
|
||||||
IDS_RESTART_PROMPT "Möchten Sie das System neu starten?"
|
IDS_RESTART_PROMPT "Möchten Sie das System neu starten?"
|
||||||
IDS_SHUTDOWN_TITLE "Herunterfahren"
|
IDS_SHUTDOWN_TITLE "Herunterfahren"
|
||||||
IDS_SHUTDOWN_PROMPT "Möchten Sie das System herunterfahren?"
|
IDS_SHUTDOWN_PROMPT "Möchten Sie das System herunterfahren?"
|
||||||
|
IDS_LOGOFF_TITLE "Ausloggen"
|
||||||
|
IDS_LOGOFF_PROMPT "Möchten Sie sich ausloggen?"
|
||||||
|
|
||||||
/* shell folder path default values */
|
/* shell folder path default values */
|
||||||
IDS_PROGRAMS "Startmenü\\Programme"
|
IDS_PROGRAMS "Startmenü\\Programme"
|
||||||
|
@ -753,4 +755,6 @@ BEGIN
|
||||||
|
|
||||||
IDS_DEFAULT_CLUSTER_SIZE "Standardgröße"
|
IDS_DEFAULT_CLUSTER_SIZE "Standardgröße"
|
||||||
IDS_COPY_OF "Kopie von"
|
IDS_COPY_OF "Kopie von"
|
||||||
|
|
||||||
|
IDS_SHLEXEC_NOASSOC "Es ist kein Programm mit diesem Dateityp verknüpft."
|
||||||
END
|
END
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue