diff --git a/reactos/base/applications/cacls/cacls.rbuild b/reactos/base/applications/cacls/cacls.rbuild index e77cf691023..96b8fbee462 100644 --- a/reactos/base/applications/cacls/cacls.rbuild +++ b/reactos/base/applications/cacls/cacls.rbuild @@ -2,7 +2,6 @@ . - kernel32 advapi32 ntdll user32 diff --git a/reactos/base/applications/calc/calc.rbuild b/reactos/base/applications/calc/calc.rbuild index 76a6aee2de1..325ab22970b 100644 --- a/reactos/base/applications/calc/calc.rbuild +++ b/reactos/base/applications/calc/calc.rbuild @@ -4,7 +4,6 @@ . 1 advapi32 - kernel32 gdi32 user32 about.c diff --git a/reactos/base/applications/calc/lang/nl-NL.rc b/reactos/base/applications/calc/lang/nl-NL.rc index fd3e3442a67..510352f6ee2 100644 --- a/reactos/base/applications/calc/lang/nl-NL.rc +++ b/reactos/base/applications/calc/lang/nl-NL.rc @@ -703,7 +703,7 @@ END STRINGTABLE DISCARDABLE BEGIN IDS_WEIGHT_BAHT "Baht" - IDS_WEIGHT_CARATS "Carats" + IDS_WEIGHT_CARATS "Karaat" IDS_WEIGHT_CHUNG "Chung" IDS_WEIGHT_DON "Don" IDS_WEIGHT_GEUN "Geun" diff --git a/reactos/base/applications/charmap/charmap.rbuild b/reactos/base/applications/charmap/charmap.rbuild index 1970a4a5418..76a1d64155b 100644 --- a/reactos/base/applications/charmap/charmap.rbuild +++ b/reactos/base/applications/charmap/charmap.rbuild @@ -3,7 +3,6 @@ . gdi32 - kernel32 user32 comctl32 diff --git a/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild b/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild index d3c2e90b511..7fae9cfe87a 100644 --- a/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild +++ b/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild @@ -1,6 +1,5 @@ - kernel32 dbgprint.c diff --git a/reactos/base/applications/cmdutils/doskey/doskey.rbuild b/reactos/base/applications/cmdutils/doskey/doskey.rbuild index 4793ff300d2..f38eb3009d7 100644 --- a/reactos/base/applications/cmdutils/doskey/doskey.rbuild +++ b/reactos/base/applications/cmdutils/doskey/doskey.rbuild @@ -1,7 +1,6 @@ - kernel32 user32 doskey.c doskey.rc diff --git a/reactos/base/applications/cmdutils/find/find.rbuild b/reactos/base/applications/cmdutils/find/find.rbuild index 7df9b9a58bc..84a700aa724 100644 --- a/reactos/base/applications/cmdutils/find/find.rbuild +++ b/reactos/base/applications/cmdutils/find/find.rbuild @@ -1,7 +1,6 @@ - kernel32 user32 find.c find.rc diff --git a/reactos/base/applications/cmdutils/hostname/hostname.rbuild b/reactos/base/applications/cmdutils/hostname/hostname.rbuild index 4a281d45600..ed747aac6f7 100644 --- a/reactos/base/applications/cmdutils/hostname/hostname.rbuild +++ b/reactos/base/applications/cmdutils/hostname/hostname.rbuild @@ -1,7 +1,6 @@ - kernel32 hostname.c hostname.rc diff --git a/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild b/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild index 099497e467d..ea5e7cf1198 100644 --- a/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild +++ b/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild @@ -1,7 +1,6 @@ - kernel32 loadperf wine lodctr_main.c diff --git a/reactos/base/applications/cmdutils/more/more.rbuild b/reactos/base/applications/cmdutils/more/more.rbuild index bfe3b74c79c..c94585a53ba 100644 --- a/reactos/base/applications/cmdutils/more/more.rbuild +++ b/reactos/base/applications/cmdutils/more/more.rbuild @@ -1,7 +1,6 @@ - kernel32 ntdll user32 more.c diff --git a/reactos/base/applications/cmdutils/reg/reg.rbuild b/reactos/base/applications/cmdutils/reg/reg.rbuild index 2daf43b51f3..ce9a744808d 100644 --- a/reactos/base/applications/cmdutils/reg/reg.rbuild +++ b/reactos/base/applications/cmdutils/reg/reg.rbuild @@ -4,7 +4,6 @@ wine advapi32 user32 - kernel32 reg.c rsrc.rc diff --git a/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild b/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild index 9841a3a2a0f..2e3e1a9809d 100644 --- a/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild +++ b/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild @@ -5,7 +5,6 @@ wine shell32 user32 - kernel32 xcopy.c rsrc.rc diff --git a/reactos/base/applications/control/control.rbuild b/reactos/base/applications/control/control.rbuild index 5f8d580188d..2fe410ec9c7 100644 --- a/reactos/base/applications/control/control.rbuild +++ b/reactos/base/applications/control/control.rbuild @@ -3,7 +3,6 @@ . advapi32 - kernel32 shell32 control.c control.rc diff --git a/reactos/base/applications/downloader/downloader.rbuild b/reactos/base/applications/downloader/downloader.rbuild index 6aca8fc5acc..9ea43dc81f4 100644 --- a/reactos/base/applications/downloader/downloader.rbuild +++ b/reactos/base/applications/downloader/downloader.rbuild @@ -5,7 +5,6 @@ . . - kernel32 advapi32 ntdll user32 diff --git a/reactos/base/applications/dxdiag/dxdiag.rbuild b/reactos/base/applications/dxdiag/dxdiag.rbuild index d4d336f2f3d..1da09c53cdd 100644 --- a/reactos/base/applications/dxdiag/dxdiag.rbuild +++ b/reactos/base/applications/dxdiag/dxdiag.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 advapi32 comctl32 diff --git a/reactos/base/applications/fontview/fontview.rbuild b/reactos/base/applications/fontview/fontview.rbuild index ba4f5b9cade..8ceda786c4b 100644 --- a/reactos/base/applications/fontview/fontview.rbuild +++ b/reactos/base/applications/fontview/fontview.rbuild @@ -3,7 +3,6 @@ gdi32 user32 shell32 - kernel32 fontview.c display.c fontview.rc diff --git a/reactos/base/applications/games/winemine/winemine.rbuild b/reactos/base/applications/games/winemine/winemine.rbuild index c2f7e66047a..5f6a52a51af 100644 --- a/reactos/base/applications/games/winemine/winemine.rbuild +++ b/reactos/base/applications/games/winemine/winemine.rbuild @@ -2,7 +2,6 @@ . - kernel32 gdi32 user32 advapi32 diff --git a/reactos/base/applications/hh/hh.rbuild b/reactos/base/applications/hh/hh.rbuild index abc1c513e07..c81f6680097 100644 --- a/reactos/base/applications/hh/hh.rbuild +++ b/reactos/base/applications/hh/hh.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 main.c diff --git a/reactos/base/applications/iexplore/iexplore.rbuild b/reactos/base/applications/iexplore/iexplore.rbuild index 8fb8dcd1ab3..8305d0a71c0 100644 --- a/reactos/base/applications/iexplore/iexplore.rbuild +++ b/reactos/base/applications/iexplore/iexplore.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 shdocvw diff --git a/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild b/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild index 71ead6f7cbd..f459343e6c3 100644 --- a/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild +++ b/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild @@ -3,7 +3,6 @@ . - kernel32 user32 comctl32 kbsdll.c diff --git a/reactos/base/applications/kbswitch/kbswitch.rbuild b/reactos/base/applications/kbswitch/kbswitch.rbuild index c107f0a6d4d..2eed0b22bb0 100644 --- a/reactos/base/applications/kbswitch/kbswitch.rbuild +++ b/reactos/base/applications/kbswitch/kbswitch.rbuild @@ -2,7 +2,6 @@ . - kernel32 advapi32 user32 shell32 diff --git a/reactos/base/applications/logoff/logoff.rbuild b/reactos/base/applications/logoff/logoff.rbuild index a69e916adbc..d53f79499e4 100644 --- a/reactos/base/applications/logoff/logoff.rbuild +++ b/reactos/base/applications/logoff/logoff.rbuild @@ -4,7 +4,6 @@ . advapi32 user32 - kernel32 misc.c logoff.c logoff.rc diff --git a/reactos/base/applications/magnify/magnify.rbuild b/reactos/base/applications/magnify/magnify.rbuild index 08ffe958068..c891a1e14d1 100644 --- a/reactos/base/applications/magnify/magnify.rbuild +++ b/reactos/base/applications/magnify/magnify.rbuild @@ -6,7 +6,6 @@ gdi32 advapi32 shell32 - kernel32 magnifier.c settings.c magnify.rc diff --git a/reactos/base/applications/mmc/mmc.rbuild b/reactos/base/applications/mmc/mmc.rbuild index cd2cb87790c..8976acd569e 100644 --- a/reactos/base/applications/mmc/mmc.rbuild +++ b/reactos/base/applications/mmc/mmc.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 comdlg32 diff --git a/reactos/base/applications/mplay32/mplay32.rbuild b/reactos/base/applications/mplay32/mplay32.rbuild index d920e958605..c472e6f0207 100644 --- a/reactos/base/applications/mplay32/mplay32.rbuild +++ b/reactos/base/applications/mplay32/mplay32.rbuild @@ -3,7 +3,6 @@ advapi32 comctl32 comdlg32 - kernel32 user32 gdi32 winmm diff --git a/reactos/base/applications/msconfig/msconfig.rbuild b/reactos/base/applications/msconfig/msconfig.rbuild index ac5800db399..958125f2d0f 100644 --- a/reactos/base/applications/msconfig/msconfig.rbuild +++ b/reactos/base/applications/msconfig/msconfig.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 advapi32 version diff --git a/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild b/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild index e0244eadd4a..a5f6844f06a 100644 --- a/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild +++ b/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild @@ -5,7 +5,6 @@ ntdll setupapi gdi32 - kernel32 user32 comctl32 advapi32 diff --git a/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild b/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild index 4a1e6782086..367c19e5bb4 100644 --- a/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild +++ b/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 comctl32 advapi32 diff --git a/reactos/base/applications/mscutils/servman/servman.rbuild b/reactos/base/applications/mscutils/servman/servman.rbuild index d8f0c174ee3..02ed3a2804b 100644 --- a/reactos/base/applications/mscutils/servman/servman.rbuild +++ b/reactos/base/applications/mscutils/servman/servman.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 advapi32 diff --git a/reactos/base/applications/mstsc/mstsc.rbuild b/reactos/base/applications/mstsc/mstsc.rbuild index 4d0f5f9eeac..e2000ef0951 100644 --- a/reactos/base/applications/mstsc/mstsc.rbuild +++ b/reactos/base/applications/mstsc/mstsc.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 comctl32 diff --git a/reactos/base/applications/network/arp/arp.rbuild b/reactos/base/applications/network/arp/arp.rbuild index 855fa1459ea..ed2e096b15d 100644 --- a/reactos/base/applications/network/arp/arp.rbuild +++ b/reactos/base/applications/network/arp/arp.rbuild @@ -2,7 +2,6 @@ . - kernel32 iphlpapi ws2_32 shlwapi diff --git a/reactos/base/applications/network/dwnl/dwnl.rbuild b/reactos/base/applications/network/dwnl/dwnl.rbuild index 5201bd83291..36c30c0459c 100644 --- a/reactos/base/applications/network/dwnl/dwnl.rbuild +++ b/reactos/base/applications/network/dwnl/dwnl.rbuild @@ -2,7 +2,6 @@ . - kernel32 urlmon wininet uuid diff --git a/reactos/base/applications/network/finger/finger.rbuild b/reactos/base/applications/network/finger/finger.rbuild index 7e4dcbf5703..fd25abc54d0 100644 --- a/reactos/base/applications/network/finger/finger.rbuild +++ b/reactos/base/applications/network/finger/finger.rbuild @@ -3,7 +3,6 @@ . - kernel32 ws2_32 finger.c err.c diff --git a/reactos/base/applications/network/ftp/ftp.rbuild b/reactos/base/applications/network/ftp/ftp.rbuild index 854c41b1701..193fa6e8ebd 100644 --- a/reactos/base/applications/network/ftp/ftp.rbuild +++ b/reactos/base/applications/network/ftp/ftp.rbuild @@ -3,7 +3,18 @@ . - kernel32 + + + _chdir + _getcwd + _mktemp + _unlink + _close + _fileno + _read + _write + _lseek + ws2_32 iphlpapi cmds.c diff --git a/reactos/base/applications/network/ipconfig/ipconfig.rbuild b/reactos/base/applications/network/ipconfig/ipconfig.rbuild index 3110817dd25..454bd37f5c7 100644 --- a/reactos/base/applications/network/ipconfig/ipconfig.rbuild +++ b/reactos/base/applications/network/ipconfig/ipconfig.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 iphlpapi advapi32 diff --git a/reactos/base/applications/network/net/net.rbuild b/reactos/base/applications/network/net/net.rbuild index 1b3595beed3..889e3a67571 100644 --- a/reactos/base/applications/network/net/net.rbuild +++ b/reactos/base/applications/network/net/net.rbuild @@ -3,7 +3,6 @@ . - kernel32 ws2_32 main.c cmdstart.c diff --git a/reactos/base/applications/network/netstat/netstat.rbuild b/reactos/base/applications/network/netstat/netstat.rbuild index 23b488ae568..b7d4c4c973c 100644 --- a/reactos/base/applications/network/netstat/netstat.rbuild +++ b/reactos/base/applications/network/netstat/netstat.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 ws2_32 snmpapi diff --git a/reactos/base/applications/network/nslookup/nslookup.rbuild b/reactos/base/applications/network/nslookup/nslookup.rbuild index b4d02f9f563..e483d4ab5f3 100644 --- a/reactos/base/applications/network/nslookup/nslookup.rbuild +++ b/reactos/base/applications/network/nslookup/nslookup.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 ws2_32 snmpapi diff --git a/reactos/base/applications/network/ping/ping.rbuild b/reactos/base/applications/network/ping/ping.rbuild index 20f401bdb7b..170129c08ed 100644 --- a/reactos/base/applications/network/ping/ping.rbuild +++ b/reactos/base/applications/network/ping/ping.rbuild @@ -3,7 +3,6 @@ . - kernel32 ws2_32 ping.c ping.rc diff --git a/reactos/base/applications/network/route/route.rbuild b/reactos/base/applications/network/route/route.rbuild index fbfc1eeeedf..eea7b8d76a3 100644 --- a/reactos/base/applications/network/route/route.rbuild +++ b/reactos/base/applications/network/route/route.rbuild @@ -2,7 +2,6 @@ . - kernel32 ws2_32 iphlpapi route.c diff --git a/reactos/base/applications/network/telnet/src/tnetwork.h b/reactos/base/applications/network/telnet/src/tnetwork.h index 64dfb1179a7..bcc78c7012f 100644 --- a/reactos/base/applications/network/telnet/src/tnetwork.h +++ b/reactos/base/applications/network/telnet/src/tnetwork.h @@ -24,7 +24,7 @@ public: TNetwork(SOCKET s = 0): socket(s), local_echo(1), line_mode(1), net_type(TN_NETSOCKET), naws_func((Naws_func_t)NULL), local_address((char *)NULL) {} - ~TNetwork() {if(local_address) delete local_address;} + ~TNetwork() {if(local_address) delete[] local_address;} void SetSocket(SOCKET s); SOCKET GetSocket() {return socket;} diff --git a/reactos/base/applications/network/telnet/telnet.rbuild b/reactos/base/applications/network/telnet/telnet.rbuild index 312eae39942..92e63337318 100644 --- a/reactos/base/applications/network/telnet/telnet.rbuild +++ b/reactos/base/applications/network/telnet/telnet.rbuild @@ -2,7 +2,6 @@ . - kernel32 ws2_32 user32 diff --git a/reactos/base/applications/network/tracert/tracert.rbuild b/reactos/base/applications/network/tracert/tracert.rbuild index 51d0b948959..f2f9a33b813 100644 --- a/reactos/base/applications/network/tracert/tracert.rbuild +++ b/reactos/base/applications/network/tracert/tracert.rbuild @@ -3,7 +3,6 @@ . - kernel32 ws2_32 tracert.c tracert.rc diff --git a/reactos/base/applications/network/whois/whois.rbuild b/reactos/base/applications/network/whois/whois.rbuild index 2376b957582..f208aa2d97c 100644 --- a/reactos/base/applications/network/whois/whois.rbuild +++ b/reactos/base/applications/network/whois/whois.rbuild @@ -2,7 +2,6 @@ . - kernel32 ws2_32 whois.c whois.rc diff --git a/reactos/base/applications/notepad/notepad.rbuild b/reactos/base/applications/notepad/notepad.rbuild index ef7800bf189..8a89a7e8e76 100644 --- a/reactos/base/applications/notepad/notepad.rbuild +++ b/reactos/base/applications/notepad/notepad.rbuild @@ -2,7 +2,6 @@ . - kernel32 user32 gdi32 comdlg32 diff --git a/reactos/base/applications/paint/paint.rbuild b/reactos/base/applications/paint/paint.rbuild index 3087df43d49..f20fc0ac9ec 100644 --- a/reactos/base/applications/paint/paint.rbuild +++ b/reactos/base/applications/paint/paint.rbuild @@ -7,7 +7,6 @@ user32 gdi32 advapi32 - kernel32 comctl32 dialogs.c dib.c diff --git a/reactos/base/applications/rapps/installed.c b/reactos/base/applications/rapps/installed.c index 80991c91df7..8c8cb33f172 100644 --- a/reactos/base/applications/rapps/installed.c +++ b/reactos/base/applications/rapps/installed.c @@ -89,6 +89,7 @@ UninstallApplication(INT Index, BOOL bModify) INT ItemIndex; LVITEM Item; HKEY hKey; + PINSTALLED_INFO ItemInfo; if (!IS_INSTALLED_ENUM(SelectedEnumType)) return FALSE; @@ -114,7 +115,8 @@ UninstallApplication(INT Index, BOOL bModify) if (!ListView_GetItem(hListView, &Item)) return FALSE; - hKey = (HKEY)Item.lParam; + ItemInfo = (PINSTALLED_INFO)Item.lParam; + hKey = ItemInfo->hSubKey; dwType = REG_SZ; dwSize = MAX_PATH; diff --git a/reactos/base/applications/rapps/rapps.rbuild b/reactos/base/applications/rapps/rapps.rbuild index e74c31ff248..066b3ba7a9b 100644 --- a/reactos/base/applications/rapps/rapps.rbuild +++ b/reactos/base/applications/rapps/rapps.rbuild @@ -6,7 +6,6 @@ advapi32 comctl32 - kernel32 gdi32 urlmon user32 diff --git a/reactos/base/applications/rapps/rapps/abiword.txt b/reactos/base/applications/rapps/rapps/abiword.txt index 336af4b9adc..c6da039bead 100644 --- a/reactos/base/applications/rapps/rapps/abiword.txt +++ b/reactos/base/applications/rapps/rapps/abiword.txt @@ -2,13 +2,13 @@ [Section] Name = AbiWord -Version = 2.6.4 +Version = 2.6.8 Licence = GPL Description = Word processor. -Size = 5.9MB +Size = 5.6MB Category = 6 URLSite = http://www.abisource.com/ -URLDownload = http://www.abisource.com/downloads/abiword/2.6.4/Windows/abiword-setup-2.6.4.exe +URLDownload = http://www.abisource.com/downloads/abiword/2.6.8/Windows/abiword-setup-2.6.8.exe CDPath = none [Section.0407] diff --git a/reactos/base/applications/rapps/rapps/mingw.txt b/reactos/base/applications/rapps/rapps/mingw.txt index 2e2fabe312f..109c99bc61d 100644 --- a/reactos/base/applications/rapps/rapps/mingw.txt +++ b/reactos/base/applications/rapps/rapps/mingw.txt @@ -2,13 +2,13 @@ [Section] Name = MinGW -Version = 5.1.4 +Version = 5.1.6 Licence = Public domain/GPL Description = A Port of the GNU toolchain with GCC, GDB, GNU make, etc. -Size = 136kb +Size = 155kb Category = 7 URLSite = http://mingw.org/ -URLDownload = http://ovh.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe +URLDownload = http://ovh.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.6.exe CDPath = none diff --git a/reactos/base/applications/rapps/rapps/mirandaim.txt b/reactos/base/applications/rapps/rapps/mirandaim.txt index 315a6a398d0..cfa1f1b164c 100644 --- a/reactos/base/applications/rapps/rapps/mirandaim.txt +++ b/reactos/base/applications/rapps/rapps/mirandaim.txt @@ -1,14 +1,14 @@ -; UTF-8 +; UTF-8 [Section] Name = Miranda IM -Version = 0.8.9 +Version = 0.8.10 Licence = GPL Description = Open source multiprotocol instant messaging application - May not work completely. Size = 1.6MB Category = 5 URLSite = http://www.miranda-im.org/ -URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.9-unicode.exe +URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.10-unicode.exe CDPath = none diff --git a/reactos/base/applications/rapps/rapps/opera.txt b/reactos/base/applications/rapps/rapps/opera.txt index a1d9b51acf4..3590f668f52 100644 --- a/reactos/base/applications/rapps/rapps/opera.txt +++ b/reactos/base/applications/rapps/rapps/opera.txt @@ -2,13 +2,13 @@ [Section] Name = Opera -Version = 9.64 +Version = 10.10 Licence = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. -Size = 7.1M +Size = 11.0M Category = 5 URLSite = http://www.opera.com/ -URLDownload = http://ftp.opera.com/pub/opera/win/964/int/Opera_964_int_Setup.exe +URLDownload = http://ftp.opera.com/pub/opera/win/1010/int/Opera_1010_in_Setup.exe CDPath = none [Section.0419] diff --git a/reactos/base/applications/rapps/rapps/scummvm.txt b/reactos/base/applications/rapps/rapps/scummvm.txt index 91114aace1e..8c201eae424 100644 --- a/reactos/base/applications/rapps/rapps/scummvm.txt +++ b/reactos/base/applications/rapps/rapps/scummvm.txt @@ -2,13 +2,13 @@ [Section] Name = ScummVM -Version = 0.13.1 +Version = 1.0.0 Licence = GPL Description = Sam and Max, Day of the Tentacle, etc on ReactOS. -Size = 2.9MB +Size = 3.1MB Category = 4 URLSite = http://scummvm.org/ -URLDownload = http://ovh.dl.sourceforge.net/sourceforge/scummvm/scummvm-0.13.1-win32.exe +URLDownload = http://dfn.dl.sourceforge.net/project/scummvm/scummvm/1.0.0/scummvm-1.0.0-win32.exe CDPath = none diff --git a/reactos/base/applications/rapps/rapps/sdl_mixer.txt b/reactos/base/applications/rapps/rapps/sdl_mixer.txt index 950c48cc5d8..eaa3c51ec24 100644 --- a/reactos/base/applications/rapps/rapps/sdl_mixer.txt +++ b/reactos/base/applications/rapps/rapps/sdl_mixer.txt @@ -1,14 +1,14 @@ -; UTF-8 +; UTF-8 [Section] Name = Simple Direct Media Layer (SDL) Mixer -Version = 1.2.9 +Version = 1.2.11 Licence = LGPL Description = Needed for some Open Source Games to run. You need 7-Zip or a similar Utility to extract it. Size = 307kB Category = 14 URLSite = http://www.libsdl.org/projects/SDL_mixer/ -URLDownload = http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.9-win32.zip +URLDownload = http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11-win32.zip CDPath = none diff --git a/reactos/base/applications/rapps/rapps/seamonkey.txt b/reactos/base/applications/rapps/rapps/seamonkey.txt index c10db18ef91..c79f31f3b7c 100644 --- a/reactos/base/applications/rapps/rapps/seamonkey.txt +++ b/reactos/base/applications/rapps/rapps/seamonkey.txt @@ -2,26 +2,26 @@ [Section] Name = Mozilla SeaMonkey -Version = 1.1.18 +Version = 2.0 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. -Size = 12.4MB +Size = 10.0MB Category = 5 URLSite = http://www.seamonkey-project.org/ -URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.18/seamonkey-1.1.18.en-US.win32.installer.exe +URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0/win32/en-US/SeaMonkey%20Setup%202.0.exe CDPath = none [Section.0419] Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор. -Size = 9.0MB -URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.18/contrib-localized/seamonkey-1.1.18.ru-RU.win32.installer.exe +Size = 10.4MB +URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0/win32/ru/SeaMonkey%20Setup%202.0.exe [Section.0407] -Description = Mozilla Suite ist lebendig. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. -Size = 9.0MB -URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.18/contrib-localized/seamonkey-1.1.18.de-AT.win32.installer.exe +Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. +Size = 10.0MB +URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0/win32/de/SeaMonkey%20Setup%202.0.exe [Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. -Size = 12.4MB -URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.18/contrib-localized/seamonkey-1.1.18.pl-PL.win32.installer.exe +Size = 10.8MB +URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/2.0/win32/pl/SeaMonkey%20Setup%202.0.exe diff --git a/reactos/base/applications/rapps/rapps/ultravnc.txt b/reactos/base/applications/rapps/rapps/ultravnc.txt index ca7568496e5..90587d3b9cd 100644 --- a/reactos/base/applications/rapps/rapps/ultravnc.txt +++ b/reactos/base/applications/rapps/rapps/ultravnc.txt @@ -2,11 +2,11 @@ [Section] Name = UltraVNC -Version = 1.0.6.5 +Version = 1.0.8.0 Licence = GPL Description = Open-source VNC client/server Size = 1.9MB Category = 5 URLSite = http://www.uvnc.com -URLDownload = http://support1.uvnc.com/download/1065/UltraVNC_1.0.6.5_Setup.exe +URLDownload = http://support1.uvnc.com/download/1080/UltraVNC_1.0.8.0_Setup.exe CDPath = none diff --git a/reactos/base/applications/rapps/rapps/utorrent.txt b/reactos/base/applications/rapps/rapps/utorrent.txt index 409ee45ad51..e36aecf4095 100644 --- a/reactos/base/applications/rapps/rapps/utorrent.txt +++ b/reactos/base/applications/rapps/rapps/utorrent.txt @@ -2,13 +2,13 @@ [Section] Name = µTorrent -Version = 1.8.4 +Version = 1.8.5 Licence = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. Size = 282K Category = 5 URLSite = http://www.utorrent.com/ -URLDownload = http://download.utorrent.com/1.8.3/utorrent.exe +URLDownload = http://download.utorrent.com/1.8.5/utorrent.exe CDPath = none [Section.0419] diff --git a/reactos/base/applications/rapps/rapps/vlc.txt b/reactos/base/applications/rapps/rapps/vlc.txt index 9e708c75b36..57e89bd17d1 100644 --- a/reactos/base/applications/rapps/rapps/vlc.txt +++ b/reactos/base/applications/rapps/rapps/vlc.txt @@ -2,11 +2,11 @@ [Section] Name = VLC media player -Version = 1.0.2 +Version = 1.0.3 Licence = GPL Description = A media player. -Size = 18MB +Size = 17.2MB Category = 1 URLSite = http://www.videolan.org/vlc/ -URLDownload = http://mirror.services.wisc.edu/mirrors/videolan/vlc/1.0.2/win32/vlc-1.0.2-win32.exe +URLDownload = http://mirror.services.wisc.edu/mirrors/videolan/vlc/1.0.3/win32/vlc-1.0.3-win32.exe CDPath = none diff --git a/reactos/base/applications/regedit/clb/clb.rbuild b/reactos/base/applications/regedit/clb/clb.rbuild index be34cbf85ab..aad50816d78 100644 --- a/reactos/base/applications/regedit/clb/clb.rbuild +++ b/reactos/base/applications/regedit/clb/clb.rbuild @@ -4,7 +4,6 @@ . ntdll - kernel32 user32 gdi32 comctl32 diff --git a/reactos/base/applications/regedit/regedit.rbuild b/reactos/base/applications/regedit/regedit.rbuild index 63a39d719c6..0868114778a 100644 --- a/reactos/base/applications/regedit/regedit.rbuild +++ b/reactos/base/applications/regedit/regedit.rbuild @@ -6,7 +6,6 @@ uuid - kernel32 user32 gdi32 advapi32 diff --git a/reactos/base/applications/regedt32/regedt32.rbuild b/reactos/base/applications/regedt32/regedt32.rbuild index cf6d2d6e71c..6b0b03773e9 100644 --- a/reactos/base/applications/regedt32/regedt32.rbuild +++ b/reactos/base/applications/regedt32/regedt32.rbuild @@ -2,7 +2,6 @@ . - kernel32 shell32 shlwapi regedt32.c diff --git a/reactos/base/applications/sc/sc.rbuild b/reactos/base/applications/sc/sc.rbuild index ea0924c39ea..4bef374d021 100644 --- a/reactos/base/applications/sc/sc.rbuild +++ b/reactos/base/applications/sc/sc.rbuild @@ -2,7 +2,6 @@ - kernel32 advapi32 control.c create.c diff --git a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild b/reactos/base/applications/screensavers/3dtext/3dtext.rbuild index 8ecece679f9..1a1e115b763 100644 --- a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild +++ b/reactos/base/applications/screensavers/3dtext/3dtext.rbuild @@ -3,7 +3,6 @@ scrnsave chkstk - kernel32 user32 gdi32 opengl32 diff --git a/reactos/base/applications/screensavers/logon/logon.rbuild b/reactos/base/applications/screensavers/logon/logon.rbuild index e4dc6d36193..562c62de9b1 100644 --- a/reactos/base/applications/screensavers/logon/logon.rbuild +++ b/reactos/base/applications/screensavers/logon/logon.rbuild @@ -3,7 +3,6 @@ . scrnsave - kernel32 user32 gdi32 diff --git a/reactos/base/applications/shutdown/shutdown.rbuild b/reactos/base/applications/shutdown/shutdown.rbuild index d5dd0236afe..6260c0055ab 100644 --- a/reactos/base/applications/shutdown/shutdown.rbuild +++ b/reactos/base/applications/shutdown/shutdown.rbuild @@ -4,7 +4,6 @@ . advapi32 user32 - kernel32 misc.c shutdown.c shutdown.rc diff --git a/reactos/base/applications/sndrec32/audio_def.hpp b/reactos/base/applications/sndrec32/audio_def.hpp new file mode 100644 index 00000000000..da57f3f4b64 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_def.hpp @@ -0,0 +1,34 @@ +#ifndef _AUDIO_DEF__H_ +#define _AUDIO_DEF__H_ + + +#include + +// +// Defaults +// + +#define _AUDIO_DEFAULT_FORMAT A44100_16BIT_STEREO +#define _AUDIO_DEFAULT_WAVEINBUFFERS 8 +#define _AUDIO_DEFAULT_WAVEINBUFSECS 0.1f +#define _AUDIO_DEFAULT_WAVEOUTBUFFERS 8 +#define _AUDIO_DEFAULT_WAVEOUTBUFSECS 0.1f +#define _AUDIO_DEFAULT_BUFSECS 1.0f + + +// +// Namespace stuff +// + +#define _AUDIO_NAMESPACE_START_ namespace snd { +#define _AUDIO_NAMESPACE_END_ }; +// +// Platform depend stuff +// + +#include +#include //Windows MultiMedia (WINMM) audio apis +#include //codecs stuff +#include //codecs stuff + +#endif //ifdef _AUDIO_DEF__H_ diff --git a/reactos/base/applications/sndrec32/audio_format.cpp b/reactos/base/applications/sndrec32/audio_format.cpp new file mode 100644 index 00000000000..316f54bd8ad --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_format.cpp @@ -0,0 +1,24 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_format.cpp + * PURPOSE: Audio Format + * PROGRAMMERS: Marco Pagliaricci + */ + + +#include "stdafx.h" +#include "audio_format.hpp" + +_AUDIO_NAMESPACE_START_ + +// +// Standard audio formats (declared as +// externs in `audio_format.hpp') +// + +audio_format UNNKOWN_FORMAT( 0, 0, 0); +audio_format A44100_16BIT_STEREO( 44100, 16, 2 ); + +_AUDIO_NAMESPACE_END_ + diff --git a/reactos/base/applications/sndrec32/audio_format.hpp b/reactos/base/applications/sndrec32/audio_format.hpp new file mode 100644 index 00000000000..1f620b2e3f2 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_format.hpp @@ -0,0 +1,147 @@ +#ifndef _AUDIOFORMAT__H_ +#define _AUDIOFORMAT__H_ + + + +#include "audio_def.hpp" + + + + +_AUDIO_NAMESPACE_START_ + + + + + + + +class audio_format +{ + protected: + + + unsigned int samples_psec; + unsigned short int bits_psample; + unsigned short int chan; + + + public: + + + // + // Ctors + // + + audio_format( unsigned int samples_per_second, + unsigned short int bits_per_sample, unsigned short int channels ) + + : samples_psec( samples_per_second ), bits_psample( bits_per_sample ), + chan( channels ) + + { } + + + + + + + + // + // Dtor + // + + virtual ~audio_format( void ) + { } + + + + + + + + // + // Operators + // + + bool operator==( audio_format & eq ) const + { + // + // The same audio format is when samples per second, + // bit per sample, and channels mono/stereo are equal. + // + + return (( samples_psec == eq.samples_psec ) + && ( bits_psample == eq.bits_psample ) && ( chan == eq.chan )); + } + + + + + + + + + // + // Public Functions + // + + unsigned int sample_rate( void ) const + { return samples_psec; } + + + unsigned short int bits( void ) const + { return bits_psample; } + + + unsigned short int channels( void ) const + { return chan; } + + + unsigned int byte_rate( void ) const + { return ( samples_psec * chan * ( bits_psample / 8 )); } + + + unsigned int block_align( void ) const + { return ( chan * ( bits_psample / 8 )); } + + + + unsigned int samples_in_seconds( float seconds ) const + { + + return ( unsigned int ) + ((( float )samples_psec * ( float ) chan ) * seconds ); + + } + + unsigned int samples_in_bytes ( unsigned int bytes ) const + { + + return ( bytes / (( bits_psample / 8 ) * chan )); + + } + +}; + + + + +extern audio_format UNKNOWN_FORMAT; +extern audio_format A44100_16BIT_STEREO; + + + + + + + +_AUDIO_NAMESPACE_END_ + + + + + + + +#endif //ifdef _AUDIOFORMAT__H_ diff --git a/reactos/base/applications/sndrec32/audio_membuffer.cpp b/reactos/base/applications/sndrec32/audio_membuffer.cpp new file mode 100644 index 00000000000..0f6580e27d3 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_membuffer.cpp @@ -0,0 +1,501 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_membuffer.cpp + * PURPOSE: Audio MemBuffer + * PROGRAMMERS: Marco Pagliaricci + */ + +#include "stdafx.h" +#include "audio_membuffer.hpp" + +_AUDIO_NAMESPACE_START_ + + +void + audio_membuffer::alloc_mem_( unsigned int bytes ) +{ + + // + // Some checking + // + + if ( bytes == 0 ) + return; + + + + + + // + // Checks previsiously alloc'd memory + // and frees it. + // + + if ( audio_data ) + delete[] audio_data; + + + + // + // Allocs new memory and zeros it. + // + + audio_data = new BYTE[ bytes ]; + + + memset( audio_data, 0, bytes * sizeof( BYTE )); + + + + // + // Sets the correct buffer size + // + + buf_size = bytes; + + + init_size = bytes; + + + +} + + +void + audio_membuffer::free_mem_( void ) +{ + + if ( audio_data ) + delete[] audio_data; + + buf_size = 0; + audio_data = 0; + +} + + +void + audio_membuffer::resize_mem_( unsigned int new_size ) +{ + + + if ( new_size == 0 ) + return; + + + // + // The new_size, cannot be <= of the + // `bytes_received' member value of the + // parent class `audio_receiver'. + // We cannot touch received audio data, + // so we have to alloc at least + // bytes_received+1 bytes. + // + // But we can truncate unused memory, so + // `new_size' can be < of `buf_size'. + // + + if ( new_size <= bytes_received ) + return; + + + + + BYTE * new_mem; + + + + // + // Allocs new memory and zeros it. + // + + + new_mem = new BYTE[ new_size ]; + + memset( new_mem, 0, new_size * sizeof( BYTE )); + + + + if ( audio_data ) + { + + + // + // Copies received audio data, and discard + // unused memory. + // + + memcpy( new_mem, audio_data, bytes_received ); + + + + // + // Frees old memory. + // + + delete[] audio_data; + + + + + + // + // Commit new memory. + // + + audio_data = new_mem; + buf_size = new_size; + + + + + } else { + + audio_data = new_mem; + buf_size = new_size; + } + + + if ( buffer_resized ) + buffer_resized( new_size ); + +} + + + + +void + audio_membuffer::truncate_( void ) +{ + + // + // If `buf_size' is already = to the + // `bytes_received' of audio data, then + // this operation is useless; simply return. + // + + if ( bytes_received == buf_size ) + return; + + + + if ( audio_data ) + { + + + // + // Allocs a new buffer. + // + + BYTE * newbuf = new BYTE[ bytes_received ]; + + + + + // + // Copies audio data. + // + + memcpy( newbuf, audio_data, bytes_received ); + + + + // + // Frees old memory. + // + + delete[] audio_data; + + + + // + // Commit the new buffer. + // + + audio_data = newbuf; + buf_size = bytes_received; + + + + // + // Buffer truncation successfull. + // Now the buffer size is exactly big + // as much audio data was received. + // + + + } + + +} + + + + + + +////////////////////////////////////// +/////// Public Functions /////////// +////////////////////////////////////// + + + + +void + audio_membuffer::clear( void ) +{ + + free_mem_(); + + bytes_received = 0; +} + + + +void + audio_membuffer::reset( void ) +{ + + + // + // Frees memory and reset + // to initial state. + // + + clear(); + + + + // + // Alloc memory of size specified + // at the constructor. + // + + alloc_mem_( init_size ); + + +} + +void + audio_membuffer::alloc_bytes( unsigned int bytes ) +{ + + alloc_mem_( bytes ); + +} + + + + +void + audio_membuffer::alloc_seconds( unsigned int secs ) +{ + + alloc_mem_( aud_info.byte_rate() * secs ); + +} + + +void + audio_membuffer::alloc_seconds( float secs ) +{ + + alloc_mem_(( unsigned int )(( float ) aud_info.byte_rate() * secs )); + +} + + + + +void + audio_membuffer::resize_bytes( unsigned int bytes ) +{ + + resize_mem_( bytes ); + +} + + + +void + audio_membuffer::resize_seconds( unsigned int secs ) +{ + + resize_mem_( aud_info.byte_rate() * secs ); + +} + + +void + audio_membuffer::resize_seconds( float secs ) +{ + + resize_mem_(( unsigned int ) + (( float )aud_info.byte_rate() * secs ) + ); + +} + + + + + + +/////////////////////////////////////// +/////// Inherited Functions ///////// +/////////////////////////////////////// + + + + + + + +void + audio_membuffer::audio_receive + ( unsigned char * data, unsigned int size ) +{ + + + // + // If there isn't a buffer, allocs memory for + // it of size*2, and copies audio data arrival. + // + + if (( audio_data == 0 ) || ( buf_size == 0 )) + { + alloc_mem_( size * 2 ); + + memcpy( audio_data, data, size ); + + return; + + } + + + + + + // + // If buffer's free memory is < of `size', + // we have to realloc buffer memory of + // buf_size*2, while free memory is enough + // to contain `size' bytes. + // + // In this case free memory is represented + // by `buf_size - bytes_recorded'. + // + + unsigned int tot_mem = buf_size, + free_mem = buf_size - bytes_received; + + + if ( free_mem < size ) + { + + // + // Calcs new buffer size. + // TODO: flags for other behaviour? + + while ( free_mem < size ) + { + tot_mem *= 2; + + free_mem = tot_mem - bytes_received; + } + + + + // + // Resize buffer memory. + // + + resize_mem_( tot_mem ); + + } + + + // + // Now we have enough free space in the + // buffer, so let's copy audio data arrivals. + // + + memcpy( audio_data + bytes_received, data, size ); + + + + + if ( audio_arrival ) + audio_arrival( aud_info.samples_in_bytes( size )); + + + +} + + +unsigned int + audio_membuffer::read( BYTE * out_buf, unsigned int bytes ) +{ + + // + // Some checking + // + + if ( !audio_data ) + return 0; + + + if ( bytes_played_ >= bytes_received ) + return 0; + + + + unsigned int to_play = + bytes_received - bytes_played_; + + + unsigned int to_copy = + bytes > to_play ? to_play : bytes; + + + // + // Copies the audio data out. + // + + if (( out_buf ) && ( to_copy ) && ( audio_data )) + memcpy( out_buf, audio_data + bytes_played_, to_copy ); + + + // + // Increments the number of total bytes + // played (audio data gone out from the + // `audio_producer' object). + // + + bytes_played_ += bytes; + + + if ( audio_arrival ) + audio_arrival( aud_info.samples_in_bytes( bytes )); + + + // + // Returns the exact size of audio data + // produced. + // + + return to_copy; +} + + +bool + audio_membuffer::finished( void ) +{ + if ( bytes_played_ < bytes_received ) + return false; + else + return true; +} + +_AUDIO_NAMESPACE_END_ diff --git a/reactos/base/applications/sndrec32/audio_membuffer.hpp b/reactos/base/applications/sndrec32/audio_membuffer.hpp new file mode 100644 index 00000000000..4dd27212c57 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_membuffer.hpp @@ -0,0 +1,338 @@ +#ifndef _AUDIOMEMBUFFER__H_ +#define _AUDIOMEMBUFFER__H_ + + + +#include "audio_def.hpp" +#include "audio_receiver.hpp" +#include "audio_format.hpp" +#include "audio_producer.hpp" + + + + +_AUDIO_NAMESPACE_START_ + + + +class audio_membuffer : public audio_receiver, public audio_producer +{ + + + + + + protected: + + BYTE * audio_data; + audio_format aud_info; + unsigned int buf_size; + unsigned int init_size; + + + + // + // Protected Functions + // + + + //allocs N bytes for the audio buffer. + void alloc_mem_( unsigned int ); + + + //frees memory + void free_mem_( void ); + + + //resizes memory, and copies old + //audio data to new-size memory + void resize_mem_( unsigned int ); + + + //truncates and discards unused memory. + //`buf_size' will be the same as `bytes_received'. + void truncate_( void ); + + + + + public: + + + void ( * audio_arrival )( unsigned int ); + void ( * buffer_resized ) ( unsigned int ); + + + // + // Ctors + // + + audio_membuffer( void ) + : audio_data( 0 ), aud_info( _AUDIO_DEFAULT_FORMAT ), + buf_size( 0 ), init_size( 0 ) + { + + // + // Allocs memory for at least 1 or some seconds + // of recording. + // + init_size = ( unsigned int ) + (( float )aud_info.byte_rate() * _AUDIO_DEFAULT_BUFSECS ); + + + alloc_mem_( init_size ); + + + } + + + + audio_membuffer( audio_format aud_fmt ) + : audio_data( 0 ), aud_info( aud_fmt ), buf_size( 0 ), + init_size( 0 ) + { + + // + // Allocs memory for at least 1 or some seconds + // of recording. + // + init_size = ( unsigned int ) + (( float )aud_info.byte_rate() * _AUDIO_DEFAULT_BUFSECS ); + + + alloc_mem_( init_size ); + + } + + + + + audio_membuffer( audio_format aud_fmt, unsigned int seconds ) + : audio_data( 0 ), aud_info( aud_fmt ), buf_size( 0 ), + init_size( 0 ) + { + + // + // Allocs memory for audio recording + // the specified number of seconds. + // + init_size = aud_info.byte_rate() * seconds; + alloc_mem_( init_size ); + + } + + + + audio_membuffer( audio_format aud_fmt, float seconds ) + : audio_data( 0 ), aud_info( aud_fmt ), buf_size( 0 ), + init_size( 0 ) + { + + // + // Allocs memory for audio recording + // the specified number of seconds. + // + init_size = ( unsigned int )(( float ) aud_info.byte_rate() * + seconds <= 0 ? 1 : seconds ); + + + alloc_mem_( init_size ); + + } + + + + + audio_membuffer( unsigned int bytes ) + : audio_data( 0 ), aud_info( _AUDIO_DEFAULT_FORMAT ), + buf_size( 0 ), init_size( 0 ) + { + + // + // Allocs memory for the specified bytes + // + init_size = bytes; + alloc_mem_( init_size ); + + } + + + + + // + // Dtor + // + + virtual ~audio_membuffer( void ) + { + + // + // Frees memory and reset values. + // + + clear(); + + } + + + + + + + + + + // + // Public functions + // + + + + //returns the audio buffer size in bytes. + unsigned int mem_size( void ) const + { return buf_size; } + + + //returns how many audio data has been + //received, in bytes. + unsigned int bytes_recorded( void ) const + { return bytes_received; } + + + //returns the integer number of seconds + //that the buffer can record + unsigned int seconds_total( void ) const + { return buf_size / aud_info.byte_rate(); } + + + //returns the integer number of seconds + //that the buffer can record + unsigned int seconds_recorded( void ) const + { return bytes_received / aud_info.byte_rate(); } + + + //returns the float number of seconds + //that the buffer can record + float fseconds_total( void ) const + { return ( float )(( float ) buf_size / + ( float ) aud_info.byte_rate()); } + + + //returns the float number of seconds + //that has been recorded + float fseconds_recorded( void ) const + { return ( float )(( float ) bytes_received / + ( float ) aud_info.byte_rate()); } + + + unsigned int total_samples( void ) const + { + + return ( aud_info.samples_in_seconds( fseconds_total() )); + + } + + + unsigned int samples_received( void ) const + { + + + return ( aud_info.samples_in_bytes( bytes_received )); + + } + + + + //returns a pointer to the audio buffer + BYTE * audio_buffer( void ) const + { return audio_data; } + + + + //frees memory and resets values. + void clear( void ); + + + audio_format & audinfo( void ) { return aud_info; } + + + //discard audio data, resets values, + //but, instead of clear() which frees memory, + //reset the memory to the initial size, ready + //for receiving "new" audio data. + void reset( void ); + + + //truncates and discards unused memory. + //`buf_size' will be the same as `bytes_received'. + void truncate( void ) + { truncate_( ); }//TODO: fare truncate N bytes + + + //if there is a buffer, discards current buffer + //memory and realloc a new memory buffer with a + //new size expressed in bytes. + void alloc_bytes( unsigned int ); + + + + //if there is a buffer, discards current buffer + //memory and realloc a new memory buffer with a + //new size expressed in seconds, integer and float. + void alloc_seconds( unsigned int ); + void alloc_seconds( float ); + + + + //resizes in bytes the current buffer, + //without discarding previsiously audio data received. + void resize_bytes( unsigned int ); + + + //resizes in seconds the current buffer, + //without discarding previsiously audio data received. + void resize_seconds( unsigned int ); + void resize_seconds( float ); + + + + + + + + + + // + // Inherited Functions from `audio_receiver' + // + + void audio_receive( unsigned char *, unsigned int ); + + + + + // + // Inherited Functions from `audio_buffer' + // + + + unsigned int read( BYTE *, unsigned int ); + bool finished( void ); + + + +}; + + + + + + + +_AUDIO_NAMESPACE_END_ + + + + + +#endif //ifdef _AUDIOMEMBUFFER__H_ diff --git a/reactos/base/applications/sndrec32/audio_producer.cpp b/reactos/base/applications/sndrec32/audio_producer.cpp new file mode 100644 index 00000000000..6afcbb4271b --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_producer.cpp @@ -0,0 +1,12 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_producer.cpp + * PURPOSE: Audio Format + * PROGRAMMERS: Marco Pagliaricci + */ + + +#include "StdAfx.h" +#include "audio_producer.hpp" + diff --git a/reactos/base/applications/sndrec32/audio_producer.hpp b/reactos/base/applications/sndrec32/audio_producer.hpp new file mode 100644 index 00000000000..8fe534854ca --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_producer.hpp @@ -0,0 +1,112 @@ +#ifndef _AUDIOAUDBUF__H_ +#define _AUDIOAUDBUF__H_ + + + +#include "audio_def.hpp" + + +_AUDIO_NAMESPACE_START_ + + +class audio_producer +{ + + + protected: + + + unsigned int bytes_played_; + + + + + + public: + + + // + // Ctors + // + + audio_producer ( ) : bytes_played_( 0 ) + { } + + + + + + + + + + // + // Dtor + // + + virtual ~audio_producer( void ) + { } + + + + + // + // Public Functions + // + + + //reads N bytes from the buffer + virtual unsigned int read( BYTE *, unsigned int ) = 0; + + virtual bool finished ( void ) = 0; + + + + + unsigned int bytes_played( void ) const + { + return bytes_played_; + } + + + void set_position( unsigned int pos ) + { + bytes_played_ = pos; + } + + void set_position_start( void ) + { + bytes_played_ = 0 ; + } + + + + void forward( unsigned int bytes ) + { + bytes_played_ += bytes ; + } + + + void backward( unsigned int bytes ) + { + bytes_played_ += bytes ; + } + + void ( * play_finished )( void ); + + + + +}; + + + + +_AUDIO_NAMESPACE_END_ + + + + + + +#endif //ifdef _AUDIOAUDBUF__H_ diff --git a/reactos/base/applications/sndrec32/audio_receiver.cpp b/reactos/base/applications/sndrec32/audio_receiver.cpp new file mode 100644 index 00000000000..77b7c3f3d50 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_receiver.cpp @@ -0,0 +1,17 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_producer.cpp + * PURPOSE: Audio Format + * PROGRAMMERS: Marco Pagliaricci + */ + +#include "stdafx.h" +#include "audio_receiver.hpp" + + + + +_AUDIO_NAMESPACE_START_ + +_AUDIO_NAMESPACE_END_ diff --git a/reactos/base/applications/sndrec32/audio_receiver.hpp b/reactos/base/applications/sndrec32/audio_receiver.hpp new file mode 100644 index 00000000000..6d6e693cee1 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_receiver.hpp @@ -0,0 +1,103 @@ +#ifndef _AUDIORECEIVER_DEF__H_ +#define _AUDIORECEIVER_DEF__H_ + + + +#include "audio_def.hpp" + + + + +_AUDIO_NAMESPACE_START_ + + + + +//TODO: differenziare audio_receiver da audio_sink? +//TODO: creare un audio_receiver Tee + + + + + +class audio_receiver +{ + + // + // The `audio_wavein' class, while is + // recording audio, has to access to + // protected members of `audio_receiver' + // such as `bytes_received' protected + // variable. + // + + friend class audio_wavein; + + + + + + + protected: + + + unsigned int bytes_received; + unsigned int status; + + + + public: + + + // + // Ctors + // + + audio_receiver( void ) + : bytes_received( 0 ) + { } + + + + + + // + // Dtor + // + + virtual ~audio_receiver( void ) + { } + + + + + // + // Public Functions + // + + virtual void audio_receive( unsigned char *, unsigned int ) = 0; + + //virtual void start_rec( void ) = 0; + //virtual void stop_rec( void ) = 0; + + + + void set_b_received( unsigned int r ) + { bytes_received = r; } +}; + + + + + + + +_AUDIO_NAMESPACE_END_ + + + + + + + +#endif //ifdef _AUDIORECEIVER_DEF__H_ diff --git a/reactos/base/applications/sndrec32/audio_resampler_acm.cpp b/reactos/base/applications/sndrec32/audio_resampler_acm.cpp new file mode 100644 index 00000000000..fa2617ac177 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_resampler_acm.cpp @@ -0,0 +1,387 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_resampler_acm.cpp + * PURPOSE: Audio Resampler + * PROGRAMMERS: Marco Pagliaricci + */ + +#include "stdafx.h" +#include "audio_resampler_acm.hpp" + +_AUDIO_NAMESPACE_START_ + + + ///////////////////////////////////////// + /////// Private Functions //////// + ///////////////////////////////////////// + + + void + audio_resampler_acm::init_( void ) +{ + + + + // + // Zeroing structures + // + + ZeroMemory( &acm_header, sizeof( ACMSTREAMHEADER )); + ZeroMemory( &wformat_src, sizeof( WAVEFORMATEX )); + ZeroMemory( &wformat_dst, sizeof( WAVEFORMATEX )); + + + + + // + // Setting structures sizes + // + + acm_header.cbStruct = sizeof( ACMSTREAMHEADER ); + wformat_src.cbSize = sizeof( WAVEFORMATEX ); + wformat_dst.cbSize = sizeof( WAVEFORMATEX ); + + + + + // + // Setting WAVEFORMATEX structure parameters + // according to `audio_format' in/out classes + // + + wformat_src.wFormatTag = WAVE_FORMAT_PCM; + wformat_src.nSamplesPerSec = audfmt_in.sample_rate(); + wformat_src.nChannels = audfmt_in.channels(); + wformat_src.wBitsPerSample = audfmt_in.bits(); + wformat_src.nAvgBytesPerSec = audfmt_in.byte_rate(); + wformat_src.nBlockAlign = audfmt_in.block_align(); + + + wformat_dst.wFormatTag = WAVE_FORMAT_PCM; + wformat_dst.nSamplesPerSec = audfmt_out.sample_rate(); + wformat_dst.nChannels = audfmt_out.channels(); + wformat_dst.wBitsPerSample = audfmt_out.bits(); + wformat_dst.nAvgBytesPerSec = audfmt_out.byte_rate(); + wformat_dst.nBlockAlign = audfmt_out.block_align(); + + + + // + // Init acm structures completed successfull + // +} + + + + + + + + + + + +///////////////////////////////////////// +/////// Public Functions //////// +///////////////////////////////////////// + + + + +void + audio_resampler_acm::open( void ) +{ + + + MMRESULT err; + + + // + // Opens ACM stream + // + + err = acmStreamOpen( &acm_stream, 0, &wformat_src, &wformat_dst, + 0, 0, 0, ACM_STREAMOPENF_NONREALTIME ); + + + if ( err != MMSYSERR_NOERROR ) + { + //TODO: throw error + printf("acmOpen error: %i\n", err); + + } + + + + // + // Calcs source buffer lenght + // + + src_buflen = ( unsigned int ) + (( float )audfmt_in.byte_rate() * ( float )buf_secs ); + + + + + + + // + // Calcs destination source buffer lenght + // with help of ACM apis + // + + err = acmStreamSize( acm_stream, + src_buflen, &dst_buflen, ACM_STREAMSIZEF_SOURCE ); + + + if ( err != MMSYSERR_NOERROR ) + { + //TODO: throw error + printf("acmSize error\n"); + + } + + + + // + // Initialize ACMSTREAMHEADER structure, + // and alloc memory for source and destination + // buffers. + // + + acm_header.fdwStatus = 0; + acm_header.dwUser = 0; + + + acm_header.pbSrc = ( LPBYTE ) new BYTE [ src_buflen ]; + acm_header.cbSrcLength = src_buflen; + acm_header.cbSrcLengthUsed = 0; + acm_header.dwSrcUser = src_buflen; + + + acm_header.pbDst = ( LPBYTE ) new BYTE [ dst_buflen ]; + acm_header.cbDstLength = dst_buflen; + acm_header.cbDstLengthUsed = 0; + acm_header.dwDstUser = dst_buflen; + + + + + // + // Give ACMSTREAMHEADER initialized correctly to the + // driver. + // + + err = acmStreamPrepareHeader( acm_stream, &acm_header, 0L ); + + if ( err != MMSYSERR_NOERROR ) + { + //TODO: throw error + printf("prep. header error\n"); + } + + + + + // + // ACM stream successfully opened. + // + + stream_opened = true; + +} + + + + +void + audio_resampler_acm::close( void ) +{ + + + MMRESULT err; + + + if ( acm_stream ) + { + + if ( acm_header.fdwStatus & ACMSTREAMHEADER_STATUSF_PREPARED ) + { + + acm_header.cbSrcLength = src_buflen; + acm_header.cbDstLength = dst_buflen; + + err = acmStreamUnprepareHeader( acm_stream, &acm_header, 0L ); + + + if ( err != MMSYSERR_NOERROR ) + { + + // + // Free buffer memory + // + + if ( acm_header.pbSrc != 0 ) + delete[] acm_header.pbSrc; + + if ( acm_header.pbDst != 0 ) + delete[] acm_header.pbDst; + + + // + // Re-init structures + // + + init_(); + + // + // Updating status + // + + stream_opened = false; + + + //TODO: throw error + + } + } + + + err = acmStreamClose( acm_stream, 0 ); + acm_stream = 0; + + if ( err != MMSYSERR_NOERROR ) + { + + // + // Free buffer memory + // + + if ( acm_header.pbSrc != 0 ) + delete[] acm_header.pbSrc; + + if ( acm_header.pbDst != 0 ) + delete[] acm_header.pbDst; + + + // + // Re-init structures + // + + init_(); + + + // + // Updating status + // + + stream_opened = false; + + + //TODO: throw error! + + } + + + }//if acm_stream != 0 + + + + + + + // + // Free buffer memory + // + + if ( acm_header.pbSrc != 0 ) + delete[] acm_header.pbSrc; + + if ( acm_header.pbDst != 0 ) + delete[] acm_header.pbDst; + + + // + // Re-init structures + // + + init_(); + + + // + // Updating status + // + + stream_opened = false; + + + + // + // ACM sream successfully closed. + // + + +} + + + + +void + audio_resampler_acm::audio_receive( unsigned char * data, unsigned int size ) +{ + + MMRESULT err; + + // + // Checking for acm stream opened + // + + if ( stream_opened ) + { + + + // + // Copy audio data from extern to + // internal source buffer + // + + memcpy( acm_header.pbSrc, data, size ); + + + acm_header.cbSrcLength = size; + acm_header.cbDstLengthUsed = 0; + + err = acmStreamConvert( acm_stream, &acm_header, ACM_STREAMCONVERTF_BLOCKALIGN ); + + if ( err != MMSYSERR_NOERROR ) + { + //TODO: throw error + printf("acm convert error\n"); + + } + + + // + // Wait for sound conversion + // + + while(( ACMSTREAMHEADER_STATUSF_DONE & acm_header.fdwStatus ) == 0 ); + + + printf("Processed successfully %lu bytes of audio.\n", acm_header.cbDstLengthUsed ); + + + + // + // Copy resampled audio, to destination buffer. + // + + //memcpy( pbOutputData, acm_header.pbDst, acm_header.cbDstLengthUsed ); + + + } + +} + +_AUDIO_NAMESPACE_END_ diff --git a/reactos/base/applications/sndrec32/audio_resampler_acm.hpp b/reactos/base/applications/sndrec32/audio_resampler_acm.hpp new file mode 100644 index 00000000000..bce7b32ae9e --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_resampler_acm.hpp @@ -0,0 +1,99 @@ +#ifndef _AUDIORESAMPLERACM__H_ +#define _AUDIORESAMPLERACM__H_ + + + +#include "audio_def.hpp" +#include "audio_receiver.hpp" +#include "audio_format.hpp" + + + + +_AUDIO_NAMESPACE_START_ + + + +//TODO: inherit from a base resampler? +class audio_resampler_acm : public audio_receiver +{ + + private: + void init_( void ); + + + protected: + + + HACMSTREAM acm_stream; + ACMSTREAMHEADER acm_header; + DWORD src_buflen; + DWORD dst_buflen; + bool stream_opened; + + audio_format audfmt_in; + audio_format audfmt_out; + + float buf_secs; + + WAVEFORMATEX wformat_src; + WAVEFORMATEX wformat_dst; + + + + + public: + + + // + // Ctors + // + + audio_resampler_acm( audio_format fmt_in, audio_format fmt_out ) + : acm_stream( 0 ), src_buflen( 0 ), dst_buflen( 0 ), + stream_opened( false ), audfmt_in( fmt_in ), audfmt_out( fmt_out ), + buf_secs( _AUDIO_DEFAULT_BUFSECS ) + + { + + + init_(); + + + } + + + + + + // + // Dtor + // + + ~audio_resampler_acm( void ) + { } + + + + // + // Public functions + // + + void open( void ); + void close( void ); + + + + void audio_receive( unsigned char *, unsigned int ); + + + +}; + + +_AUDIO_NAMESPACE_END_ + + + + +#endif //ifdef _AUDIORESAMPLERACM_H_ diff --git a/reactos/base/applications/sndrec32/audio_wavein.cpp b/reactos/base/applications/sndrec32/audio_wavein.cpp new file mode 100644 index 00000000000..4d92f24e4e1 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_wavein.cpp @@ -0,0 +1,880 @@ +/* +* PROJECT: ReactOS Sound Record Application +* LICENSE: GPL - See COPYING in the top level directory +* FILE: base/applications/sndrec32/audio_wavein.cpp +* PURPOSE: Audio WaveIn +* PROGRAMMERS: Marco Pagliaricci +*/ + +#include "stdafx.h" +#include "audio_wavein.hpp" + + + +_AUDIO_NAMESPACE_START_ + + + void + audio_wavein::init_( void ) +{ + ZeroMemory(( LPVOID ) &wave_format, + sizeof( WAVEFORMATEX )); + + wave_format.cbSize = sizeof( WAVEFORMATEX ); + + wavein_handle = 0; + recthread_id = 0; + wakeup_recthread = 0; + + buf_secs = _AUDIO_DEFAULT_WAVEINBUFSECS; + + + status = WAVEIN_NOTREADY; +} + + +void + audio_wavein::alloc_buffers_mem_( unsigned int buffs, float secs ) +{ + + + unsigned int + onebuf_size = 0, tot_size = 0; + + + // + // Release old memory + // + + if ( main_buffer ) + delete[] main_buffer; + + + if ( wave_headers ) + delete[] wave_headers; + + + + // + // Calcs size of the buffers + // + + onebuf_size = ( unsigned int ) + (( float )aud_info.byte_rate() * secs ); + + + tot_size = onebuf_size * buffs; + + + + + // + // Allocs memory for the audio buffers + // + + main_buffer = new BYTE [ tot_size ]; + + + + // + // Allocs memory for the `WAVEHDR' structures. + // + + wave_headers = ( WAVEHDR * ) + new BYTE [ sizeof( WAVEHDR ) * buffs ]; + + + + // + // Zeros memory. + // + + ZeroMemory( main_buffer, tot_size ); + + ZeroMemory( wave_headers, + sizeof( WAVEHDR ) * buffs ); + + + // + // Updates total size of the buffers. + // + + mb_size = tot_size; + +} + + +void + audio_wavein::free_buffers_mem_( void ) +{ + + + // + // Frees memory + // + + if ( main_buffer ) + delete[] main_buffer; + + + if ( wave_headers ) + delete[] wave_headers; + + + main_buffer = 0; + wave_headers = 0; + +} + + +void + audio_wavein::init_headers_( void ) +{ + + + + // + // If there is no memory for memory or + // headers, simply return. + // + + if (( !wave_headers ) || ( !main_buffer )) + return; + + + // + // This is the size for one buffer + // + + DWORD buf_sz = mb_size / buffers; + + + + // + // This is the base address for one buffer + // + + BYTE * buf_addr = main_buffer; + + + // + // Initializes headers. + // + + for ( unsigned int i = 0; i < buffers; ++i ) + { + wave_headers[ i ].dwBufferLength = mb_size / buffers; + wave_headers[ i ].lpData = ( LPSTR ) buf_addr; + + buf_addr += buf_sz; + } + +} + + +void + audio_wavein::prep_headers_( void ) +{ + MMRESULT err; + bool error = false; + + + // + // If there is no memory for memory or + // headers, throw error. + // + + if (( !wave_headers ) + || ( !main_buffer ) || ( !wavein_handle )) + {} //TODO: throw error! + + + + for ( unsigned int i = 0; i < buffers; ++i ) + { + err = waveInPrepareHeader( wavein_handle, + &wave_headers[ i ], sizeof( WAVEHDR )); + + + if ( err != MMSYSERR_NOERROR ) + error = true; + + } + + + if ( error ) + MessageBox( 0, TEXT("waveInPrepareHeader Error."), 0, 0 ); + + + +} + +void + audio_wavein::unprep_headers_( void ) +{ + MMRESULT err; + bool error = false; + + + + // + // If there is no memory for memory or + // headers, throw error. + // + + if (( !wave_headers ) + || ( !main_buffer ) || ( !wavein_handle )) + {} //TODO: throw error! + + + + for ( unsigned int i = 0; i < buffers; ++i ) + { + err = waveInUnprepareHeader( wavein_handle, + &wave_headers[ i ], sizeof( WAVEHDR )); + + + if ( err != MMSYSERR_NOERROR ) + error = true; + + } + + + if ( error ) + MessageBox( 0, TEXT("waveInUnPrepareHeader Error."), 0, 0 ); + +} + + +void + audio_wavein::add_buffers_to_driver_( void ) +{ + MMRESULT err; + bool error = false; + + + + // + // If there is no memory for memory or + // headers, throw error. + // + + if (( !wave_headers ) + || ( !main_buffer ) || ( !wavein_handle )) + {} //TODO: throw error! + + + + + for ( unsigned int i = 0; i < buffers; ++i ) + { + err = waveInAddBuffer( wavein_handle, + &wave_headers[ i ], sizeof( WAVEHDR )); + + + if ( err != MMSYSERR_NOERROR ) + error = true; + + } + + + if ( error ) + MessageBox( 0, TEXT("waveInAddBuffer Error."), 0, 0 ); + +} + + + +void + audio_wavein::close( void ) +{ + + + + + // + // If wavein object is already in the status + // NOTREADY, nothing to do. + // + + if ( status == WAVEIN_NOTREADY ) + return; + + + + // + // If the wavein is recording, + // then stop recording and close it. + // + + if ( status == WAVEIN_RECORDING ) + stop_recording(); + + + // + // Updating status. + // + + status = WAVEIN_NOTREADY; + + + + + // + // Wakeing up recording thread, so it + // can receive the `MM_WIM_CLOSE' message + // then dies. + // + if ( wakeup_recthread ) + SetEvent( wakeup_recthread ); + + + + // + // Closing wavein stream + // + + while (( waveInClose( wavein_handle )) + != MMSYSERR_NOERROR ) Sleep( 1 ); + + + + // + // Release buffers memory. + // + + free_buffers_mem_(); + + + // + // Re-initialize variables to the + // initial state. + // + + init_(); + +} + + +void + audio_wavein::open( void ) +{ + + MMRESULT err; + HANDLE recthread_handle = 0; + + + // + // Checkin the status of the object + // + + if ( status != WAVEIN_NOTREADY ) + {} //TODO: throw error + + + + // + // Creating the EVENT object that will be signaled + // when the recording thread has to wake up. + // + + wakeup_recthread = + CreateEvent( 0, FALSE, FALSE, 0 ); + + + data_flushed_event = + CreateEvent( 0, FALSE, FALSE, 0 ); + + + + if (( !wakeup_recthread ) || ( !data_flushed_event )) + { + + + status = WAVEIN_ERR; + + MessageBox( 0, TEXT("Thread Error."), 0, 0 ); + + //TODO: throw error + } + + + + // + // Inialize buffers for recording audio + // data from the wavein audio line. + // + + alloc_buffers_mem_( buffers, buf_secs ); + init_headers_(); + + + + + + + // + // Sound format that will be captured by wavein + // + + wave_format.wFormatTag = WAVE_FORMAT_PCM; + + wave_format.nChannels = aud_info.channels(); + wave_format.nSamplesPerSec = aud_info.sample_rate(); + wave_format.wBitsPerSample = aud_info.bits(); + wave_format.nBlockAlign = aud_info.block_align(); + wave_format.nAvgBytesPerSec = aud_info.byte_rate(); + + + + // + // Creating the recording thread + // + + recthread_handle = + CreateThread( NULL, + 0, + audio_wavein::recording_procedure, + ( PVOID ) this, + 0, + &recthread_id + ); + + + + // + // Checking thread handle + // + + if ( !recthread_handle ) + { + + // + // Updating status + // + + status = WAVEIN_ERR; + + MessageBox( 0, TEXT("Thread Error."), 0, 0 ); + //TODO: throw error + + } + + + // + // We don't need the thread handle anymore, + // so we can close it from now. (We'll just + // need the thread ID for the `waveInOpen' API) + // + + CloseHandle( recthread_handle ); + + + + // + // Opening audio line wavein + // + + err = waveInOpen( &wavein_handle, + 0, + &wave_format, + recthread_id, + 0, + CALLBACK_THREAD + ); + + + if ( err != MMSYSERR_NOERROR ) + { + + + // + // Updating status + // + + status = WAVEIN_ERR; + + if ( err == WAVERR_BADFORMAT ) + MessageBox( 0, TEXT("waveInOpen Error"), 0, 0 ); + + + //TODO: throw error + } + + + // + // Update object status + // + + status = WAVEIN_READY; + + + + // + // Now `audio_wavein' object is ready + // for audio recording! + // +} + + + +void + audio_wavein::start_recording( void ) +{ + + MMRESULT err; + BOOL ev; + + + + if (( status != WAVEIN_READY ) + && ( status != WAVEIN_STOP )) + {} //TODO: throw error + + + + + // + // Updating to the recording status + // + + status = WAVEIN_RECORDING; + + + + + // + // Let's prepare header of type WAVEHDR that + // we will pass to the driver with our + // audio informations, and buffer informations. + // + + prep_headers_(); + + + + // + // The waveInAddBuffer function sends an input buffer + // to the given waveform-audio input device. + // When the buffer is filled, the application is notified. + // + + add_buffers_to_driver_(); + + + + + + // + // Signaling event for waking up + // the recorder thread. + // + + ev = SetEvent( wakeup_recthread ); + + + if ( !ev ) + { + + + MessageBox( 0, TEXT("Event Error."), 0, 0 ); + + } + + + // + // Start recording + // + + + err = waveInStart( wavein_handle ); + + + if ( err != MMSYSERR_NOERROR ) + { + + // + // Updating status + // + + status = WAVEIN_ERR; + + MessageBox( 0, TEXT("waveInStart Error."), 0, 0 ); + + + //TODO: throw error + + } + +} + + + +void + audio_wavein::stop_recording( void ) +{ + + + MMRESULT err; + DWORD wait; + + + if ( status != WAVEIN_RECORDING ) + return; + + + + status = WAVEIN_FLUSHING; + + + if ( data_flushed_event ) + wait = WaitForSingleObject( + data_flushed_event, INFINITE + ); + + + + // + // waveInReset will make all pending buffer as done. + // + + err = waveInReset( wavein_handle ); + + + if ( err != MMSYSERR_NOERROR ) + { + + //TODO: throw error + + MessageBox( 0, TEXT("waveInReset Error."), 0, 0 ); + + + + } + + + + // + // Stop recording. + // + + err = waveInStop( wavein_handle ); + + + if ( err != MMSYSERR_NOERROR ) + { + + //TODO: throw error + + MessageBox( 0, TEXT("waveInStop Error."), 0, 0 ); + + + + } + + + // + // The waveInUnprepareHeader function cleans up the + // preparation performed by the waveInPrepareHeader function. + // + + unprep_headers_(); + + + + + + + + + + + + status = WAVEIN_STOP; + +} + + + +DWORD WINAPI + audio_wavein::recording_procedure( LPVOID arg ) +{ + + + MSG msg; + WAVEHDR * phdr; + DWORD wait; + audio_wavein * _this = ( audio_wavein * ) arg; + + + + + // + // Check the arg pointer + // + + if ( _this == 0 ) + return 0; + + + + // + // The thread can go to sleep for now. + // It will be wake up only when there is audio data + // to be recorded. + // + + if ( _this->wakeup_recthread ) + wait = WaitForSingleObject( + _this->wakeup_recthread, INFINITE + ); + + + + + + + // + // If status of the `audio_wavein' object + // is not ready or recording the thread can exit. + // + + if (( _this->status != WAVEIN_READY ) && + ( _this->status != WAVEIN_RECORDING )) + return 0; + + + + + + + + // + // Entering main polling loop + // + + while ( GetMessage( &msg, 0, 0, 0 )) + { + + switch ( msg.message ) + { + + case MM_WIM_DATA: + + phdr = ( WAVEHDR * ) msg.lParam; + + if (( _this->status == WAVEIN_RECORDING ) + || ( _this->status == WAVEIN_FLUSHING )) + { + + // + // Flushes recorded audio data to + // the `audio_receiver' object. + // + + _this->audio_rcvd.audio_receive( + ( unsigned char * )phdr->lpData, + phdr->dwBytesRecorded + ); + + + // + // Updating `audio_receiver' total + // bytes received _AFTER_ calling + // `audio_receive' function. + // + + _this->audio_rcvd.bytes_received += + phdr->dwBytesRecorded; + + + + + // + // If status is not flushing data, then + // we can re-add the buffer for reusing it. + // Otherwise, if we are flushing pending data, + // we cannot re-add buffer because we don't need + // it anymore + // + + if ( _this->status != WAVEIN_FLUSHING ) + { + + // + // Let the audio driver reuse the buffer + // + + waveInAddBuffer( _this->wavein_handle, + phdr, sizeof( WAVEHDR )); + + + } else { + + // + // If we are flushing pending data, we have + // to prepare to stop recording. + // Set WAVEHDR flag to 0, and fires the event + // `data_flushed_event', that will wake up + // the main thread that is sleeping into + // wavein_in::stop_recording() member function, + // waiting the last `MM_WIM_DATA' message that + // contain pending data. + // + + + + + phdr->dwFlags = 0; + + SetEvent( _this->data_flushed_event ); + + + // + // The recording is gooing to stop, so the + // recording thread can go to sleep! + // + + wait = WaitForSingleObject( + _this->wakeup_recthread, INFINITE ); + + } + + + }//if WAVEIN_RECORDING || WAVEIN_FLUSHING + + break; + + + + + + + + + + case MM_WIM_CLOSE: + + // + // The thread can exit now. + // + + return 0; + + break; + + + + } //end switch( msg.message ) + + } //end while( GetMessage( ... )) + + return 0; +} + + + + + + +_AUDIO_NAMESPACE_END_ diff --git a/reactos/base/applications/sndrec32/audio_wavein.hpp b/reactos/base/applications/sndrec32/audio_wavein.hpp new file mode 100644 index 00000000000..3c73077729e --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_wavein.hpp @@ -0,0 +1,271 @@ +#ifndef _AUDIOWAVEIN_H_ +#define _AUDIOWAVEIN_H_ + + + +#include "audio_def.hpp" +#include "audio_format.hpp" +#include "audio_receiver.hpp" + + + +_AUDIO_NAMESPACE_START_ + + + + +enum audio_wavein_status { WAVEIN_NOTREADY, WAVEIN_READY, + WAVEIN_RECORDING, WAVEIN_ERR, + WAVEIN_STOP, WAVEIN_FLUSHING + + }; + + + + + +class audio_wavein +{ + private: + + + + // + // The new recording thread sends message to this procedure + // about open recording, close, and sound data recorded + // + + static DWORD WINAPI recording_procedure( LPVOID ); + + // + // When this event is signaled, then the previsiously created + // recording thread will wake up and start recording audio + // and will pass audio data to an `audio_receiver' object. + // + + HANDLE wakeup_recthread; + HANDLE data_flushed_event; + + + + + protected: + + +//TODO: puts these structs in private?! + + + + + // + // Audio wavein device stuff + // + + WAVEFORMATEX wave_format; + WAVEHDR * wave_headers; + HWAVEIN wavein_handle; + + + + + + audio_format aud_info; + + audio_receiver & audio_rcvd; + + + + // + // Audio Recorder Thread id + // + + DWORD recthread_id; + + + + + // + // Object status + // + + audio_wavein_status status; + + + + + + + + // + // How many seconds of audio + // can record the internal buffer + // before flushing audio data + // to the `audio_receiver' class? + // + + float buf_secs; + + + // + // The temporary buffers for the audio + // data incoming from the wavein device + // and its size, and its total number. + // + + BYTE * main_buffer; + unsigned int mb_size; + + unsigned int buffers; + + + + + + // + // Protected Functions + // + + + //initialize all structures and variables. + void init_( void ); + + void alloc_buffers_mem_( unsigned int, float ); + void free_buffers_mem_( void ); + + void init_headers_( void ); + void prep_headers_( void ); + void unprep_headers_( void ); + void add_buffers_to_driver_( void ); + + + + + + + + public: + + + // + // Ctors + // + + audio_wavein( + const audio_format & a_info, audio_receiver & a_receiver ) + + : wave_headers( 0 ), + aud_info( a_info ), audio_rcvd( a_receiver ), + status( WAVEIN_NOTREADY ), main_buffer( 0 ), mb_size( 0 ), + buffers( _AUDIO_DEFAULT_WAVEINBUFFERS ) + { + + // + // Initializing internal wavein data + // + + + init_(); + + aud_info = a_info; + } + + + + + + + + // + // Dtor + // + + ~audio_wavein( void ) + { + + //close(); TODO! + + } + + + + // + // Public functions + // + + void open( void ); + void close ( void ); + + + void start_recording( void ); + void stop_recording( void ); + + + + audio_wavein_status current_status ( void ) const + { + return status; + } + + float buffer_secs( void ) const + { return buf_secs; } + + + void buffer_secs( float bsecs ) + { + // + // Some checking + // + + if ( bsecs <= 0 ) + return; + + + // + // Set seconds lenght for each + // buffer. + // + + buf_secs = bsecs; + } + + + unsigned int total_buffers( void ) const + { return buffers; } + + + + void total_buffers( unsigned int tot_bufs ) + { + + // + // Some checking + // + + if ( tot_bufs == 0 ) + return; + + + // + // Sets the number of total buffers. + // + + buffers = tot_bufs; + } + + + audio_format format( void ) const + { return aud_info; } + + + +}; + + + + +_AUDIO_NAMESPACE_END_ + + + + +#endif //ifdef _AUDIOWAVEIN_H_ diff --git a/reactos/base/applications/sndrec32/audio_waveout.cpp b/reactos/base/applications/sndrec32/audio_waveout.cpp new file mode 100644 index 00000000000..18405b3d0b3 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_waveout.cpp @@ -0,0 +1,889 @@ +/* + * PROJECT: ReactOS Sound Record Application + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/sndrec32/audio_waveout.cpp + * PURPOSE: Audio WaveOut + * PROGRAMMERS: Marco Pagliaricci + */ + + +#include "stdafx.h" +#include "audio_waveout.hpp" + + +_AUDIO_NAMESPACE_START_ + + + +void +audio_waveout::init_( void ) +{ + + ZeroMemory(( LPVOID ) &wave_format, + sizeof( WAVEFORMATEX )); + + wave_format.cbSize = sizeof( WAVEFORMATEX ); + + waveout_handle = 0; + + playthread_id = 0; + wakeup_playthread = 0; + + buf_secs = _AUDIO_DEFAULT_WAVEOUTBUFSECS; + + + status = WAVEOUT_NOTREADY; + +} + + + + +void +audio_waveout::alloc_buffers_mem_( unsigned int buffs, float secs ) +{ + + + unsigned int + onebuf_size = 0, tot_size = 0; + + + // + // Release old memory + // + + if ( main_buffer ) + delete[] main_buffer; + + + if ( wave_headers ) + delete[] wave_headers; + + + + // + // Calcs size of the buffers + // + + onebuf_size = ( unsigned int ) + (( float )aud_info.byte_rate() * secs ); + + + tot_size = onebuf_size * buffs; + + + + + // + // Allocs memory for the audio buffers + // + + main_buffer = new BYTE [ tot_size ]; + + + + // + // Allocs memory for the `WAVEHDR' structures. + // + + wave_headers = ( WAVEHDR * ) + new BYTE [ sizeof( WAVEHDR ) * buffs ]; + + + + // + // Zeros memory. + // + + ZeroMemory( main_buffer, tot_size ); + + ZeroMemory( wave_headers, + sizeof( WAVEHDR ) * buffs ); + + + // + // Updates total size of the buffers. + // + + mb_size = tot_size; +} + + +void +audio_waveout::init_headers_( void ) +{ + + + + // + // If there is no memory for memory or + // headers, simply return. + // + + if (( !wave_headers ) || ( !main_buffer )) + return; + + + // + // This is the size for one buffer + // + + DWORD buf_sz = mb_size / buffers; + + + + // + // This is the base address for one buffer + // + + BYTE * buf_addr = main_buffer; + + + + ZeroMemory( wave_headers, sizeof( WAVEHDR ) * buffers ); + + + // + // Initializes headers. + // + + for ( unsigned int i = 0; i < buffers; ++i ) + { + + // + // Sets the correct base address and + // lenght for the little buffer. + // + + wave_headers[ i ].dwBufferLength = mb_size / buffers; + wave_headers[ i ].lpData = ( LPSTR ) buf_addr; + + // + // Unsets the WHDR_DONE flag. + // + + wave_headers[ i ].dwFlags &= ~WHDR_DONE; + + + + // + // Sets the WAVEHDR user data with an + // unique little buffer ID# + // + + wave_headers[ i ].dwUser = ( unsigned int ) i; + + + + // + // Increments little buffer base address. + // + + buf_addr += buf_sz; + } + +} + + +void +audio_waveout::prep_headers_( void ) +{ + MMRESULT err; + bool error = false; + + + // + // If there is no memory for memory or + // headers, throw error. + // + + if (( !wave_headers ) + || ( !main_buffer ) || ( !waveout_handle )) + {} //TODO: throw error! + + + + for ( unsigned int i = 0; i < buffers; ++i ) + { + err = waveOutPrepareHeader( waveout_handle, + &wave_headers[ i ], sizeof( WAVEHDR )); + + + if ( err != MMSYSERR_NOERROR ) + error = true; + + } + + + if ( error ) + {} //TODO: throw error indicating which + //header i-th is errorneous + + + +} + +void +audio_waveout::unprep_headers_( void ) +{ + MMRESULT err; + bool error = false; + + + + // + // If there is no memory for memory or + // headers, throw error. + // + + if (( !wave_headers ) + || ( !main_buffer ) || ( !waveout_handle )) + {} //TODO: throw error! + + + + for ( unsigned int i = 0; i < buffers; ++i ) + { + err = waveOutUnprepareHeader( waveout_handle, + &wave_headers[ i ], sizeof( WAVEHDR )); + + + if ( err != MMSYSERR_NOERROR ) + error = true; + + } + + + if ( error ) + {} //TODO: throw error indicating which + //header i-th is errorneous + +} + + + + + + + + + +void +audio_waveout::free_buffers_mem_( void ) +{ + + + + // + // Frees memory + // + + if ( main_buffer ) + delete[] main_buffer; + + + if ( wave_headers ) + delete[] wave_headers; + + + main_buffer = 0; + wave_headers = 0; + + + + +} + + + + + + + + + + + + + + +void +audio_waveout::open( void ) +{ + + MMRESULT err; + HANDLE playthread_handle = 0; + + + // + // Checkin the status of the object + // + + if ( status != WAVEOUT_NOTREADY ) + {} //TODO: throw error + + + // + // Creating the EVENT object that will be signaled + // when the playing thread has to wake up. + // + + wakeup_playthread = + CreateEvent( 0, FALSE, FALSE, 0 ); + + if ( !wakeup_playthread ) + { + + + status = WAVEOUT_ERR; + + //TODO: throw error + } + + + + // + // Inialize buffers for recording audio + // data from the wavein audio line. + // + + alloc_buffers_mem_( buffers, buf_secs ); + init_headers_(); + + + + + + + // + // Sound format that will be captured by wavein + // + + wave_format.wFormatTag = WAVE_FORMAT_PCM; + + wave_format.nChannels = aud_info.channels(); + wave_format.nSamplesPerSec = aud_info.sample_rate(); + wave_format.wBitsPerSample = aud_info.bits(); + wave_format.nBlockAlign = aud_info.block_align(); + wave_format.nAvgBytesPerSec = aud_info.byte_rate(); + + + + // + // Creating the recording thread + // + + playthread_handle = + CreateThread( NULL, + 0, + audio_waveout::playing_procedure, + ( PVOID ) this, + 0, + &playthread_id + ); + + + + // + // Checking thread handle + // + + if ( !playthread_handle ) + { + + // + // Updating status + // + + status = WAVEOUT_ERR; + //TODO: throw error + + } + + + // + // We don't need the thread handle anymore, + // so we can close it from now. (We'll just + // need the thread ID for the `waveInOpen' API) + // + + CloseHandle( playthread_handle ); + + + + // + // Reset the `audio_source' to the start + // position. + // + + audio_buf.set_position_start(); + + + + + // + // Opens the WAVE_OUT device. + // + + err = waveOutOpen( + &waveout_handle, + WAVE_MAPPER, + &wave_format, + playthread_id, + 0, + CALLBACK_THREAD | WAVE_ALLOWSYNC + ); + + + + if ( err != MMSYSERR_NOERROR ) + { + MessageBox(0, _T("waveOutOpen Error"), 0, 0); + //TODO: throw error + + } + + + + + status = WAVEOUT_READY; + + +} + + + +void +audio_waveout::play( void ) +{ + + + MMRESULT err; + unsigned int i; + BOOL ev; + + + if ( !main_buffer ) + { return; } //TODO; throw error, or assert + + + + + // + // If the status is PAUSED, we have to + // resume the audio playing. + // + if ( status == WAVEOUT_PAUSED ) + { + + // + // Updates status. + // + + status = WAVEOUT_PLAYING; + + + // + // Tells to the driver to resume + // audio playing. + // + + waveOutRestart( waveout_handle ); + + + // + // Wakeup playing thread. + // + + ev = SetEvent( wakeup_playthread ); + + return; + + } //if status == WAVEOUT_PAUSED + + + + + + if ( status != WAVEOUT_READY ) + return; + + + + + // + // Prepares WAVEHDR structures. + // + + prep_headers_(); + + + + // + // Sets correct status. + // + + status = WAVEOUT_PLAYING; + + + + // + // Reads the audio from the start. + // + + audio_buf.set_position_start(); + + + + + // + // Reads the first N bytes from the audio + // buffer, where N = the total size of all + // little buffers. + // + + audio_buf.read( main_buffer, mb_size ); + + + + + + + // + // Wakeup the playing thread. + // + + ev = SetEvent( wakeup_playthread ); + + + + + // + // Sends all the little buffers to the + // audio driver, so it can play the sound + // data. + // + + for ( i = 0; i < buffers; ++ i ) + { + + + err = waveOutWrite( waveout_handle, &wave_headers[ i ], sizeof( WAVEHDR )); + + if ( err != MMSYSERR_NOERROR ) + { + + + MessageBox(0, _T("waveOutWrite Error"), 0, 0); + + //TODO: throw error + } + + } + +} + + +void +audio_waveout::pause( void ) +{ + + MMRESULT err; + + + // + // If the waveout object is not playing audio, + // do nothing. + // + + if ( status == WAVEOUT_PLAYING ) + { + + // + // Updating status. + // + + status = WAVEOUT_PAUSED; + + + // + // Tells to audio driver to pause audio. + // + + err = waveOutPause( waveout_handle ); + + + if ( err != MMSYSERR_NOERROR ) + { + + MessageBox(0, _T("waveOutPause Error"), 0, 0); + //TODO: throw error + + } + + } + +} + + +void +audio_waveout::stop( void ) +{ + + MMRESULT err; + + + status = WAVEOUT_STOP; + + + err = waveOutReset( waveout_handle ); + + + + if ( err != MMSYSERR_NOERROR ) + { + + MessageBox(0, _T("err waveout reset.\n"),_T("ERROR"), 0); + //TODO: throw error + + } + + + + // + // Sets the start position of the audio + // buffer. + // + + audio_buf.set_position_start(); + + + unprep_headers_(); + + + init_headers_(); + + + status = WAVEOUT_READY; + +} + +void +audio_waveout::close( void ) +{ + + MMRESULT err; + + + // + // If the `wave_out' object is playing audio, + // or it is in paused state, we have to call + // the `stop' member function, to flush + // pending buffers. + // + + if (( status == WAVEOUT_PLAYING ) + || ( status== WAVEOUT_PAUSED )) + { + + stop(); + + } + + + + // + // When we have flushed all pending buffers, + // the wave out handle can be successfully closed. + // + + err = waveOutClose( waveout_handle ); + + + if ( err != MMSYSERR_NOERROR ) + { + + MessageBox(0, _T("waveOutClose Error"), 0, 0); + //TODO: throw error + + } + + free_buffers_mem_(); + +} + + +DWORD WINAPI +audio_waveout::playing_procedure( LPVOID arg ) +{ + MSG msg; + WAVEHDR * phdr; + DWORD wait; + MMRESULT err; + audio_waveout * _this = ( audio_waveout * ) arg; + unsigned int read_size; + + + + // + // Check the arg pointer + // + + if ( _this == 0 ) + return 0; + + + + // + // The thread can go to sleep for now. + // It will be wake up only when there is audio data + // to be recorded. + // + + if ( _this->wakeup_playthread ) + wait = WaitForSingleObject( + _this->wakeup_playthread, INFINITE + ); + + + + // + // Entering main polling loop + // + + while ( GetMessage( &msg, 0, 0, 0 )) + { + + switch ( msg.message ) + { + + case MM_WOM_DONE: + + phdr = ( WAVEHDR * ) msg.lParam; + + + // + // If the status of the `wave_out' object + // is different than playing, then the thread + // can go to sleep. + // + + if (( _this->status != WAVEOUT_PLAYING ) + && ( _this->wakeup_playthread )) + { + + wait = WaitForSingleObject( + _this->wakeup_playthread, + INFINITE + ); + } + + //TODO: quando il thread si risveglia, deve + //entrare nel prossimo if o no? o metter un else { ? + + + + if ( phdr->dwFlags & WHDR_DONE ) + { + + read_size = + _this->audio_buf.read( + ( BYTE * ) phdr->lpData, + phdr->dwBufferLength + ); + + + if ( read_size ) + { + phdr->dwBufferLength = read_size; + + phdr->dwFlags &= ~WHDR_DONE; + + err = waveOutWrite( + _this->waveout_handle, + phdr, + sizeof( WAVEHDR ) + ); + + if ( err != MMSYSERR_NOERROR ) + { + MessageBox(0, _T("waveOutWrite Error"), 0, 0); + //TODO: throw error + } + + + } else { + + // + // Here `read_sizep' is 0 + // + + if ( phdr->dwUser == ( _this->buffers - 1 )) + { + + // + // Here `read_size' and the buffer user + // data, that contain a buffer ID#, + // is equal to the number of the total + // buffers - 1. This means that this is the + // _LAST_ little buffer that has been played + // by the audio driver. We can STOP the + // `wave_out' object now, or restart the + // sound playing, if we have a infinite loop. + // + + + _this->stop(); + + // + // Let the thread go to sleep. + // + + if ( _this->audio_buf.play_finished ) + _this->audio_buf.play_finished(); + + + if ( _this->wakeup_playthread ) + wait = WaitForSingleObject( + _this->wakeup_playthread, + INFINITE + ); + + } + + } //if read_size != 0 + + } //( phdr->dwFlags & WHDR_DONE ) + + + break; // end case + + + + case MM_WOM_CLOSE: + // + // The thread can exit now. + // + + return 0; + + break; + + + case MM_WOM_OPEN: + + // + // Do nothing. + // + + break; + + + } //end switch( msg.message ) + + } //end while( GetMessage( ... )) + + return 0; +} + +_AUDIO_NAMESPACE_END_ diff --git a/reactos/base/applications/sndrec32/audio_waveout.hpp b/reactos/base/applications/sndrec32/audio_waveout.hpp new file mode 100644 index 00000000000..fd8debe8168 --- /dev/null +++ b/reactos/base/applications/sndrec32/audio_waveout.hpp @@ -0,0 +1,186 @@ +#ifndef _AUDIOWAVEOUT__H_ +#define _AUDIOWAVEOUT__H_ + + +#include "audio_def.hpp" +#include "audio_format.hpp" +#include "audio_producer.hpp" + + + +_AUDIO_NAMESPACE_START_ + +enum audio_waveout_status { WAVEOUT_NOTREADY, WAVEOUT_READY, + WAVEOUT_PLAYING, WAVEOUT_ERR, + WAVEOUT_PAUSED, WAVEOUT_STOP + + }; + + +class audio_waveout +{ + + friend class audio_buffer; + + + + private: + + + static DWORD WINAPI playing_procedure( LPVOID ); + + + + HANDLE wakeup_playthread; + + + + + protected: + + + WAVEFORMATEX wave_format; + WAVEHDR * wave_headers; + HWAVEOUT waveout_handle; + + + + + + const audio_format & aud_info; + audio_producer & audio_buf; + + + + + + + // + // Audio Playing Thread id + // + + DWORD playthread_id; + + + + + + audio_waveout_status status; + + + + + float buf_secs; + + + + // + // The temporary buffers for the audio + // data outgoing to the waveout device + // and its size, and its total number. + // + + + //base address for entire memory + BYTE * main_buffer; + + //size in bytes for the entire memory + unsigned int mb_size; + + //number of little buffers + unsigned int buffers; + + + + + + + // + // Protected Functions + // + + void init_( void ); + void alloc_buffers_mem_( unsigned int, float ); + void free_buffers_mem_( void ); + + + void init_headers_( void ); + void prep_headers_( void ); + void unprep_headers_( void ); + + + + + + + + public: + + // + // Ctors + // + + audio_waveout( const audio_format & aud_fmt, + audio_producer & a_buf ) + + : wave_headers( 0 ), aud_info( aud_fmt ), + audio_buf( a_buf ), status( WAVEOUT_NOTREADY ), + main_buffer( 0 ), mb_size( 0 ), + buffers( _AUDIO_DEFAULT_WAVEOUTBUFFERS ) + { + + // + // Initializing internal wavein data + // + + + init_(); + + } + + + + + + + // + // Dtor + // + + ~audio_waveout( void ) + { } + + + + + // + // Public Functions + // + + void open ( void ); + void play ( void ); + void pause ( void ); + void stop ( void ); + void close ( void ); + + + audio_waveout_status current_status( void ) + { return status; } + + + + + + + + +}; + + + +_AUDIO_NAMESPACE_END_ + + + + +#endif //ifdef _AUDIOWAVEOUT__H_ diff --git a/reactos/base/applications/tsclient/.gitignore b/reactos/base/applications/sndrec32/bitmap1.bmp similarity index 100% rename from reactos/base/applications/tsclient/.gitignore rename to reactos/base/applications/sndrec32/bitmap1.bmp diff --git a/reactos/base/applications/sndrec32/but_end.bmp b/reactos/base/applications/sndrec32/but_end.bmp new file mode 100644 index 00000000000..036ccb115fb Binary files /dev/null and b/reactos/base/applications/sndrec32/but_end.bmp differ diff --git a/reactos/base/applications/sndrec32/but_play.bmp b/reactos/base/applications/sndrec32/but_play.bmp new file mode 100644 index 00000000000..112c5719aff Binary files /dev/null and b/reactos/base/applications/sndrec32/but_play.bmp differ diff --git a/reactos/base/applications/sndrec32/but_rec.bmp b/reactos/base/applications/sndrec32/but_rec.bmp new file mode 100644 index 00000000000..3e7249d64b3 Binary files /dev/null and b/reactos/base/applications/sndrec32/but_rec.bmp differ diff --git a/reactos/base/applications/sndrec32/but_start.bmp b/reactos/base/applications/sndrec32/but_start.bmp new file mode 100644 index 00000000000..b63ea1d11de Binary files /dev/null and b/reactos/base/applications/sndrec32/but_start.bmp differ diff --git a/reactos/base/applications/sndrec32/but_stop.bmp b/reactos/base/applications/sndrec32/but_stop.bmp new file mode 100644 index 00000000000..bfb13f1123f Binary files /dev/null and b/reactos/base/applications/sndrec32/but_stop.bmp differ diff --git a/reactos/base/applications/sndrec32/kkaudio.hpp b/reactos/base/applications/sndrec32/kkaudio.hpp new file mode 100644 index 00000000000..285b1d399c4 --- /dev/null +++ b/reactos/base/applications/sndrec32/kkaudio.hpp @@ -0,0 +1,18 @@ +#ifndef _AUDIO__H_ +#define _AUDIO__H_ + + +#include "audio_def.hpp" +#include "audio_wavein.hpp" +#include "audio_waveout.hpp" +#include "audio_resampler_acm.hpp" +#include "audio_format.hpp" +#include "audio_membuffer.hpp" +#include "audio_producer.hpp" +#include "audio_receiver.hpp" + + + + +#endif //ifdef _KKAUDIO__H_ + diff --git a/reactos/base/applications/sndrec32/reactOS_sndrec32.ico b/reactos/base/applications/sndrec32/reactOS_sndrec32.ico new file mode 100644 index 00000000000..d92d91e87d6 Binary files /dev/null and b/reactos/base/applications/sndrec32/reactOS_sndrec32.ico differ diff --git a/reactos/base/applications/sndrec32/resource.h b/reactos/base/applications/sndrec32/resource.h new file mode 100644 index 00000000000..d73e5580fe7 --- /dev/null +++ b/reactos/base/applications/sndrec32/resource.h @@ -0,0 +1,44 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by reactOS_sndrec32.rc +// +#define IDC_MYICON 2 +#define IDD_REACTOS_SNDREC32_DIALOG 102 +#define IDS_APP_TITLE 103 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDI_REACTOS_SNDREC32 107 +#define IDI_REACTOS_SNDREC32LL 107 +#define IDI_SMALL 108 +#define IDC_REACTOS_SNDREC32 109 +#define IDR_MAINFRAME 128 +#define IDB_BITMAP1 132 +#define IDB_BITMAP_REC 132 +#define IDB_BITMAP2_START 133 +#define IDB_BITMAP2_END 134 +#define IDB_BITMAP2_PLAY 135 +#define IDB_BITMAP2_STOP 136 +#define IDB_BITMAP2_REC 137 +#define IDI_ICON1 138 +#define IDR_MENU1 139 +#define ID_FILE_NEW 32771 +#define ID_FILE_OPEN 32772 +#define ID_FILE_SAVE 32773 +#define ID_FILE_SAVEAS 32774 +#define ID_FILE_EXIT 32775 +#define ID__ABOUT 32776 +#define ID_EXIT 32777 +#define ID_NEW 32778 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_NEXT_RESOURCE_VALUE 140 +#define _APS_NEXT_COMMAND_VALUE 32779 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/reactos/base/applications/sndrec32/small.ico b/reactos/base/applications/sndrec32/small.ico new file mode 100644 index 00000000000..160edc053d7 Binary files /dev/null and b/reactos/base/applications/sndrec32/small.ico differ diff --git a/reactos/base/applications/sndrec32/sndrec32.cpp b/reactos/base/applications/sndrec32/sndrec32.cpp new file mode 100644 index 00000000000..b1b6a30a214 --- /dev/null +++ b/reactos/base/applications/sndrec32/sndrec32.cpp @@ -0,0 +1,1042 @@ +/* +* PROJECT: ReactOS Sound Record Application +* LICENSE: GPL - See COPYING in the top level directory +* FILE: base/applications/sndrec32/sndrec32.cpp +* PURPOSE: Application Startup +* PROGRAMMERS: Marco Pagliaricci +*/ + + + +#include "stdafx.h" +#include "sndrec32.h" + +#include "kkaudio.hpp" + + + +HINSTANCE hInst; +TCHAR szTitle[MAX_LOADSTRING]; +TCHAR szWindowClass[MAX_LOADSTRING]; + + +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); + + + +HWND main_win; +HWND slider; +HWND buttons[5]; +HBITMAP butbmps[5]; +WNDPROC buttons_std_proc; + +BOOL butdisabled[5]; +BOOL stopped_flag; +BOOL isnew; + + +DWORD slider_pos; +WORD slider_min; +WORD slider_max; + +long long samples_max; + +OPENFILENAME ofn; +TCHAR file_path[MAX_PATH]; +BOOL path_set; + +using snd::audio_membuffer; +using snd::audio_wavein; +using snd::audio_waveout; + +audio_membuffer * AUD_BUF; +audio_waveout * AUD_OUT; +audio_wavein * AUD_IN; + + +BOOL s_recording; + + +int APIENTRY _tWinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPTSTR lpCmdLine, + int nCmdShow) +{ + + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + + MSG msg; + HACCEL hAccelTable; + + InitCommonControls(); + + + + + + + + + butbmps[0] = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP2_START )); + butbmps[1] = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP2_END )); + butbmps[2] = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP2_PLAY )); + butbmps[3] = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP2_STOP )); + butbmps[4] = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP2_REC )); + + + + + + + snd::audio_membuffer AUD_buffer( snd::A44100_16BIT_STEREO ); + snd::audio_waveout AUD_waveout( snd::A44100_16BIT_STEREO, AUD_buffer ); + snd::audio_wavein AUD_wavein( snd::A44100_16BIT_STEREO, AUD_buffer ); + + AUD_buffer.play_finished = l_play_finished; + AUD_buffer.audio_arrival = l_audio_arrival; + AUD_buffer.buffer_resized = l_buffer_resized; + + AUD_buffer.alloc_seconds( INITIAL_BUFREC_SECONDS ); + + AUD_IN = &AUD_wavein; + AUD_OUT = &AUD_waveout; + AUD_BUF = &AUD_buffer; + + + + slider_pos = 0; + slider_min = 0; + slider_max = 32767; + + + stopped_flag = FALSE; + path_set = FALSE; + isnew = TRUE; + + + + samples_max = AUD_buffer.total_samples(); + + + + + LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadString(hInstance, IDC_REACTOS_SNDREC32, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); + + + if (!InitInstance (hInstance, nCmdShow)) + { + MessageBox(0, 0, TEXT("CreateWindow() Error!"), 0); + return FALSE; + } + + hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_REACTOS_SNDREC32)); + + + + + + + s_recording = false; + + + + + AUD_wavein.open(); + AUD_waveout.open(); + + + + + + + while (GetMessage(&msg, NULL, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + AUD_waveout.close(); + AUD_wavein.close(); + + AUD_buffer.clear(); + + + return (int) msg.wParam; +} + + + + +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEX wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_REACTOS_SNDREC32LL)); + wcex.hCursor = LoadCursor(NULL, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(16); + wcex.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_REACTOS_SNDREC32LL)); + + + return RegisterClassEx(&wcex); +} + +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + HWND hWnd; + + hInst = hInstance; + + hWnd = CreateWindow( + szWindowClass, + szTitle, + WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX, + CW_USEDEFAULT, + CW_USEDEFAULT, + MAINWINDOW_W, + MAINWINDOW_H, + NULL, NULL, + hInstance, NULL + ); + + if (!hWnd) + { + return FALSE; + } + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + main_win = hWnd; + + + return TRUE; +} + + +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + int wmId, wmEvent; + RECT rect; + PAINTSTRUCT ps; + HDC hdc; + + + // + // Checking for global pointers to buffer and + // io audio devices. + // + + if (( !AUD_IN ) || ( !AUD_OUT ) || ( !AUD_BUF )) + { + MessageBox( 0, TEXT("Buffer Error"), 0, 0 ); + return 1; + } + + + switch (message) + { + + + case WM_CREATE: + + + + // + // Creating ALL the buttons + // + + for ( int i = 0; i < 5; ++ i ) + { + + buttons[i] = CreateWindow( + TEXT("button"), + TEXT(""), + WS_CHILD|WS_VISIBLE| BS_BITMAP, + BUTTONS_CX + ( i * (BUTTONS_W+((i == 0)?0:BUTTONS_SPACE))), + BUTTONS_CY, BUTTONS_W, BUTTONS_H, hWnd, + (HMENU)i, hInst, 0 + ); + + if ( !buttons[i] ) + { + MessageBox(0, 0, TEXT("CreateWindow() Error!"), 0); + return FALSE; + + } + + butdisabled[ i ] = TRUE; + + + + // + // Realize the button bmp image + // + + SendMessage(buttons[i], BM_SETIMAGE, ( WPARAM )IMAGE_BITMAP, ( LPARAM )butbmps[i]); + + + UpdateWindow( buttons[i] ); + + } + + + // + // Creating the SLIDER window + // + + slider = CreateWindow( + TRACKBAR_CLASS, + TEXT(""), + WS_CHILD|WS_VISIBLE|TBS_NOTICKS|TBS_HORZ|TBS_ENABLESELRANGE, + SLIDER_CX, SLIDER_CY, SLIDER_W, SLIDER_H, hWnd, + (HMENU)SLIDER_ID, hInst, 0 + ); + + + if ( !slider ) + { + MessageBox(0, 0, TEXT("CreateWindow() Error!"), 0); + return FALSE; + + } + + + // + // Sets slider limits + // + + //slider_min = 0; + //slider_max = 100; + + SendMessage( + slider, + TBM_SETRANGE, + (WPARAM)TRUE, + (LPARAM)MAKELONG(slider_min,slider_max) + ); + + + UpdateWindow( slider ); + + + // + // Enables REC button. + // + + butdisabled[ BUTREC_ID ] = FALSE; + + + + + break; + + + + // + // Implements slider logic + // + + case WM_HSCROLL : + { + switch( LOWORD( wParam )) + { + + case SB_ENDSCROLL: + break; + + case SB_PAGERIGHT: + case SB_PAGELEFT: + case TB_THUMBTRACK: + slider_pos = SendMessage(slider, TBM_GETPOS, 0, 0); + break; + + } + + break; + } + + + + + + + case WM_COMMAND: + + wmId = LOWORD(wParam); + wmEvent = HIWORD(wParam); + + if (( wmId >= 0 ) && ( wmId < 5 ) && (butdisabled[wmId] == TRUE)) + break; + + switch (wmId) + { + + case ID_NEW: + + if ( !isnew ) + { + + if ( AUD_IN->current_status() == snd::WAVEIN_RECORDING ) + AUD_IN->stop_recording(); + + + if (( AUD_OUT->current_status() == snd::WAVEOUT_PLAYING ) || + ( AUD_OUT->current_status() == snd::WAVEOUT_PAUSED )) + AUD_OUT->stop(); + + + AUD_BUF->reset(); + + butdisabled[ BUTREC_ID ] = FALSE; + butdisabled[ BUTSTART_ID ] = TRUE; + butdisabled[ BUTEND_ID ] = TRUE; + butdisabled[ BUTSTOP_ID ] = TRUE; + butdisabled[ BUTPLAY_ID ] = TRUE; + + samples_max = AUD_BUF->total_samples(); + slider_pos = 0; + + SendMessage(slider, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) slider_pos); + + } + + + + break; + + + + + case ID_FILE_OPEN: + + ZeroMemory( &ofn, sizeof( ofn )); + + ofn.lStructSize = sizeof( ofn ); + ofn.hwndOwner = hWnd; + ofn.lpstrFilter = TEXT("Audio Files (*.wav)\0*.wav\0All Files (*.*)\0*.*\0"); + ofn.lpstrFile = file_path; + ofn.nMaxFile = MAX_PATH; + ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; + ofn.lpstrDefExt = TEXT("wav"); + + if( GetOpenFileName( &ofn )) + { + open_wav( file_path ); + } + + break; + + + + + case ID__ABOUT: + + + + break; + + + case ID_FILE_SAVEAS: + + ZeroMemory( &ofn, sizeof( ofn )); + + ofn.lStructSize = sizeof( ofn ); + ofn.hwndOwner = hWnd ; + ofn.Flags = OFN_OVERWRITEPROMPT; + ofn.lpstrFilter = TEXT("Audio Files (*.wav)\0*.wav\0All Files (*.*)\0*.*\0"); + ofn.lpstrFile = file_path; + ofn.nMaxFile = MAX_PATH; + + ofn.lpstrDefExt = TEXT("wav"); + + if ( GetSaveFileName ( &ofn )) + { + + write_wav( file_path ); + + } + + break; + + case ID_EXIT: + DestroyWindow( hWnd ); + break; + + + // + // Sndrec32 buttons routines + // + + case BUTSTART_ID: + Beep(200,200); + break; + + + case BUTEND_ID: + Beep(300,200); + break; + + case BUTPLAY_ID: + + AUD_OUT->play(); + + butdisabled[ BUTSTART_ID ] = TRUE; + butdisabled[ BUTEND_ID ] = TRUE; + butdisabled[ BUTREC_ID ] = TRUE; + butdisabled[ BUTPLAY_ID ] = TRUE; + + SetTimer( hWnd, 1, 250, 0 ); + + break; + + case BUTSTOP_ID: + if ( s_recording ) + { + s_recording = FALSE; + + AUD_IN->stop_recording(); + + butdisabled[ BUTSTART_ID ] = FALSE; + butdisabled[ BUTEND_ID ] = FALSE; + butdisabled[ BUTREC_ID ] = FALSE; + butdisabled[ BUTPLAY_ID ] = FALSE; + + + + // + // Resetting slider position + // + + slider_pos = 0; + SendMessage(slider, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) slider_pos); + + + samples_max = AUD_BUF->samples_received(); + + EnableMenuItem((HMENU)IDR_MENU1, ID_FILE_SAVEAS, MF_ENABLED ); + + } else { + + AUD_OUT->pause(); + + butdisabled[ BUTSTART_ID ] = FALSE; + butdisabled[ BUTEND_ID ] = FALSE; + butdisabled[ BUTREC_ID ] = FALSE; + butdisabled[ BUTPLAY_ID ] = FALSE; + + } + + KillTimer( hWnd, 1 ); + + break; + + case BUTREC_ID: + + s_recording = TRUE; + + samples_max = AUD_BUF->total_samples(); + + AUD_IN->start_recording(); + + butdisabled[ BUTSTOP_ID ] = FALSE; + butdisabled[ BUTSTART_ID ] = TRUE; + butdisabled[ BUTEND_ID ] = TRUE; + butdisabled[ BUTREC_ID ] = TRUE; + butdisabled[ BUTPLAY_ID ] = TRUE; + + isnew = FALSE; + + + + SetTimer( hWnd, 1, 150, 0 ); + + break; + + + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + break; + + + case WM_TIMER: + + if ( stopped_flag ) + { + KillTimer(hWnd, 1); + slider_pos = 0; + + butdisabled[ BUTPLAY_ID ] = FALSE; + + stopped_flag = FALSE; + } + + SendMessage(slider, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) slider_pos); + + + + break; + + + + case WM_PAINT: + + InvalidateRect( hWnd, &rect, TRUE ); + hdc = BeginPaint(hWnd, &ps); + + EndPaint(hWnd, &ps); + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + + +BOOL open_wav( TCHAR * f ) +{ + + + HANDLE file; + + riff_hdr r; + wave_hdr w; + data_chunk d; + + BOOL b; + + DWORD bytes_recorded_in_wav = 0; + DWORD is_read = 0; + + + + + file = CreateFile( + f, + GENERIC_READ, + 0, 0, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + 0 + ); + + + + if ( !file ) + { + MessageBox( + main_win, + TEXT("Cannot open file. CreateFile() error."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + return FALSE; + + } + + + b = ReadFile( file, ( LPVOID ) &r, sizeof ( r ), &is_read, 0 ); + + if ( !b ) + { + DWORD t = GetLastError(); + TCHAR p[100]; + wsprintf(p,TEXT("Errore n: %i"),t); + + MessageBox( + main_win, + //TEXT("Cannot read RIFF header."), + p, + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + return FALSE; + + } + + + b = ReadFile( file, ( LPVOID ) &w, sizeof ( w ), &is_read, 0 ); + + + if ( !b ) + { + + MessageBox( + main_win, + TEXT("Cannot read WAVE header."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + return FALSE; + + } + + + + b = ReadFile( file, ( LPVOID ) &d, sizeof ( d ), &is_read, 0 ); + + if ( !b ) + { + + MessageBox( + main_win, + TEXT("Cannot read WAVE subchunk."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + return FALSE; + + } + + bytes_recorded_in_wav = r.chunksize - 36; + + + /* + unsigned char * gg = (unsigned char*)&bytes_recorded_in_wav; + + gg[0] = gg[3]; + gg[1] = gg[2]; + + bytes_recorded_in_wav = (DWORD) *gg; + + + + TCHAR p [100]; + wsprintf(p,TEXT("bytes: %i"),bytes_recorded_in_wav); + MessageBox(0,p,0,0); + + */ + + if ( bytes_recorded_in_wav == 0 ) + { + + MessageBox( + main_win, + TEXT("Cannot read file. No audio data."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + return FALSE; + + } + + + snd::audio_format openfmt + ( w.SampleRate, w.BitsPerSample, w.NumChannels ); + + + + AUD_BUF->clear(); + + + AUD_BUF->alloc_bytes( bytes_recorded_in_wav ); + + + b = ReadFile( + file, + ( LPVOID ) AUD_BUF->audio_buffer(), + bytes_recorded_in_wav, + &is_read, + 0 + ); + + + AUD_BUF->set_b_received( bytes_recorded_in_wav ); + + + if (( !b ) || ( is_read != bytes_recorded_in_wav )) + { + + MessageBox( + main_win, + TEXT("Cannot read file. Error reading audio data."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + + AUD_BUF->reset(); + return FALSE; + + } + + CloseHandle( file ); + + butdisabled[ BUTPLAY_ID ] = FALSE; + butdisabled[ BUTSTOP_ID ] = FALSE; + butdisabled[ BUTEND_ID ] = FALSE; + butdisabled[ BUTSTART_ID ] = FALSE; + butdisabled[ BUTREC_ID ] = FALSE; + + + + samples_max = AUD_BUF->samples_received(); + + isnew = FALSE; + + return TRUE; + +} + + +BOOL + write_wav( TCHAR * f ) +{ + + HANDLE file; + + + DWORD written; + BOOL is_writ; + int i; + riff_hdr r; + wave_hdr w; + data_chunk d; + + + + file = CreateFile( + f, + GENERIC_WRITE, + 0, 0, + CREATE_NEW, + FILE_ATTRIBUTE_NORMAL, + 0 + ); + + + + if ( !file ) + { + i = MessageBox( + main_win, + TEXT("File already exist. Overwrite it?"), + TEXT("Warning"), + MB_YESNO|MB_ICONQUESTION + ); + + if ( i == IDYES ) + { + + file = CreateFile( + f, + GENERIC_WRITE, + 0, 0, + CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, + 0 + ); + + if ( !file ) + { + MessageBox( + main_win, + TEXT("File Error, CreateFile() failed."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + + return FALSE; + + } + + + } else + return FALSE; + } + + + + + r.magic = 0x46464952; + + + r.format = 0x45564157; + r.chunksize = 36 + AUD_BUF->bytes_recorded(); + + + w.Subchunkid = 0x20746d66; + + w.Subchunk1Size = 16; + w.AudioFormat = 1; + w.NumChannels = AUD_BUF->audinfo().channels(); + w.SampleRate = AUD_BUF->audinfo().sample_rate(); + w.ByteRate = AUD_BUF->audinfo().byte_rate(); + w.BlockAlign = AUD_BUF->audinfo().block_align(); + w.BitsPerSample = AUD_BUF->audinfo().bits(); + + + d.subc = 0x61746164; + d.subc_size = AUD_BUF->bytes_recorded(); + + + + // + // Writing headers + // + + + is_writ = WriteFile( file, ( LPCVOID ) &r, sizeof ( r ), &written, 0 ); + + if ( !is_writ ) + { + MessageBox( + main_win, + TEXT("File Error, WriteFile() failed."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + + return FALSE; + + } + + + is_writ = WriteFile( file, ( LPCVOID ) &w, sizeof ( w ), &written, 0 ); + + if ( !is_writ ) + { + MessageBox( + main_win, + TEXT("File Error, WriteFile() failed."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + + return FALSE; + + } + + + is_writ = WriteFile( file, ( LPCVOID ) &d, sizeof ( d ), &written, 0 ); + + + if ( !is_writ ) + { + MessageBox( + main_win, + TEXT("File Error, WriteFile() failed."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + + return FALSE; + + } + + + + is_writ = WriteFile( + file, + ( LPCVOID ) AUD_BUF->audio_buffer(), + AUD_BUF->bytes_recorded(), + &written, + 0 + ); + + if ( !is_writ ) + { + MessageBox( + main_win, + TEXT("File Error, WriteFile() failed."), + TEXT("ERROR"), + MB_OK|MB_ICONERROR + ); + + CloseHandle( file ); + + return FALSE; + + } + + + CloseHandle( file ); + + return TRUE; +} + + + +void l_play_finished ( void ) +{ + + stopped_flag = true; + + + +} + +void l_audio_arrival ( unsigned int samples_arrival ) +{ + + + slider_pos += (DWORD) (( slider_max * samples_arrival ) / samples_max ); + + +} + +void l_buffer_resized ( unsigned int new_size ) +{ + + + + + +} + +VOID enable_but( DWORD id ) +{ + + + + + +} +VOID disable_but( DWORD id ) +{ + + + +} + + diff --git a/reactos/base/applications/sndrec32/sndrec32.h b/reactos/base/applications/sndrec32/sndrec32.h new file mode 100644 index 00000000000..530e53e93a6 --- /dev/null +++ b/reactos/base/applications/sndrec32/sndrec32.h @@ -0,0 +1,96 @@ +#pragma once + +#include "resource.h" + + + +#define MAX_LOADSTRING 100 + +#define MAINWINDOW_W 350 +#define MAINWINDOW_H 190 + + +#define CONTROLS_CX 10 + +#define INITIAL_BUFREC_SECONDS 30.0f + + +#define BUTSTART_ID 0 +#define BUTEND_ID 1 +#define BUTPLAY_ID 2 +#define BUTSTOP_ID 3 +#define BUTREC_ID 4 +#define SLIDER_ID 5 + +#define BUTTONS_H 30 +#define BUTTONS_W 60 +#define BUTTONS_CY 100 +#define BUTTONS_CX CONTROLS_CX +#define BUTTONS_SPACE 5 + + +#define SLIDER_CX CONTROLS_CX +#define SLIDER_CY 65 +#define SLIDER_H 30 +#define SLIDER_W 320 + + + + +struct riff_hdr +{ + DWORD magic; + DWORD chunksize; + DWORD format; +}; + + +struct wave_hdr +{ + + DWORD Subchunkid; + DWORD Subchunk1Size; + WORD AudioFormat; + WORD NumChannels; + DWORD SampleRate; + DWORD ByteRate; + WORD BlockAlign; + WORD BitsPerSample; +}; + +struct data_chunk +{ + DWORD subc; + DWORD subc_size; + //unsigned char data[]; +}; + + + +// +// Functions prototypes +// +LRESULT CALLBACK +Buttons_proc(HWND, UINT, WPARAM, LPARAM); + + +BOOL +write_wav( TCHAR * ); + +BOOL +open_wav( TCHAR * ); + + +VOID enable_but( DWORD ); +VOID disable_but( DWORD ); + + + +void +l_play_finished ( void ); + +void +l_audio_arrival ( unsigned int ); + +void +l_buffer_resized ( unsigned int ); diff --git a/reactos/base/applications/sndrec32/sndrec32.rbuild b/reactos/base/applications/sndrec32/sndrec32.rbuild new file mode 100644 index 00000000000..7229e55e08e --- /dev/null +++ b/reactos/base/applications/sndrec32/sndrec32.rbuild @@ -0,0 +1,19 @@ + + + + . + winmm + user32 + msacm32 + comctl32 + comdlg32 + audio_format.cpp + audio_membuffer.cpp + audio_producer.cpp + audio_receiver.cpp + audio_resampler_acm.cpp + audio_wavein.cpp + audio_waveout.cpp + sndrec32.cpp + sndrec32.rc + diff --git a/reactos/base/applications/sndrec32/sndrec32.rc b/reactos/base/applications/sndrec32/sndrec32.rc new file mode 100644 index 00000000000..e4de736ec11 --- /dev/null +++ b/reactos/base/applications/sndrec32/sndrec32.rc @@ -0,0 +1,179 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#ifndef APSTUDIO_INVOKED +#include "targetver.h" +#endif +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +#undef APSTUDIO_HIDDEN_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Italiano (Italia) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA) +#ifdef _WIN32 +LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_REACTOS_SNDREC32LL ICON "reactOS_sndrec32.ico" +IDI_SMALL ICON "small.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Accelerator +// + +IDC_REACTOS_SNDREC32 ACCELERATORS +BEGIN + "?", IDM_ABOUT, ASCII, ALT + "/", IDM_ABOUT, ASCII, ALT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Informazioni su reactOS_sndrec32" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20 + LTEXT "reactOS_sndrec32, versione 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX + LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8 + DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_ABOUTBOX, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 189 + TOPMARGIN, 7 + BOTTOMMARGIN, 68 + END +END +#endif // APSTUDIO_INVOKED + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#ifndef APSTUDIO_INVOKED\r\n" + "#include ""targetver.h""\r\n" + "#endif\r\n" + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BITMAP2_START BITMAP "but_start.bmp" +IDB_BITMAP2_END BITMAP "but_end.bmp" +IDB_BITMAP2_PLAY BITMAP "but_play.bmp" +IDB_BITMAP2_STOP BITMAP "but_stop.bmp" +IDB_BITMAP2_REC BITMAP "but_rec.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU +BEGIN + POPUP "File" + BEGIN + MENUITEM "New", ID_NEW + MENUITEM "Open...", ID_FILE_OPEN + MENUITEM "Save", ID_FILE_SAVE, GRAYED + MENUITEM "Save As...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "Exit", ID_EXIT + END + MENUITEM "todo1", 0 + MENUITEM "todo2", 0 + POPUP "?" + BEGIN + MENUITEM "About...", ID__ABOUT + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_APP_TITLE "reactOS_sndrec32" + IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32" +END + +#endif // Italiano (Italia) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/reactos/base/applications/sndrec32/stdafx.h b/reactos/base/applications/sndrec32/stdafx.h new file mode 100644 index 00000000000..69ca28669ec --- /dev/null +++ b/reactos/base/applications/sndrec32/stdafx.h @@ -0,0 +1,23 @@ +// stdafx.h : file di inclusione per file di inclusione di sistema standard +// o file di inclusione specifici del progetto utilizzati di frequente, ma +// modificati raramente +// + +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN // Escludere gli elementi utilizzati di rado dalle intestazioni di Windows +// File di intestazione di Windows: +#include +#include +#include + +// File di intestazione Runtime C +#include +#include +#include +#include + + +// TODO: fare riferimento qui alle intestazioni aggiuntive richieste dal programma diff --git a/reactos/base/applications/sndrec32/targetver.h b/reactos/base/applications/sndrec32/targetver.h new file mode 100644 index 00000000000..92426c66d27 --- /dev/null +++ b/reactos/base/applications/sndrec32/targetver.h @@ -0,0 +1,24 @@ +#pragma once + +// Le macro seguenti definiscono la piattaforma minima richiesta. La piattaforma minima richiesta +// costituita dalla versione meno recente di Windows, Internet Explorer e cos via contenenti le funzionalit necessarie per eseguire +// l'applicazione. Le macro consentono di attivare tutte le funzionalit disponibili nelle versioni delle piattaforme fino +// alla versione specificata compresa. + +// Modificare le seguenti definizioni se necessario utilizzare come destinazione una piattaforma prima di quelle specificate di seguito. +// Fare riferimento a MSDN per informazioni aggiornate sui valori corrispondenti per le differenti piattaforme. +#ifndef WINVER // Specifica che la piattaforma minima richiesta Windows Vista. +#define WINVER 0x0600 // Modificare il valore con quello appropriato per altre versioni di Windows. +#endif + +#ifndef _WIN32_WINNT // Specifica che la piattaforma minima richiesta Windows Vista. +#define _WIN32_WINNT 0x0600 // Modificare il valore con quello appropriato per altre versioni di Windows. +#endif + +#ifndef _WIN32_WINDOWS // Specifica che la piattaforma minima richiesta Windows 98. +#define _WIN32_WINDOWS 0x0410 // Modificare il valore con quello appropriato per Windows Me o versioni successive. +#endif + +#ifndef _WIN32_IE // Specifica che la piattaforma minima richiesta Internet Explorer 7.0. +#define _WIN32_IE 0x0700 // Modificare il valore con quello appropriato per altre versioni di IE. +#endif diff --git a/reactos/base/applications/sndvol32/sndvol32.rbuild b/reactos/base/applications/sndvol32/sndvol32.rbuild index 52bde92e1db..97d5a60cc95 100644 --- a/reactos/base/applications/sndvol32/sndvol32.rbuild +++ b/reactos/base/applications/sndvol32/sndvol32.rbuild @@ -7,7 +7,6 @@ user32 advapi32 gdi32 - kernel32 comctl32 shell32 winmm diff --git a/reactos/base/applications/taskmgr/taskmgr.rbuild b/reactos/base/applications/taskmgr/taskmgr.rbuild index 85311432c28..8db44813d26 100644 --- a/reactos/base/applications/taskmgr/taskmgr.rbuild +++ b/reactos/base/applications/taskmgr/taskmgr.rbuild @@ -3,7 +3,6 @@ . ntdll - kernel32 advapi32 user32 gdi32 diff --git a/reactos/base/applications/tsclient/MissTosca.sln b/reactos/base/applications/tsclient/MissTosca.sln deleted file mode 100644 index 4156cc20bc3..00000000000 --- a/reactos/base/applications/tsclient/MissTosca.sln +++ /dev/null @@ -1,38 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rdesktop-core", "rdesktop\rdesktop-core.vcproj", "{8620E9B2-9AF0-4F69-A5AF-C195D5F86372}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstsc", "mstsc\mstsc.vcproj", "{1B415732-1F37-415F-957B-EA436301860D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstscax", "mstscax\mstscax.vcproj", "{2C217E9E-9D77-4D6A-9259-216FD56BA56F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rdesktop-core-tester", "porting-tools\rdesktop-core-tester\rdesktop-core-tester.vcproj", "{B172A623-E2BD-4E3F-86E6-620548FE255B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8620E9B2-9AF0-4F69-A5AF-C195D5F86372}.Debug|Win32.ActiveCfg = Debug|Win32 - {8620E9B2-9AF0-4F69-A5AF-C195D5F86372}.Debug|Win32.Build.0 = Debug|Win32 - {8620E9B2-9AF0-4F69-A5AF-C195D5F86372}.Release|Win32.ActiveCfg = Release|Win32 - {8620E9B2-9AF0-4F69-A5AF-C195D5F86372}.Release|Win32.Build.0 = Release|Win32 - {1B415732-1F37-415F-957B-EA436301860D}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B415732-1F37-415F-957B-EA436301860D}.Debug|Win32.Build.0 = Debug|Win32 - {1B415732-1F37-415F-957B-EA436301860D}.Release|Win32.ActiveCfg = Release|Win32 - {1B415732-1F37-415F-957B-EA436301860D}.Release|Win32.Build.0 = Release|Win32 - {2C217E9E-9D77-4D6A-9259-216FD56BA56F}.Debug|Win32.ActiveCfg = Debug|Win32 - {2C217E9E-9D77-4D6A-9259-216FD56BA56F}.Debug|Win32.Build.0 = Debug|Win32 - {2C217E9E-9D77-4D6A-9259-216FD56BA56F}.Release|Win32.ActiveCfg = Release|Win32 - {2C217E9E-9D77-4D6A-9259-216FD56BA56F}.Release|Win32.Build.0 = Release|Win32 - {B172A623-E2BD-4E3F-86E6-620548FE255B}.Debug|Win32.ActiveCfg = Debug|Win32 - {B172A623-E2BD-4E3F-86E6-620548FE255B}.Debug|Win32.Build.0 = Debug|Win32 - {B172A623-E2BD-4E3F-86E6-620548FE255B}.Release|Win32.ActiveCfg = Release|Win32 - {B172A623-E2BD-4E3F-86E6-620548FE255B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/base/applications/tsclient/mstsc/.gitignore b/reactos/base/applications/tsclient/mstsc/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/reactos/base/applications/tsclient/mstsc/mstsc.cpp b/reactos/base/applications/tsclient/mstsc/mstsc.cpp deleted file mode 100644 index 106d7296c01..00000000000 --- a/reactos/base/applications/tsclient/mstsc/mstsc.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "stdafx.h" - -int _tmain(int argc, _TCHAR* argv[]) -{ - return 0; -} - diff --git a/reactos/base/applications/tsclient/mstsc/mstsc.vcproj b/reactos/base/applications/tsclient/mstsc/mstsc.vcproj deleted file mode 100644 index a6d58a9cc1c..00000000000 --- a/reactos/base/applications/tsclient/mstsc/mstsc.vcproj +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/tsclient/mstsc/stdafx.cpp b/reactos/base/applications/tsclient/mstsc/stdafx.cpp deleted file mode 100644 index f7caa754005..00000000000 --- a/reactos/base/applications/tsclient/mstsc/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// mstsc.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/reactos/base/applications/tsclient/mstsc/stdafx.h b/reactos/base/applications/tsclient/mstsc/stdafx.h deleted file mode 100644 index ddacb46d869..00000000000 --- a/reactos/base/applications/tsclient/mstsc/stdafx.h +++ /dev/null @@ -1,15 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#include -#include - - - -// TODO: reference additional headers your program requires here diff --git a/reactos/base/applications/tsclient/mstscax/.gitignore b/reactos/base/applications/tsclient/mstscax/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/reactos/base/applications/tsclient/mstscax/mstscax.cpp b/reactos/base/applications/tsclient/mstscax/mstscax.cpp deleted file mode 100644 index 106d7296c01..00000000000 --- a/reactos/base/applications/tsclient/mstscax/mstscax.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "stdafx.h" - -int _tmain(int argc, _TCHAR* argv[]) -{ - return 0; -} - diff --git a/reactos/base/applications/tsclient/mstscax/mstscax.vcproj b/reactos/base/applications/tsclient/mstscax/mstscax.vcproj deleted file mode 100644 index 7b3b3b0144f..00000000000 --- a/reactos/base/applications/tsclient/mstscax/mstscax.vcproj +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/tsclient/mstscax/stdafx.cpp b/reactos/base/applications/tsclient/mstscax/stdafx.cpp deleted file mode 100644 index 9a99ced5d1d..00000000000 --- a/reactos/base/applications/tsclient/mstscax/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// mstscax.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/reactos/base/applications/tsclient/mstscax/stdafx.h b/reactos/base/applications/tsclient/mstscax/stdafx.h deleted file mode 100644 index ddacb46d869..00000000000 --- a/reactos/base/applications/tsclient/mstscax/stdafx.h +++ /dev/null @@ -1,15 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#include -#include - - - -// TODO: reference additional headers your program requires here diff --git a/reactos/base/applications/tsclient/porting-tools/.gitignore b/reactos/base/applications/tsclient/porting-tools/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp deleted file mode 100644 index 0f01f402370..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp +++ /dev/null @@ -1,5011 +0,0 @@ -#include "stdafx.h" - -namespace -{ - using namespace MSTSCLib; - - typedef HRESULT (STDAPICALLTYPE * PFNDLLGETCLASSOBJECT)(IN REFCLSID rclsid, IN REFIID riid, OUT LPVOID FAR * ppv); - typedef HRESULT (STDAPICALLTYPE * PFNDLLCANUNLOADNOW)(void); - typedef ULONG (STDAPICALLTYPE * PFNDLLGETTSCCTLVER)(void); - - PFNDLLGETCLASSOBJECT pfnDllGetClassObject = NULL; - PFNDLLCANUNLOADNOW pfnDllCanUnloadNow = NULL; - PFNDLLGETTSCCTLVER pfnDllGetTscCtlVer = NULL; - - HMODULE hmMstscax = NULL; - - extern "C" char __ImageBase; - static const HMODULE hmSelf = reinterpret_cast(&__ImageBase); - - void init() - { - if(hmMstscax) - return; - - TCHAR szFileName[MAX_PATH + 1]; - GetModuleFileName(hmSelf, szFileName, MAX_PATH); - - std::basic_string strFileName(&szFileName[0]); - std::reverse_iterator::const_iterator > begin(strFileName.end()); - std::reverse_iterator::const_iterator > end(strFileName.begin()); - std::basic_string::const_iterator endPath = std::find(begin, end, TEXT('\\')).base(); - - std::basic_string strPath(strFileName.begin(), endPath); - strPath.append(TEXT("original\\mstscax.dll")); - - hmMstscax = LoadLibrary(strPath.c_str()); - pfnDllGetClassObject = (PFNDLLGETCLASSOBJECT)GetProcAddress(hmMstscax, "DllGetClassObject"); - pfnDllCanUnloadNow = (PFNDLLCANUNLOADNOW)GetProcAddress(hmMstscax, "DllCanUnloadNow"); - pfnDllGetTscCtlVer = (PFNDLLGETTSCCTLVER)GetProcAddress(hmMstscax, "DllGetTscCtlVer"); - } - - void dbgprintf(LPCTSTR fmt, ...) - { - TCHAR buf[0x1000]; - - va_list args; - va_start(args, fmt); - StringCbVPrintf(buf, sizeof(buf), fmt, args); - va_end(args); - - StringCbCat(buf, sizeof(buf), TEXT("\n")); - - OutputDebugString(buf); - } - -#if 0 - const IID MsTscAxIIDs[] = - { - IID_IMsRdpClient, - IID_IMsTscAx, - //IID_IMsTscAxEvents, - IID_IMsTscNonScriptable, - IID_IMsRdpClientNonScriptable, - }; - - const IID MsRdpClient[] = - { - IID_IMsRdpClient, - IID_IMsTscAx, - //IID_IMsTscAxEvents, - IID_IMsTscNonScriptable, - IID_IMsRdpClientNonScriptable, - }; - - const IID MsRdpClient2[] = - { - IID_IMsRdpClient2, - IID_IMsRdpClient, - IID_IMsTscAx, - //IID_IMsTscAxEvents, - IID_IMsTscNonScriptable, - IID_IMsRdpClientNonScriptable, - }; - - const IID MsRdpClient3[] = - { - IID_IMsRdpClient3, - IID_IMsRdpClient2, - IID_IMsRdpClient, - IID_IMsTscAx, - //IID_IMsTscAxEvents, - IID_IMsTscNonScriptable, - IID_IMsRdpClientNonScriptable, - }; - - const IID MsRdpClient4[] = - { - IID_IMsRdpClient4, - IID_IMsRdpClient3, - IID_IMsRdpClient2, - IID_IMsRdpClient, - IID_IMsTscAx, - //IID_IMsTscAxEvents, - IID_IMsTscNonScriptable, - IID_IMsRdpClientNonScriptable, - IID_IMsRdpClientNonScriptable2, - }; -#endif - - std::wstring UUIDToString(const UUID& uuid) - { - std::wstring s; - LPOLESTR str; - StringFromCLSID(uuid, &str); - s += str; - CoTaskMemFree(str); - return s; - } - - std::wstring MonikerToString(IMoniker * pmk) - { - LPOLESTR pszName = NULL; - - if(SUCCEEDED(pmk->GetDisplayName(NULL, NULL, &pszName))) - { - std::wstring s(pszName); - CoTaskMemFree(pszName); - return s; - } - else - return std::wstring(L""); - } - - std::basic_string RectToString(const RECT& rc) - { - if(&rc == NULL) - return TEXT(""); - - std::basic_ostringstream o; - o << "{" << " left:" << rc.left << " top:" << rc.top << " right:" << rc.right << " bottom:" << rc.bottom << " }"; - return o.str(); - } - - std::basic_string RectToString(const RECTL& rc) - { - if(&rc == NULL) - return TEXT(""); - - std::basic_ostringstream o; - o << "{" << " left:" << rc.left << " top:" << rc.top << " right:" << rc.right << " bottom:" << rc.bottom << " }"; - return o.str(); - } - - std::basic_string SizeToString(const SIZE& sz) - { - if(&sz == NULL) - return TEXT(""); - - std::basic_ostringstream o; - o << "{ " << " cx:" << sz.cx << " cy:" << sz.cy << " }"; - return o.str(); - } - - template LPCTSTR BooleanToString(const T& X) - { - return X ? TEXT("true") : TEXT("false"); - } - - std::basic_string VariantToString(const VARIANT& var) - { - std::basic_ostringstream o; - - switch(var.vt & VT_TYPEMASK) - { - case VT_EMPTY: o << ""; break; - case VT_NULL: o << ""; break; - case VT_I2: o << "short"; break; - case VT_I4: o << "long"; break; - case VT_R4: o << "float"; break; - case VT_R8: o << "double"; break; - case VT_CY: o << "CURRENCY"; break; - case VT_DATE: o << "DATE"; break; - case VT_BSTR: o << "string"; break; - case VT_DISPATCH: o << "IDispatch *"; break; - case VT_ERROR: o << "SCODE"; break; - case VT_BOOL: o << "bool"; break; - case VT_VARIANT: o << "VARIANT *"; break; - case VT_UNKNOWN: o << "IUnknown *"; break; - case VT_DECIMAL: o << "DECIMAL"; break; - case VT_I1: o << "char"; break; - case VT_UI1: o << "unsigned char"; break; - case VT_UI2: o << "unsigned short"; break; - case VT_UI4: o << "unsigned long"; break; - case VT_I8: o << "long long"; break; - case VT_UI8: o << "unsigned long long"; break; - case VT_INT: o << "int"; break; - case VT_UINT: o << "unsigned int"; break; - case VT_VOID: o << "void"; break; - case VT_HRESULT: o << "HRESULT"; break; - case VT_PTR: o << "void *"; break; - case VT_SAFEARRAY: o << "SAFEARRAY *"; break; - case VT_LPSTR: o << "LPSTR"; break; - case VT_LPWSTR: o << "LPWSTR"; break; - case VT_RECORD: o << "struct { }"; break; - case VT_INT_PTR: o << "intptr_t"; break; - case VT_UINT_PTR: o << "uintptr_t"; break; - case VT_FILETIME: o << "FILETIME"; break; - default: o << "???"; break; - } - - if(var.vt & VT_ARRAY) - o << "[]"; - else if(var.vt & VT_BYREF) - o << " *"; - else - { - switch(var.vt & VT_TYPEMASK) - { - case VT_EMPTY: - case VT_NULL: - case VT_RECORD: - case VT_VOID: - - // TODO - case VT_CY: - case VT_DATE: - case VT_DECIMAL: - case VT_FILETIME: - break; - - default: - o << " = "; - } - - switch(var.vt & VT_TYPEMASK) - { - case VT_I2: o << var.iVal; break; - case VT_I4: o << var.lVal; break; - case VT_R4: o << var.fltVal; break; - case VT_R8: o << var.dblVal; break; - case VT_BSTR: o << std::wstring(var.bstrVal, var.bstrVal + SysStringLen(var.bstrVal)); break; - case VT_BOOL: o << var.boolVal ? "true" : "false"; break; - case VT_I1: o << int(var.cVal); break; - case VT_UI1: o << unsigned int(var.bVal); break; - case VT_UI2: o << var.uiVal; break; - case VT_UI4: o << var.ulVal; break; - case VT_I8: o << var.llVal; break; - case VT_UI8: o << var.ullVal; break; - case VT_INT: o << var.intVal; break; - case VT_UINT: o << var.uintVal; break; - case VT_LPSTR: o << LPSTR(var.byref); break; - case VT_LPWSTR: o << LPWSTR(var.byref); break; - case VT_INT_PTR: o << var.intVal; break; // BUGBUG - case VT_UINT_PTR: o << var.uintVal; break; // BUGBUG - - case VT_DISPATCH: - case VT_VARIANT: - case VT_UNKNOWN: - case VT_PTR: - case VT_SAFEARRAY: - case VT_RECORD: - o << var.byref; break; - - case VT_ERROR: - case VT_HRESULT: - o << std::hex << var.ulVal; break; - - case VT_EMPTY: - case VT_NULL: - case VT_VOID: - break; - - default: - assert(0); - } - } - - return o.str(); - } - -#pragma warning(disable:4584) - - IConnectionPointContainer * HookIConnectionPointContainer(IConnectionPointContainer * p); - IEnumConnectionPoints * HookIEnumConnectionPoints(IEnumConnectionPoints * p); - IConnectionPoint * HookIConnectionPoint(IConnectionPoint * p); - IEnumConnections * HookIEnumConnections(IEnumConnections * p); - - class CConnectionPointContainer: public IConnectionPointContainer - { - private: - LONG m_refCount; - IConnectionPointContainer * m_IConnectionPointContainer; - - public: - CConnectionPointContainer(IConnectionPointContainer * pIConnectionPointContainer): - m_refCount(1), - m_IConnectionPointContainer(pIConnectionPointContainer) - { } - - ~CConnectionPointContainer() { m_IConnectionPointContainer->Release(); } - - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr = S_OK; - - dbgprintf(TEXT("CConnectionPointContainer::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - - if(riid == IID_IUnknown || riid == IID_IConnectionPointContainer) - *ppvObject = this; - else - { - *ppvObject = NULL; - hr = E_NOINTERFACE; - } - - dbgprintf(TEXT("CConnectionPointContainer::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual HRESULT STDMETHODCALLTYPE EnumConnectionPoints(IEnumConnectionPoints ** ppEnum) - { - dbgprintf(TEXT("CConnectionPointContainer::EnumConnectionPoints(%p)"), ppEnum); - HRESULT hr = m_IConnectionPointContainer->EnumConnectionPoints(ppEnum); - dbgprintf(TEXT("CConnectionPointContainer::EnumConnectionPoints -> %08X, pEnum = %p"), hr, *ppEnum); - - if(SUCCEEDED(hr)) - *ppEnum = HookIEnumConnectionPoints(*ppEnum); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE FindConnectionPoint(REFIID riid, IConnectionPoint ** ppCP) - { - dbgprintf(TEXT("CConnectionPointContainer::FindConnectionPoint(%ls, %p)"), UUIDToString(riid).c_str(), ppCP); - HRESULT hr = m_IConnectionPointContainer->FindConnectionPoint(riid, ppCP); - dbgprintf(TEXT("CConnectionPointContainer::FindConnectionPoint -> %08X, pCP = %p"), hr, *ppCP); - - if(SUCCEEDED(hr)) - *ppCP = HookIConnectionPoint(*ppCP); - - return hr; - } - }; - - class CEnumConnectionPoints: public IEnumConnectionPoints - { - private: - LONG m_refCount; - IEnumConnectionPoints * m_IEnumConnectionPoints; - - public: - CEnumConnectionPoints(IEnumConnectionPoints * pIEnumConnectionPoints): - m_refCount(1), - m_IEnumConnectionPoints(pIEnumConnectionPoints) - { } - - ~CEnumConnectionPoints() { m_IEnumConnectionPoints->Release(); } - - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr = S_OK; - - dbgprintf(TEXT("CEnumConnectionPoints::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - - if(riid == IID_IUnknown || riid == IID_IEnumConnectionPoints) - *ppvObject = this; - else - { - *ppvObject = NULL; - hr = E_NOINTERFACE; - } - - dbgprintf(TEXT("CEnumConnectionPoints::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual HRESULT STDMETHODCALLTYPE Next(ULONG cConnections, LPCONNECTIONPOINT * ppCP, ULONG * pcFetched) - { - dbgprintf(TEXT("CEnumConnectionPoints::Next(%lu, %p, %p)"), cConnections, ppCP, pcFetched); - HRESULT hr = m_IEnumConnectionPoints->Next(cConnections, ppCP, pcFetched); - dbgprintf(TEXT("CEnumConnectionPoints:: -> %08X, pCP = %p, cFetched = %lu"), hr, *ppCP, *pcFetched); - - if(SUCCEEDED(hr)) - *ppCP = HookIConnectionPoint(*ppCP); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Skip(ULONG cConnections) - { - dbgprintf(TEXT("CEnumConnectionPoints::Skip(%lu)"), cConnections); - HRESULT hr = m_IEnumConnectionPoints->Skip(cConnections); - dbgprintf(TEXT("CEnumConnectionPoints:: -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Reset(void) - { - dbgprintf(TEXT("CEnumConnectionPoints::Reset()")); - HRESULT hr = m_IEnumConnectionPoints->Reset(); - dbgprintf(TEXT("CEnumConnectionPoints:: -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Clone(IEnumConnectionPoints ** ppEnum) - { - dbgprintf(TEXT("CEnumConnectionPoints::Clone(%p)"), ppEnum); - HRESULT hr = m_IEnumConnectionPoints->Clone(ppEnum); - dbgprintf(TEXT("CEnumConnectionPoints:: -> %08X, pEnum"), hr, *ppEnum); - - if(SUCCEEDED(hr)) - *ppEnum = HookIEnumConnectionPoints(*ppEnum); - - return hr; - } - }; - - class CConnectionPoint: public IConnectionPoint - { - private: - LONG m_refCount; - IConnectionPoint * m_IConnectionPoint; - - public: - CConnectionPoint(IConnectionPoint * pIConnectionPoint): - m_refCount(1), - m_IConnectionPoint(pIConnectionPoint) - { } - - ~CConnectionPoint() { m_IConnectionPoint->Release(); } - - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr = S_OK; - - dbgprintf(TEXT("CConnectionPoint::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - - if(riid == IID_IUnknown || riid == IID_IConnectionPoint) - *ppvObject = this; - else - { - *ppvObject = NULL; - hr = E_NOINTERFACE; - } - - dbgprintf(TEXT("CConnectionPoint::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual HRESULT STDMETHODCALLTYPE GetConnectionInterface(IID * pIID) - { - dbgprintf(TEXT("CConnectionPoint::GetConnectionInterface(%p)"), pIID); - HRESULT hr = m_IConnectionPoint->GetConnectionInterface(pIID); - dbgprintf(TEXT("CConnectionPoint::GetConnectionInterface -> %08X, IID = %ls"), hr, UUIDToString(*pIID).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetConnectionPointContainer(IConnectionPointContainer ** ppCPC) - { - dbgprintf(TEXT("CConnectionPoint::GetConnectionPointContainer(%p)"), ppCPC); - HRESULT hr = m_IConnectionPoint->GetConnectionPointContainer(ppCPC); - dbgprintf(TEXT("CConnectionPoint::GetConnectionPointContainer -> %08X, pCPC = %p"), hr, *ppCPC); - - if(SUCCEEDED(hr)) - *ppCPC = HookIConnectionPointContainer(*ppCPC); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Advise(IUnknown * pUnkSink, DWORD * pdwCookie) - { - dbgprintf(TEXT("CConnectionPoint::Advise(%p, %p)"), pUnkSink, pdwCookie); - HRESULT hr = m_IConnectionPoint->Advise(pUnkSink, pdwCookie); - dbgprintf(TEXT("CConnectionPoint::Advise -> %08X, dwCookie = %lu"), hr, *pdwCookie); - // TODO: hook sink - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Unadvise(DWORD dwCookie) - { - dbgprintf(TEXT("CConnectionPoint::Unadvise(%lu)"), dwCookie); - HRESULT hr = m_IConnectionPoint->Unadvise(dwCookie); - dbgprintf(TEXT("CConnectionPoint::Unadvise -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnumConnections(IEnumConnections ** ppEnum) - { - dbgprintf(TEXT("CConnectionPoint::EnumConnections(%p)"), ppEnum); - HRESULT hr = m_IConnectionPoint->EnumConnections(ppEnum); - dbgprintf(TEXT("CConnectionPoint::EnumConnections -> %08X, pEnum = %p"), hr, *ppEnum); - - if(SUCCEEDED(hr)) - *ppEnum = HookIEnumConnections(*ppEnum); - - return hr; - } - }; - - class CEnumConnections: public IEnumConnections - { - private: - LONG m_refCount; - IEnumConnections * m_IEnumConnections; - - public: - CEnumConnections(IEnumConnections * pIEnumConnections): - m_refCount(1), - m_IEnumConnections(pIEnumConnections) - { } - - ~CEnumConnections() { m_IEnumConnections->Release(); } - - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr = S_OK; - - dbgprintf(TEXT("CEnumConnections::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - - if(riid == IID_IUnknown || riid == IID_IEnumConnections) - *ppvObject = this; - else - { - *ppvObject = NULL; - hr = E_NOINTERFACE; - } - - dbgprintf(TEXT("CEnumConnections::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual HRESULT STDMETHODCALLTYPE Next(ULONG cConnections, LPCONNECTDATA pCD, ULONG * pcFetched) - { - dbgprintf(TEXT("CEnumConnections::Next(%lu, %p, %p)"), cConnections, pCD, pcFetched); - HRESULT hr = m_IEnumConnections->Next(cConnections, pCD, pcFetched); - dbgprintf(TEXT("CEnumConnections:: -> %08X, CD = { pUnk = %p, dwCookie = %lu }, cFetched = %lu"), hr, pCD->pUnk, pCD->dwCookie, *pcFetched); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Skip(ULONG cConnections) - { - dbgprintf(TEXT("CEnumConnections::Skip(%lu)"), cConnections); - HRESULT hr = m_IEnumConnections->Skip(cConnections); - dbgprintf(TEXT("CEnumConnections:: -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Reset(void) - { - dbgprintf(TEXT("CEnumConnections::Reset()")); - HRESULT hr = m_IEnumConnections->Reset(); - dbgprintf(TEXT("CEnumConnections:: -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Clone(IEnumConnections ** ppEnum) - { - dbgprintf(TEXT("CEnumConnections::Clone(%p)"), ppEnum); - HRESULT hr = m_IEnumConnections->Clone(ppEnum); - dbgprintf(TEXT("CEnumConnections:: -> %08X, pEnum"), hr, *ppEnum); - - if(SUCCEEDED(hr)) - *ppEnum = HookIEnumConnections(*ppEnum); - - return hr; - } - }; - - IConnectionPointContainer * HookIConnectionPointContainer(IConnectionPointContainer * p) - { - return new CConnectionPointContainer(p); - } - - IEnumConnectionPoints * HookIEnumConnectionPoints(IEnumConnectionPoints * p) - { - return new CEnumConnectionPoints(p); - } - - IConnectionPoint * HookIConnectionPoint(IConnectionPoint * p) - { - return new CConnectionPoint(p); - } - - IEnumConnections * HookIEnumConnections(IEnumConnections * p) - { - return new CEnumConnections(p); - } - - class CAdvancedSettings: public IMsRdpClientAdvancedSettings4 - { - private: - LONG m_refCount; - IUnknown * m_IUnknown; - IDispatch * m_IDispatch; - IMsTscAdvancedSettings * m_IMsTscAdvancedSettings; - IMsRdpClientAdvancedSettings * m_IMsRdpClientAdvancedSettings; - IMsRdpClientAdvancedSettings2 * m_IMsRdpClientAdvancedSettings2; - IMsRdpClientAdvancedSettings3 * m_IMsRdpClientAdvancedSettings3; - IMsRdpClientAdvancedSettings4 * m_IMsRdpClientAdvancedSettings4; - - IDispatch * getIDispatch() - { - assert(m_IDispatch); - return m_IDispatch; - } - - IMsTscAdvancedSettings * getIMsTscAdvancedSettings() - { - if(m_IMsTscAdvancedSettings) - return m_IMsTscAdvancedSettings; - else if(m_IMsRdpClientAdvancedSettings) - m_IMsTscAdvancedSettings = m_IMsRdpClientAdvancedSettings; - else if(m_IMsRdpClientAdvancedSettings2) - m_IMsTscAdvancedSettings = m_IMsRdpClientAdvancedSettings2; - else if(m_IMsRdpClientAdvancedSettings3) - m_IMsTscAdvancedSettings = m_IMsRdpClientAdvancedSettings3; - else if(m_IMsRdpClientAdvancedSettings4) - m_IMsTscAdvancedSettings = m_IMsRdpClientAdvancedSettings4; - - if(m_IMsTscAdvancedSettings) - { - m_IMsTscAdvancedSettings->AddRef(); - return m_IMsTscAdvancedSettings; - } - - m_IUnknown->QueryInterface(&m_IMsTscAdvancedSettings); - return m_IMsTscAdvancedSettings; - } - - IMsRdpClientAdvancedSettings * getIMsRdpClientAdvancedSettings() - { - if(m_IMsRdpClientAdvancedSettings) - return m_IMsRdpClientAdvancedSettings; - else if(m_IMsRdpClientAdvancedSettings2) - m_IMsRdpClientAdvancedSettings = m_IMsRdpClientAdvancedSettings2; - else if(m_IMsRdpClientAdvancedSettings3) - m_IMsRdpClientAdvancedSettings = m_IMsRdpClientAdvancedSettings3; - else if(m_IMsRdpClientAdvancedSettings4) - m_IMsRdpClientAdvancedSettings = m_IMsRdpClientAdvancedSettings4; - - if(m_IMsRdpClientAdvancedSettings) - { - m_IMsRdpClientAdvancedSettings->AddRef(); - return m_IMsRdpClientAdvancedSettings; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClientAdvancedSettings); - return m_IMsRdpClientAdvancedSettings; - } - - IMsRdpClientAdvancedSettings2 * getIMsRdpClientAdvancedSettings2() - { - if(m_IMsRdpClientAdvancedSettings2) - return m_IMsRdpClientAdvancedSettings2; - else if(m_IMsRdpClientAdvancedSettings3) - m_IMsRdpClientAdvancedSettings2 = m_IMsRdpClientAdvancedSettings3; - else if(m_IMsRdpClientAdvancedSettings4) - m_IMsRdpClientAdvancedSettings2 = m_IMsRdpClientAdvancedSettings4; - - if(m_IMsRdpClientAdvancedSettings2) - { - m_IMsRdpClientAdvancedSettings2->AddRef(); - return m_IMsRdpClientAdvancedSettings2; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClientAdvancedSettings2); - return m_IMsRdpClientAdvancedSettings2; - } - - IMsRdpClientAdvancedSettings3 * getIMsRdpClientAdvancedSettings3() - { - if(m_IMsRdpClientAdvancedSettings3) - return m_IMsRdpClientAdvancedSettings3; - else if(m_IMsRdpClientAdvancedSettings4) - m_IMsRdpClientAdvancedSettings3 = m_IMsRdpClientAdvancedSettings4; - - if(m_IMsRdpClientAdvancedSettings3) - { - m_IMsRdpClientAdvancedSettings3->AddRef(); - return m_IMsRdpClientAdvancedSettings3; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClientAdvancedSettings3); - return m_IMsRdpClientAdvancedSettings3; - } - - IMsRdpClientAdvancedSettings4 * getIMsRdpClientAdvancedSettings4() - { - if(m_IMsRdpClientAdvancedSettings4) - return m_IMsRdpClientAdvancedSettings4; - - if(m_IMsRdpClientAdvancedSettings4) - { - m_IMsRdpClientAdvancedSettings4->AddRef(); - return m_IMsRdpClientAdvancedSettings4; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClientAdvancedSettings4); - return m_IMsRdpClientAdvancedSettings4; - } - - ~CAdvancedSettings() - { - m_IUnknown->Release(); - m_IDispatch->Release(); - - if(m_IMsTscAdvancedSettings) - m_IMsTscAdvancedSettings->Release(); - - if(m_IMsRdpClientAdvancedSettings) - m_IMsRdpClientAdvancedSettings->Release(); - - if(m_IMsRdpClientAdvancedSettings2) - m_IMsRdpClientAdvancedSettings2->Release(); - - if(m_IMsRdpClientAdvancedSettings3) - m_IMsRdpClientAdvancedSettings3->Release(); - - if(m_IMsRdpClientAdvancedSettings4) - m_IMsRdpClientAdvancedSettings4->Release(); - } - - void Init(IMsTscAdvancedSettings * p) - { - m_IMsTscAdvancedSettings = p; - } - - void Init(IMsRdpClientAdvancedSettings * p) - { - m_IMsRdpClientAdvancedSettings = p; - } - - void Init(IMsRdpClientAdvancedSettings2 * p) - { - m_IMsRdpClientAdvancedSettings2 = p; - } - - void Init(IMsRdpClientAdvancedSettings3 * p) - { - m_IMsRdpClientAdvancedSettings3 = p; - } - - void Init(IMsRdpClientAdvancedSettings4 * p) - { - m_IMsRdpClientAdvancedSettings4 = p; - } - - public: - template CAdvancedSettings(Interface * p): - m_refCount(1), - m_IUnknown(p), - m_IDispatch(p), - m_IMsTscAdvancedSettings(NULL), - m_IMsRdpClientAdvancedSettings(NULL), - m_IMsRdpClientAdvancedSettings2(NULL), - m_IMsRdpClientAdvancedSettings3(NULL), - m_IMsRdpClientAdvancedSettings4(NULL) - { - assert(p); - p->AddRef(); - p->AddRef(); - Init(p); - } - - /* IUnknown */ - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr; - IUnknown * pvObject; - - dbgprintf(TEXT("CAdvancedSettings::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - -#define QIBEGIN() \ - if(riid == IID_IUnknown) \ - { \ - hr = S_OK; \ - pvObject = (IUnknown *)(this); \ - } - -#define QI(I) \ - else if(riid == IID_ ## I) \ - { \ - if(m_ ## I) \ - { \ - m_ ## I->AddRef(); \ - hr = S_OK; \ - } \ - else \ - { \ - hr = m_IUnknown->QueryInterface(&m_ ## I); \ - } \ - \ - if(SUCCEEDED(hr)) \ - pvObject = static_cast(this); \ - } - -#define QIEND() \ - else \ - { \ - hr = E_NOINTERFACE; \ - pvObject = NULL; \ - } - - QIBEGIN() - QI(IDispatch) - QI(IMsTscAdvancedSettings) - QI(IMsRdpClientAdvancedSettings) - QI(IMsRdpClientAdvancedSettings2) - QI(IMsRdpClientAdvancedSettings3) - QI(IMsRdpClientAdvancedSettings4) - QIEND() - -#undef QIBEGIN -#undef QIEND -#undef QI - - if(SUCCEEDED(hr)) - { - assert(pvObject); - pvObject->AddRef(); - } - else - { - assert(pvObject == NULL); - } - - *ppvObject = pvObject; - - dbgprintf(TEXT("CAdvancedSettings::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - /* IDispatch */ - /* - * p = get(); - dbgprintf(TEXT("CAdvancedSettings::()"), ); - HRESULT hr = p->(); - dbgprintf(TEXT("CAdvancedSettings:: -> %08X, "), hr, ); - return hr; - */ - virtual STDMETHODIMP IDispatch::GetTypeInfoCount(UINT * pctinfo) - { - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("CAdvancedSettings::GetTypeInfoCount(%p)"), pctinfo); - HRESULT hr = pIDispatch->GetTypeInfoCount(pctinfo); - dbgprintf(TEXT("CAdvancedSettings::GetTypeInfoCount -> %08X, ctinfo = %u"), hr, *pctinfo); - return hr; - } - - virtual STDMETHODIMP IDispatch::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo ** ppTInfo) - { - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("CAdvancedSettings::GetTypeInfo(%u, %lu, %p)"), iTInfo, lcid, ppTInfo); - HRESULT hr = pIDispatch->GetTypeInfo(iTInfo, lcid, ppTInfo); - dbgprintf(TEXT("CAdvancedSettings::GetTypeInfo -> %08X, pTInfo = %p"), hr, *ppTInfo); - return hr; - } - - virtual STDMETHODIMP IDispatch::GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) - { - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("CAdvancedSettings::GetIDsOfNames(%ls, %ls, %d, %lu, %p)"), UUIDToString(riid).c_str(), *rgszNames, cNames, lcid, rgDispId); - HRESULT hr = pIDispatch->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId); - dbgprintf(TEXT("CAdvancedSettings::GetIDsOfNames -> %08X, rgDispId = %ld"), hr, *rgDispId); - return hr; - } - - virtual STDMETHODIMP IDispatch::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr) - { - // TODO - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("CAdvancedSettings::Invoke()")/*, */); - HRESULT hr = pIDispatch->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); - dbgprintf(TEXT("CAdvancedSettings::Invoke -> %08X, "), hr/*, */); - return hr; - } - - /* IMsTscAdvancedSettings */ - virtual STDMETHODIMP IMsTscAdvancedSettings::put_Compress(long pcompress) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_Compress(%ld)"), pcompress); - HRESULT hr = pIMsTscAdvancedSettings->put_Compress(pcompress); - dbgprintf(TEXT("CAdvancedSettings::put_Compress -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_Compress(long * pcompress) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_Compress(%p)"), pcompress); - HRESULT hr = pIMsTscAdvancedSettings->get_Compress(pcompress); - dbgprintf(TEXT("CAdvancedSettings::get_Compress -> %08X, compress = %ld"), hr, *pcompress); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_BitmapPeristence(long pbitmapPeristence) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapPeristence(%ld)"), pbitmapPeristence); - HRESULT hr = pIMsTscAdvancedSettings->put_BitmapPeristence(pbitmapPeristence); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapPeristence -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_BitmapPeristence(long * pbitmapPeristence) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapPeristence(%p)"), pbitmapPeristence); - HRESULT hr = pIMsTscAdvancedSettings->get_BitmapPeristence(pbitmapPeristence); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapPeristence -> %08X, bitmapPeristence = %ld"), hr, *pbitmapPeristence); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_allowBackgroundInput(long pallowBackgroundInput) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_allowBackgroundInput(%ld)"), pallowBackgroundInput); - HRESULT hr = pIMsTscAdvancedSettings->put_allowBackgroundInput(pallowBackgroundInput); - dbgprintf(TEXT("CAdvancedSettings::put_allowBackgroundInput -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_allowBackgroundInput(long * pallowBackgroundInput) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_allowBackgroundInput(%p)"), pallowBackgroundInput); - HRESULT hr = pIMsTscAdvancedSettings->get_allowBackgroundInput(pallowBackgroundInput); - dbgprintf(TEXT("CAdvancedSettings::get_allowBackgroundInput -> %08X, allowBackgroundInput = %ld"), hr, *pallowBackgroundInput); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_KeyBoardLayoutStr(BSTR rhs) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_KeyBoardLayoutStr(%ls)"), rhs); - HRESULT hr = pIMsTscAdvancedSettings->put_KeyBoardLayoutStr(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_KeyBoardLayoutStr -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_PluginDlls(BSTR rhs) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_PluginDlls(%ls)"), rhs); - HRESULT hr = pIMsTscAdvancedSettings->put_PluginDlls(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_PluginDlls -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconFile(BSTR rhs) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_IconFile(%ls)"), rhs); - HRESULT hr = pIMsTscAdvancedSettings->put_IconFile(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_IconFile -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconIndex(long rhs) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_IconIndex(%ld)"), rhs); - HRESULT hr = pIMsTscAdvancedSettings->put_IconIndex(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_IconIndex -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_ContainerHandledFullScreen(long pContainerHandledFullScreen) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ContainerHandledFullScreen(%ld)"), pContainerHandledFullScreen); - HRESULT hr = pIMsTscAdvancedSettings->put_ContainerHandledFullScreen(pContainerHandledFullScreen); - dbgprintf(TEXT("CAdvancedSettings::put_ContainerHandledFullScreen -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_ContainerHandledFullScreen(long * pContainerHandledFullScreen) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_ContainerHandledFullScreen(%p)"), pContainerHandledFullScreen); - HRESULT hr = pIMsTscAdvancedSettings->get_ContainerHandledFullScreen(pContainerHandledFullScreen); - dbgprintf(TEXT("CAdvancedSettings::get_ContainerHandledFullScreen -> %08X, ContainerHandledFullScreen = %ld"), hr, *pContainerHandledFullScreen); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_DisableRdpdr(long pDisableRdpdr) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_DisableRdpdr(%ld)"), pDisableRdpdr); - HRESULT hr = pIMsTscAdvancedSettings->put_DisableRdpdr(pDisableRdpdr); - dbgprintf(TEXT("CAdvancedSettings::put_DisableRdpdr -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_DisableRdpdr(long * pDisableRdpdr) - { - IMsTscAdvancedSettings * pIMsTscAdvancedSettings = getIMsTscAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_DisableRdpdr(%p)"), pDisableRdpdr); - HRESULT hr = pIMsTscAdvancedSettings->get_DisableRdpdr(pDisableRdpdr); - dbgprintf(TEXT("CAdvancedSettings::get_DisableRdpdr -> %08X, DisableRdpdr = %ld"), hr, *pDisableRdpdr); - return hr; - } - - /* IMsRdpClientAdvancedSettings */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmoothScroll(long psmoothScroll) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_SmoothScroll(%ld)"), psmoothScroll); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_SmoothScroll(psmoothScroll); - dbgprintf(TEXT("CAdvancedSettings::put_SmoothScroll -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmoothScroll(long * psmoothScroll) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_SmoothScroll(%p)"), psmoothScroll); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_SmoothScroll(psmoothScroll); - dbgprintf(TEXT("CAdvancedSettings::get_SmoothScroll -> %08X, smoothScroll = %ld"), hr, *psmoothScroll); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_AcceleratorPassthrough(long pacceleratorPassthrough) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_AcceleratorPassthrough(%ld)"), pacceleratorPassthrough); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_AcceleratorPassthrough(pacceleratorPassthrough); - dbgprintf(TEXT("CAdvancedSettings::put_AcceleratorPassthrough -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_AcceleratorPassthrough(long * pacceleratorPassthrough) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_AcceleratorPassthrough(%p)"), pacceleratorPassthrough); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_AcceleratorPassthrough(pacceleratorPassthrough); - dbgprintf(TEXT("CAdvancedSettings::get_AcceleratorPassthrough -> %08X, acceleratorPassthrough = %ld"), hr, *pacceleratorPassthrough); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ShadowBitmap(long pshadowBitmap) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ShadowBitmap(%ld)"), pshadowBitmap); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_ShadowBitmap(pshadowBitmap); - dbgprintf(TEXT("CAdvancedSettings::put_ShadowBitmap -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ShadowBitmap(long * pshadowBitmap) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_ShadowBitmap(%p)"), pshadowBitmap); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_ShadowBitmap(pshadowBitmap); - dbgprintf(TEXT("CAdvancedSettings::get_ShadowBitmap -> %08X, shadowBitmap = %ld"), hr, *pshadowBitmap); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_TransportType(long ptransportType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_TransportType(%ld)"), ptransportType); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_TransportType(ptransportType); - dbgprintf(TEXT("CAdvancedSettings::put_TransportType -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_TransportType(long * ptransportType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_TransportType(%p)"), ptransportType); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_TransportType(ptransportType); - dbgprintf(TEXT("CAdvancedSettings::get_TransportType -> %08X, transportType = %ld"), hr, *ptransportType); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SasSequence(long psasSequence) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_SasSequence(%ld)"), psasSequence); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_SasSequence(psasSequence); - dbgprintf(TEXT("CAdvancedSettings::put_SasSequence -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SasSequence(long * psasSequence) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_SasSequence(%p)"), psasSequence); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_SasSequence(psasSequence); - dbgprintf(TEXT("CAdvancedSettings::get_SasSequence -> %08X, sasSequence = %ld"), hr, *psasSequence); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EncryptionEnabled(long pencryptionEnabled) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_EncryptionEnabled(%ld)"), pencryptionEnabled); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_EncryptionEnabled(pencryptionEnabled); - dbgprintf(TEXT("CAdvancedSettings::put_EncryptionEnabled -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EncryptionEnabled(long * pencryptionEnabled) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_EncryptionEnabled(%p)"), pencryptionEnabled); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_EncryptionEnabled(pencryptionEnabled); - dbgprintf(TEXT("CAdvancedSettings::get_EncryptionEnabled -> %08X, encryptionEnabled = %ld"), hr, *pencryptionEnabled); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DedicatedTerminal(long pdedicatedTerminal) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_DedicatedTerminal(%ld)"), pdedicatedTerminal); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_DedicatedTerminal(pdedicatedTerminal); - dbgprintf(TEXT("CAdvancedSettings::put_DedicatedTerminal -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DedicatedTerminal(long * pdedicatedTerminal) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_DedicatedTerminal(%p)"), pdedicatedTerminal); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_DedicatedTerminal(pdedicatedTerminal); - dbgprintf(TEXT("CAdvancedSettings::get_DedicatedTerminal -> %08X, dedicatedTerminal = %ld"), hr, *pdedicatedTerminal); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RDPPort(long prdpPort) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RDPPort(%ld)"), prdpPort); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RDPPort(prdpPort); - dbgprintf(TEXT("CAdvancedSettings::put_RDPPort -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RDPPort(long * prdpPort) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RDPPort(%p)"), prdpPort); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RDPPort(prdpPort); - dbgprintf(TEXT("CAdvancedSettings::get_RDPPort -> %08X, rdpPort = %ld"), hr, *prdpPort); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableMouse(long penableMouse) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_EnableMouse(%ld)"), penableMouse); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_EnableMouse(penableMouse); - dbgprintf(TEXT("CAdvancedSettings::put_EnableMouse -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableMouse(long * penableMouse) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_EnableMouse(%p)"), penableMouse); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_EnableMouse(penableMouse); - dbgprintf(TEXT("CAdvancedSettings::get_EnableMouse -> %08X, enableMouse = %ld"), hr, *penableMouse); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisableCtrlAltDel(long pdisableCtrlAltDel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_DisableCtrlAltDel(%ld)"), pdisableCtrlAltDel); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_DisableCtrlAltDel(pdisableCtrlAltDel); - dbgprintf(TEXT("CAdvancedSettings::put_DisableCtrlAltDel -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisableCtrlAltDel(long * pdisableCtrlAltDel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_DisableCtrlAltDel(%p)"), pdisableCtrlAltDel); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_DisableCtrlAltDel(pdisableCtrlAltDel); - dbgprintf(TEXT("CAdvancedSettings::get_DisableCtrlAltDel -> %08X, disableCtrlAltDel = %ld"), hr, *pdisableCtrlAltDel); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableWindowsKey(long penableWindowsKey) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_EnableWindowsKey(%ld)"), penableWindowsKey); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_EnableWindowsKey(penableWindowsKey); - dbgprintf(TEXT("CAdvancedSettings::put_EnableWindowsKey -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableWindowsKey(long * penableWindowsKey) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_EnableWindowsKey(%p)"), penableWindowsKey); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_EnableWindowsKey(penableWindowsKey); - dbgprintf(TEXT("CAdvancedSettings::get_EnableWindowsKey -> %08X, enableWindowsKey = %ld"), hr, *penableWindowsKey); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DoubleClickDetect(long pdoubleClickDetect) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_DoubleClickDetect(%ld)"), pdoubleClickDetect); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_DoubleClickDetect(pdoubleClickDetect); - dbgprintf(TEXT("CAdvancedSettings::put_DoubleClickDetect -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DoubleClickDetect(long * pdoubleClickDetect) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_DoubleClickDetect(%p)"), pdoubleClickDetect); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_DoubleClickDetect(pdoubleClickDetect); - dbgprintf(TEXT("CAdvancedSettings::get_DoubleClickDetect -> %08X, doubleClickDetect = %ld"), hr, *pdoubleClickDetect); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MaximizeShell(long pmaximizeShell) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_MaximizeShell(%ld)"), pmaximizeShell); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_MaximizeShell(pmaximizeShell); - dbgprintf(TEXT("CAdvancedSettings::put_MaximizeShell -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MaximizeShell(long * pmaximizeShell) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_MaximizeShell(%p)"), pmaximizeShell); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_MaximizeShell(pmaximizeShell); - dbgprintf(TEXT("CAdvancedSettings::get_MaximizeShell -> %08X, maximizeShell = %ld"), hr, *pmaximizeShell); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyFullScreen(long photKeyFullScreen) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyFullScreen(%ld)"), photKeyFullScreen); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyFullScreen(photKeyFullScreen); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyFullScreen -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyFullScreen(long * photKeyFullScreen) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyFullScreen(%p)"), photKeyFullScreen); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyFullScreen(photKeyFullScreen); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyFullScreen -> %08X, hotKeyFullScreen = %ld"), hr, *photKeyFullScreen); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlEsc(long photKeyCtrlEsc) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyCtrlEsc(%ld)"), photKeyCtrlEsc); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyCtrlEsc(photKeyCtrlEsc); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyCtrlEsc -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlEsc(long * photKeyCtrlEsc) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyCtrlEsc(%p)"), photKeyCtrlEsc); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyCtrlEsc(photKeyCtrlEsc); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyCtrlEsc -> %08X, hotKeyCtrlEsc = %ld"), hr, *photKeyCtrlEsc); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltEsc(long photKeyAltEsc) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltEsc(%ld)"), photKeyAltEsc); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyAltEsc(photKeyAltEsc); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltEsc -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltEsc(long * photKeyAltEsc) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltEsc(%p)"), photKeyAltEsc); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyAltEsc(photKeyAltEsc); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltEsc -> %08X, hotKeyAltEsc = %ld"), hr, *photKeyAltEsc); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltTab(long photKeyAltTab) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltTab(%ld)"), photKeyAltTab); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyAltTab(photKeyAltTab); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltTab -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltTab(long * photKeyAltTab) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltTab(%p)"), photKeyAltTab); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyAltTab(photKeyAltTab); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltTab -> %08X, hotKeyAltTab = %ld"), hr, *photKeyAltTab); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltShiftTab(long photKeyAltShiftTab) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltShiftTab(%ld)"), photKeyAltShiftTab); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyAltShiftTab(photKeyAltShiftTab); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltShiftTab -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltShiftTab(long * photKeyAltShiftTab) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltShiftTab(%p)"), photKeyAltShiftTab); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyAltShiftTab(photKeyAltShiftTab); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltShiftTab -> %08X, hotKeyAltShiftTab = %ld"), hr, *photKeyAltShiftTab); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltSpace(long photKeyAltSpace) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltSpace(%ld)"), photKeyAltSpace); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyAltSpace(photKeyAltSpace); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyAltSpace -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltSpace(long * photKeyAltSpace) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltSpace(%p)"), photKeyAltSpace); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyAltSpace(photKeyAltSpace); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyAltSpace -> %08X, hotKeyAltSpace = %ld"), hr, *photKeyAltSpace); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlAltDel(long photKeyCtrlAltDel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyCtrlAltDel(%ld)"), photKeyCtrlAltDel); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_HotKeyCtrlAltDel(photKeyCtrlAltDel); - dbgprintf(TEXT("CAdvancedSettings::put_HotKeyCtrlAltDel -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlAltDel(long * photKeyCtrlAltDel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyCtrlAltDel(%p)"), photKeyCtrlAltDel); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_HotKeyCtrlAltDel(photKeyCtrlAltDel); - dbgprintf(TEXT("CAdvancedSettings::get_HotKeyCtrlAltDel -> %08X, hotKeyCtrlAltDel = %ld"), hr, *photKeyCtrlAltDel); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_orderDrawThreshold(long porderDrawThreshold) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_orderDrawThreshold(%ld)"), porderDrawThreshold); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_orderDrawThreshold(porderDrawThreshold); - dbgprintf(TEXT("CAdvancedSettings::put_orderDrawThreshold -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_orderDrawThreshold(long * porderDrawThreshold) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_orderDrawThreshold(%p)"), porderDrawThreshold); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_orderDrawThreshold(porderDrawThreshold); - dbgprintf(TEXT("CAdvancedSettings::get_orderDrawThreshold -> %08X, orderDrawThreshold = %ld"), hr, *porderDrawThreshold); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapCacheSize(long pbitmapCacheSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapCacheSize(%ld)"), pbitmapCacheSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_BitmapCacheSize(pbitmapCacheSize); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapCacheSize -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapCacheSize(long * pbitmapCacheSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapCacheSize(%p)"), pbitmapCacheSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_BitmapCacheSize(pbitmapCacheSize); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapCacheSize -> %08X, bitmapCacheSize = %ld"), hr, *pbitmapCacheSize); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCacheSize(long pbitmapVirtualCacheSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCacheSize(%ld)"), pbitmapVirtualCacheSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_BitmapVirtualCacheSize(pbitmapVirtualCacheSize); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCacheSize -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCacheSize(long * pbitmapVirtualCacheSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCacheSize(%p)"), pbitmapVirtualCacheSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_BitmapVirtualCacheSize(pbitmapVirtualCacheSize); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCacheSize -> %08X, bitmapVirtualCacheSize = %ld"), hr, *pbitmapVirtualCacheSize); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ScaleBitmapCachesByBPP(long pbScale) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ScaleBitmapCachesByBPP(%ld)"), pbScale); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_ScaleBitmapCachesByBPP(pbScale); - dbgprintf(TEXT("CAdvancedSettings::put_ScaleBitmapCachesByBPP -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ScaleBitmapCachesByBPP(long * pbScale) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_ScaleBitmapCachesByBPP(%p)"), pbScale); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_ScaleBitmapCachesByBPP(pbScale); - dbgprintf(TEXT("CAdvancedSettings::get_ScaleBitmapCachesByBPP -> %08X, bScale = %ld"), hr, *pbScale); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NumBitmapCaches(long pnumBitmapCaches) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_NumBitmapCaches(%ld)"), pnumBitmapCaches); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_NumBitmapCaches(pnumBitmapCaches); - dbgprintf(TEXT("CAdvancedSettings::put_NumBitmapCaches -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NumBitmapCaches(long * pnumBitmapCaches) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_NumBitmapCaches(%p)"), pnumBitmapCaches); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_NumBitmapCaches(pnumBitmapCaches); - dbgprintf(TEXT("CAdvancedSettings::get_NumBitmapCaches -> %08X, numBitmapCaches = %ld"), hr, *pnumBitmapCaches); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_CachePersistenceActive(long pcachePersistenceActive) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_CachePersistenceActive(%ld)"), pcachePersistenceActive); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_CachePersistenceActive(pcachePersistenceActive); - dbgprintf(TEXT("CAdvancedSettings::put_CachePersistenceActive -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_CachePersistenceActive(long * pcachePersistenceActive) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_CachePersistenceActive(%p)"), pcachePersistenceActive); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_CachePersistenceActive(pcachePersistenceActive); - dbgprintf(TEXT("CAdvancedSettings::get_CachePersistenceActive -> %08X, cachePersistenceActive = %ld"), hr, *pcachePersistenceActive); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PersistCacheDirectory(BSTR rhs) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_PersistCacheDirectory(%ls)"), rhs); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_PersistCacheDirectory(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_PersistCacheDirectory -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_brushSupportLevel(long pbrushSupportLevel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_brushSupportLevel(%ld)"), pbrushSupportLevel); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_brushSupportLevel(pbrushSupportLevel); - dbgprintf(TEXT("CAdvancedSettings::put_brushSupportLevel -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_brushSupportLevel(long * pbrushSupportLevel) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_brushSupportLevel(%p)"), pbrushSupportLevel); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_brushSupportLevel(pbrushSupportLevel); - dbgprintf(TEXT("CAdvancedSettings::get_brushSupportLevel -> %08X, brushSupportLevel = %ld"), hr, *pbrushSupportLevel); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_minInputSendInterval(long pminInputSendInterval) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_minInputSendInterval(%ld)"), pminInputSendInterval); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_minInputSendInterval(pminInputSendInterval); - dbgprintf(TEXT("CAdvancedSettings::put_minInputSendInterval -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_minInputSendInterval(long * pminInputSendInterval) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_minInputSendInterval(%p)"), pminInputSendInterval); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_minInputSendInterval(pminInputSendInterval); - dbgprintf(TEXT("CAdvancedSettings::get_minInputSendInterval -> %08X, minInputSendInterval = %ld"), hr, *pminInputSendInterval); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_InputEventsAtOnce(long pinputEventsAtOnce) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_InputEventsAtOnce(%ld)"), pinputEventsAtOnce); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_InputEventsAtOnce(pinputEventsAtOnce); - dbgprintf(TEXT("CAdvancedSettings::put_InputEventsAtOnce -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_InputEventsAtOnce(long * pinputEventsAtOnce) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_InputEventsAtOnce(%p)"), pinputEventsAtOnce); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_InputEventsAtOnce(pinputEventsAtOnce); - dbgprintf(TEXT("CAdvancedSettings::get_InputEventsAtOnce -> %08X, inputEventsAtOnce = %ld"), hr, *pinputEventsAtOnce); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_maxEventCount(long pmaxEventCount) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_maxEventCount(%ld)"), pmaxEventCount); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_maxEventCount(pmaxEventCount); - dbgprintf(TEXT("CAdvancedSettings::put_maxEventCount -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_maxEventCount(long * pmaxEventCount) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_maxEventCount(%p)"), pmaxEventCount); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_maxEventCount(pmaxEventCount); - dbgprintf(TEXT("CAdvancedSettings::get_maxEventCount -> %08X, maxEventCount = %ld"), hr, *pmaxEventCount); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_keepAliveInterval(long pkeepAliveInterval) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_keepAliveInterval(%ld)"), pkeepAliveInterval); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_keepAliveInterval(pkeepAliveInterval); - dbgprintf(TEXT("CAdvancedSettings::put_keepAliveInterval -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_keepAliveInterval(long * pkeepAliveInterval) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_keepAliveInterval(%p)"), pkeepAliveInterval); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_keepAliveInterval(pkeepAliveInterval); - dbgprintf(TEXT("CAdvancedSettings::get_keepAliveInterval -> %08X, keepAliveInterval = %ld"), hr, *pkeepAliveInterval); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_shutdownTimeout(long pshutdownTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_shutdownTimeout(%ld)"), pshutdownTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_shutdownTimeout(pshutdownTimeout); - dbgprintf(TEXT("CAdvancedSettings::put_shutdownTimeout -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_shutdownTimeout(long * pshutdownTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_shutdownTimeout(%p)"), pshutdownTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_shutdownTimeout(pshutdownTimeout); - dbgprintf(TEXT("CAdvancedSettings::get_shutdownTimeout -> %08X, shutdownTimeout = %ld"), hr, *pshutdownTimeout); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_overallConnectionTimeout(long poverallConnectionTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_overallConnectionTimeout(%ld)"), poverallConnectionTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_overallConnectionTimeout(poverallConnectionTimeout); - dbgprintf(TEXT("CAdvancedSettings::put_overallConnectionTimeout -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_overallConnectionTimeout(long * poverallConnectionTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_overallConnectionTimeout(%p)"), poverallConnectionTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_overallConnectionTimeout(poverallConnectionTimeout); - dbgprintf(TEXT("CAdvancedSettings::get_overallConnectionTimeout -> %08X, overallConnectionTimeout = %ld"), hr, *poverallConnectionTimeout); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_singleConnectionTimeout(long psingleConnectionTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_singleConnectionTimeout(%ld)"), psingleConnectionTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_singleConnectionTimeout(psingleConnectionTimeout); - dbgprintf(TEXT("CAdvancedSettings::put_singleConnectionTimeout -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_singleConnectionTimeout(long * psingleConnectionTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_singleConnectionTimeout(%p)"), psingleConnectionTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_singleConnectionTimeout(psingleConnectionTimeout); - dbgprintf(TEXT("CAdvancedSettings::get_singleConnectionTimeout -> %08X, singleConnectionTimeout = %ld"), hr, *psingleConnectionTimeout); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardType(long pkeyboardType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardType(%ld)"), pkeyboardType); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_KeyboardType(pkeyboardType); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardType -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardType(long * pkeyboardType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardType(%p)"), pkeyboardType); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_KeyboardType(pkeyboardType); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardType -> %08X, keyboardType = %ld"), hr, *pkeyboardType); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardSubType(long pkeyboardSubType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardSubType(%ld)"), pkeyboardSubType); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_KeyboardSubType(pkeyboardSubType); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardSubType -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardSubType(long * pkeyboardSubType) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardSubType(%p)"), pkeyboardSubType); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_KeyboardSubType(pkeyboardSubType); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardSubType -> %08X, keyboardSubType = %ld"), hr, *pkeyboardSubType); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardFunctionKey(long pkeyboardFunctionKey) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardFunctionKey(%ld)"), pkeyboardFunctionKey); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_KeyboardFunctionKey(pkeyboardFunctionKey); - dbgprintf(TEXT("CAdvancedSettings::put_KeyboardFunctionKey -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardFunctionKey(long * pkeyboardFunctionKey) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardFunctionKey(%p)"), pkeyboardFunctionKey); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_KeyboardFunctionKey(pkeyboardFunctionKey); - dbgprintf(TEXT("CAdvancedSettings::get_KeyboardFunctionKey -> %08X, keyboardFunctionKey = %ld"), hr, *pkeyboardFunctionKey); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_WinceFixedPalette(long pwinceFixedPalette) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_WinceFixedPalette(%ld)"), pwinceFixedPalette); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_WinceFixedPalette(pwinceFixedPalette); - dbgprintf(TEXT("CAdvancedSettings::put_WinceFixedPalette -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_WinceFixedPalette(long * pwinceFixedPalette) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_WinceFixedPalette(%p)"), pwinceFixedPalette); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_WinceFixedPalette(pwinceFixedPalette); - dbgprintf(TEXT("CAdvancedSettings::get_WinceFixedPalette -> %08X, winceFixedPalette = %ld"), hr, *pwinceFixedPalette); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectToServerConsole(VARIANT_BOOL pConnectToConsole) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectToServerConsole(%s)"), BooleanToString(pConnectToConsole)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_ConnectToServerConsole(pConnectToConsole); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectToServerConsole -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ConnectToServerConsole(VARIANT_BOOL * pConnectToConsole) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectToServerConsole(%p)"), pConnectToConsole); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_ConnectToServerConsole(pConnectToConsole); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectToServerConsole -> %08X, ConnectToConsole = %s"), hr, BooleanToString(*pConnectToConsole)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapPersistence(long pbitmapPersistence) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapPersistence(%ld)"), pbitmapPersistence); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_BitmapPersistence(pbitmapPersistence); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapPersistence -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapPersistence(long * pbitmapPersistence) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapPersistence(%p)"), pbitmapPersistence); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_BitmapPersistence(pbitmapPersistence); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapPersistence -> %08X, bitmapPersistence = %ld"), hr, *pbitmapPersistence); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MinutesToIdleTimeout(long pminutesToIdleTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_MinutesToIdleTimeout(%ld)"), pminutesToIdleTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_MinutesToIdleTimeout(pminutesToIdleTimeout); - dbgprintf(TEXT("CAdvancedSettings::put_MinutesToIdleTimeout -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MinutesToIdleTimeout(long * pminutesToIdleTimeout) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_MinutesToIdleTimeout(%p)"), pminutesToIdleTimeout); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_MinutesToIdleTimeout(pminutesToIdleTimeout); - dbgprintf(TEXT("CAdvancedSettings::get_MinutesToIdleTimeout -> %08X, minutesToIdleTimeout = %ld"), hr, *pminutesToIdleTimeout); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmartSizing(VARIANT_BOOL pfSmartSizing) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_SmartSizing(%s)"), BooleanToString(pfSmartSizing)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_SmartSizing(pfSmartSizing); - dbgprintf(TEXT("CAdvancedSettings::put_SmartSizing -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmartSizing(VARIANT_BOOL * pfSmartSizing) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_SmartSizing(%p)"), pfSmartSizing); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_SmartSizing(pfSmartSizing); - dbgprintf(TEXT("CAdvancedSettings::get_SmartSizing -> %08X, fSmartSizing = %s"), hr, BooleanToString(*pfSmartSizing)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrLocalPrintingDocName(BSTR pLocalPrintingDocName) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrLocalPrintingDocName(%ls)"), pLocalPrintingDocName); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RdpdrLocalPrintingDocName(pLocalPrintingDocName); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrLocalPrintingDocName -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrLocalPrintingDocName(BSTR * pLocalPrintingDocName) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrLocalPrintingDocName(%p)"), pLocalPrintingDocName); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RdpdrLocalPrintingDocName(pLocalPrintingDocName); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrLocalPrintingDocName -> %08X, LocalPrintingDocName = %ls"), hr, *pLocalPrintingDocName); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipCleanTempDirString(BSTR clipCleanTempDirString) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrClipCleanTempDirString(%ls)"), clipCleanTempDirString); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RdpdrClipCleanTempDirString(clipCleanTempDirString); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrClipCleanTempDirString -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipCleanTempDirString(BSTR * clipCleanTempDirString) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrClipCleanTempDirString(%p)"), clipCleanTempDirString); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RdpdrClipCleanTempDirString(clipCleanTempDirString); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrClipCleanTempDirString -> %08X, clipCleanTempDirString = %ls"), hr, *clipCleanTempDirString); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipPasteInfoString(BSTR clipPasteInfoString) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrClipPasteInfoString(%ls)"), clipPasteInfoString); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RdpdrClipPasteInfoString(clipPasteInfoString); - dbgprintf(TEXT("CAdvancedSettings::put_RdpdrClipPasteInfoString -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipPasteInfoString(BSTR * clipPasteInfoString) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrClipPasteInfoString(%p)"), clipPasteInfoString); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RdpdrClipPasteInfoString(clipPasteInfoString); - dbgprintf(TEXT("CAdvancedSettings::get_RdpdrClipPasteInfoString -> %08X, clipPasteInfoString = %ls"), hr, *clipPasteInfoString); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ClearTextPassword(BSTR rhs) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ClearTextPassword(%ls)"), rhs); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_ClearTextPassword(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_ClearTextPassword -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisplayConnectionBar(VARIANT_BOOL pDisplayConnectionBar) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_DisplayConnectionBar(%s)"), BooleanToString(pDisplayConnectionBar)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_DisplayConnectionBar(pDisplayConnectionBar); - dbgprintf(TEXT("CAdvancedSettings::put_DisplayConnectionBar -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisplayConnectionBar(VARIANT_BOOL * pDisplayConnectionBar) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_DisplayConnectionBar(%p)"), pDisplayConnectionBar); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_DisplayConnectionBar(pDisplayConnectionBar); - dbgprintf(TEXT("CAdvancedSettings::get_DisplayConnectionBar -> %08X, DisplayConnectionBar = %s"), hr, BooleanToString(*pDisplayConnectionBar)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PinConnectionBar(VARIANT_BOOL pPinConnectionBar) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_PinConnectionBar(%s)"), BooleanToString(pPinConnectionBar)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_PinConnectionBar(pPinConnectionBar); - dbgprintf(TEXT("CAdvancedSettings::put_PinConnectionBar -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PinConnectionBar(VARIANT_BOOL * pPinConnectionBar) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_PinConnectionBar(%p)"), pPinConnectionBar); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_PinConnectionBar(pPinConnectionBar); - dbgprintf(TEXT("CAdvancedSettings::get_PinConnectionBar -> %08X, PinConnectionBar = %s"), hr, BooleanToString(*pPinConnectionBar)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_GrabFocusOnConnect(VARIANT_BOOL pfGrabFocusOnConnect) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_GrabFocusOnConnect(%s)"), BooleanToString(pfGrabFocusOnConnect)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_GrabFocusOnConnect(pfGrabFocusOnConnect); - dbgprintf(TEXT("CAdvancedSettings::put_GrabFocusOnConnect -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_GrabFocusOnConnect(VARIANT_BOOL * pfGrabFocusOnConnect) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_GrabFocusOnConnect(%p)"), pfGrabFocusOnConnect); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_GrabFocusOnConnect(pfGrabFocusOnConnect); - dbgprintf(TEXT("CAdvancedSettings::get_GrabFocusOnConnect -> %08X, fGrabFocusOnConnect = %s"), hr, BooleanToString(*pfGrabFocusOnConnect)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_LoadBalanceInfo(BSTR pLBInfo) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_LoadBalanceInfo(%ls)"), pLBInfo); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_LoadBalanceInfo(pLBInfo); - dbgprintf(TEXT("CAdvancedSettings::put_LoadBalanceInfo -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_LoadBalanceInfo(BSTR * pLBInfo) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_LoadBalanceInfo(%p)"), pLBInfo); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_LoadBalanceInfo(pLBInfo); - dbgprintf(TEXT("CAdvancedSettings::get_LoadBalanceInfo -> %08X, LBInfo = %ls"), hr, *pLBInfo); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectDrives(VARIANT_BOOL pRedirectDrives) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectDrives(%s)"), BooleanToString(pRedirectDrives)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RedirectDrives(pRedirectDrives); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectDrives -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectDrives(VARIANT_BOOL * pRedirectDrives) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectDrives(%p)"), pRedirectDrives); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RedirectDrives(pRedirectDrives); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectDrives -> %08X, RedirectDrives = %s"), hr, BooleanToString(*pRedirectDrives)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPrinters(VARIANT_BOOL pRedirectPrinters) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectPrinters(%s)"), BooleanToString(pRedirectPrinters)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RedirectPrinters(pRedirectPrinters); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectPrinters -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPrinters(VARIANT_BOOL * pRedirectPrinters) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectPrinters(%p)"), pRedirectPrinters); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RedirectPrinters(pRedirectPrinters); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectPrinters -> %08X, RedirectPrinters = %s"), hr, BooleanToString(*pRedirectPrinters)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPorts(VARIANT_BOOL pRedirectPorts) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectPorts(%s)"), BooleanToString(pRedirectPorts)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RedirectPorts(pRedirectPorts); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectPorts -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPorts(VARIANT_BOOL * pRedirectPorts) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectPorts(%p)"), pRedirectPorts); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RedirectPorts(pRedirectPorts); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectPorts -> %08X, RedirectPorts = %s"), hr, BooleanToString(*pRedirectPorts)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectSmartCards(VARIANT_BOOL pRedirectSmartCards) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectSmartCards(%s)"), BooleanToString(pRedirectSmartCards)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_RedirectSmartCards(pRedirectSmartCards); - dbgprintf(TEXT("CAdvancedSettings::put_RedirectSmartCards -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectSmartCards(VARIANT_BOOL * pRedirectSmartCards) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectSmartCards(%p)"), pRedirectSmartCards); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_RedirectSmartCards(pRedirectSmartCards); - dbgprintf(TEXT("CAdvancedSettings::get_RedirectSmartCards -> %08X, RedirectSmartCards = %s"), hr, BooleanToString(*pRedirectSmartCards)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache16BppSize(long pBitmapVirtualCache16BppSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCache16BppSize(%ld)"), pBitmapVirtualCache16BppSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_BitmapVirtualCache16BppSize(pBitmapVirtualCache16BppSize); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCache16BppSize -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache16BppSize(long * pBitmapVirtualCache16BppSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCache16BppSize(%p)"), pBitmapVirtualCache16BppSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_BitmapVirtualCache16BppSize(pBitmapVirtualCache16BppSize); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCache16BppSize -> %08X, BitmapVirtualCache16BppSize = %ld"), hr, *pBitmapVirtualCache16BppSize); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache24BppSize(long pBitmapVirtualCache24BppSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCache24BppSize(%ld)"), pBitmapVirtualCache24BppSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_BitmapVirtualCache24BppSize(pBitmapVirtualCache24BppSize); - dbgprintf(TEXT("CAdvancedSettings::put_BitmapVirtualCache24BppSize -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache24BppSize(long * pBitmapVirtualCache24BppSize) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCache24BppSize(%p)"), pBitmapVirtualCache24BppSize); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_BitmapVirtualCache24BppSize(pBitmapVirtualCache24BppSize); - dbgprintf(TEXT("CAdvancedSettings::get_BitmapVirtualCache24BppSize -> %08X, BitmapVirtualCache24BppSize = %ld"), hr, *pBitmapVirtualCache24BppSize); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PerformanceFlags(long pDisableList) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_PerformanceFlags(%ld)"), pDisableList); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_PerformanceFlags(pDisableList); - dbgprintf(TEXT("CAdvancedSettings::put_PerformanceFlags -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PerformanceFlags(long * pDisableList) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_PerformanceFlags(%p)"), pDisableList); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_PerformanceFlags(pDisableList); - dbgprintf(TEXT("CAdvancedSettings::get_PerformanceFlags -> %08X, DisableList = %ld"), hr, *pDisableList); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectWithEndpoint(VARIANT * rhs) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectWithEndpoint(%s)"), VariantToString(*rhs).c_str()); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_ConnectWithEndpoint(rhs); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectWithEndpoint -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NotifyTSPublicKey(VARIANT_BOOL pfNotify) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::put_NotifyTSPublicKey(%s)"), BooleanToString(pfNotify)); - HRESULT hr = pIMsRdpClientAdvancedSettings->put_NotifyTSPublicKey(pfNotify); - dbgprintf(TEXT("CAdvancedSettings::put_NotifyTSPublicKey -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NotifyTSPublicKey(VARIANT_BOOL * pfNotify) - { - IMsRdpClientAdvancedSettings * pIMsRdpClientAdvancedSettings = getIMsRdpClientAdvancedSettings(); - dbgprintf(TEXT("CAdvancedSettings::get_NotifyTSPublicKey(%p)"), pfNotify); - HRESULT hr = pIMsRdpClientAdvancedSettings->get_NotifyTSPublicKey(pfNotify); - dbgprintf(TEXT("CAdvancedSettings::get_NotifyTSPublicKey -> %08X, fNotify = %s"), hr, BooleanToString(*pfNotify)); - return hr; - } - - /* IMsRdpClientAdvancedSettings2 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_CanAutoReconnect(VARIANT_BOOL * pfCanAutoReconnect) - { - IMsRdpClientAdvancedSettings2 * pIMsRdpClientAdvancedSettings2 = getIMsRdpClientAdvancedSettings2(); - dbgprintf(TEXT("CAdvancedSettings::get_CanAutoReconnect(%p)"), pfCanAutoReconnect); - HRESULT hr = pIMsRdpClientAdvancedSettings2->get_CanAutoReconnect(pfCanAutoReconnect); - dbgprintf(TEXT("CAdvancedSettings::get_CanAutoReconnect -> %08X, fCanAutoReconnect = %s"), hr, BooleanToString(*pfCanAutoReconnect)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_EnableAutoReconnect(VARIANT_BOOL pfEnableAutoReconnect) - { - IMsRdpClientAdvancedSettings2 * pIMsRdpClientAdvancedSettings2 = getIMsRdpClientAdvancedSettings2(); - dbgprintf(TEXT("CAdvancedSettings::put_EnableAutoReconnect(%s)"), BooleanToString(pfEnableAutoReconnect)); - HRESULT hr = pIMsRdpClientAdvancedSettings2->put_EnableAutoReconnect(pfEnableAutoReconnect); - dbgprintf(TEXT("CAdvancedSettings::put_EnableAutoReconnect -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_EnableAutoReconnect(VARIANT_BOOL * pfEnableAutoReconnect) - { - IMsRdpClientAdvancedSettings2 * pIMsRdpClientAdvancedSettings2 = getIMsRdpClientAdvancedSettings2(); - dbgprintf(TEXT("CAdvancedSettings::get_EnableAutoReconnect(%p)"), pfEnableAutoReconnect); - HRESULT hr = pIMsRdpClientAdvancedSettings2->get_EnableAutoReconnect(pfEnableAutoReconnect); - dbgprintf(TEXT("CAdvancedSettings::get_EnableAutoReconnect -> %08X, fEnableAutoReconnect = %s"), hr, BooleanToString(*pfEnableAutoReconnect)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_MaxReconnectAttempts(long pMaxReconnectAttempts) - { - IMsRdpClientAdvancedSettings2 * pIMsRdpClientAdvancedSettings2 = getIMsRdpClientAdvancedSettings2(); - dbgprintf(TEXT("CAdvancedSettings::put_MaxReconnectAttempts(%ld)"), pMaxReconnectAttempts); - HRESULT hr = pIMsRdpClientAdvancedSettings2->put_MaxReconnectAttempts(pMaxReconnectAttempts); - dbgprintf(TEXT("CAdvancedSettings::put_MaxReconnectAttempts -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_MaxReconnectAttempts(long * pMaxReconnectAttempts) - { - IMsRdpClientAdvancedSettings2 * pIMsRdpClientAdvancedSettings2 = getIMsRdpClientAdvancedSettings2(); - dbgprintf(TEXT("CAdvancedSettings::get_MaxReconnectAttempts(%p)"), pMaxReconnectAttempts); - HRESULT hr = pIMsRdpClientAdvancedSettings2->get_MaxReconnectAttempts(pMaxReconnectAttempts); - dbgprintf(TEXT("CAdvancedSettings::get_MaxReconnectAttempts -> %08X, MaxReconnectAttempts = %ld"), hr, *pMaxReconnectAttempts); - return hr; - } - - /* IMsRdpClientAdvancedSettings3 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowMinimizeButton(VARIANT_BOOL pfShowMinimize) - { - IMsRdpClientAdvancedSettings3 * pIMsRdpClientAdvancedSettings3 = getIMsRdpClientAdvancedSettings3(); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectionBarShowMinimizeButton(%s)"), BooleanToString(pfShowMinimize)); - HRESULT hr = pIMsRdpClientAdvancedSettings3->put_ConnectionBarShowMinimizeButton(pfShowMinimize); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectionBarShowMinimizeButton -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowMinimizeButton(VARIANT_BOOL * pfShowMinimize) - { - IMsRdpClientAdvancedSettings3 * pIMsRdpClientAdvancedSettings3 = getIMsRdpClientAdvancedSettings3(); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectionBarShowMinimizeButton(%p)"), pfShowMinimize); - HRESULT hr = pIMsRdpClientAdvancedSettings3->get_ConnectionBarShowMinimizeButton(pfShowMinimize); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectionBarShowMinimizeButton -> %08X, fShowMinimize = %s"), hr, BooleanToString(*pfShowMinimize)); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowRestoreButton(VARIANT_BOOL pfShowRestore) - { - IMsRdpClientAdvancedSettings3 * pIMsRdpClientAdvancedSettings3 = getIMsRdpClientAdvancedSettings3(); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectionBarShowRestoreButton(%s)"), BooleanToString(pfShowRestore)); - HRESULT hr = pIMsRdpClientAdvancedSettings3->put_ConnectionBarShowRestoreButton(pfShowRestore); - dbgprintf(TEXT("CAdvancedSettings::put_ConnectionBarShowRestoreButton -> %08X"), hr); - return hr; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowRestoreButton(VARIANT_BOOL * pfShowRestore) - { - IMsRdpClientAdvancedSettings3 * pIMsRdpClientAdvancedSettings3 = getIMsRdpClientAdvancedSettings3(); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectionBarShowRestoreButton(%p)"), pfShowRestore); - HRESULT hr = pIMsRdpClientAdvancedSettings3->get_ConnectionBarShowRestoreButton(pfShowRestore); - dbgprintf(TEXT("CAdvancedSettings::get_ConnectionBarShowRestoreButton -> %08X, fShowRestore = %s"), hr, BooleanToString(*pfShowRestore)); - return hr; - } - - /* IMsRdpClientAdvancedSettings4 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::put_AuthenticationLevel(unsigned int puiAuthLevel) - { - IMsRdpClientAdvancedSettings4 * pIMsRdpClientAdvancedSettings4 = getIMsRdpClientAdvancedSettings4(); - dbgprintf(TEXT("CAdvancedSettings::put_AuthenticationLevel(%u)"), puiAuthLevel); - HRESULT hr = pIMsRdpClientAdvancedSettings4->put_AuthenticationLevel(puiAuthLevel); - dbgprintf(TEXT("CAdvancedSettings::put_AuthenticationLevel -> %08X"), hr); - return hr; - } - virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::get_AuthenticationLevel(unsigned int * puiAuthLevel) - { - IMsRdpClientAdvancedSettings4 * pIMsRdpClientAdvancedSettings4 = getIMsRdpClientAdvancedSettings4(); - dbgprintf(TEXT("CAdvancedSettings::get_AuthenticationLevel(%p)"), puiAuthLevel); - HRESULT hr = pIMsRdpClientAdvancedSettings4->get_AuthenticationLevel(puiAuthLevel); - dbgprintf(TEXT("CAdvancedSettings::get_AuthenticationLevel -> %08X, uiAuthLevel = %ld"), hr, *puiAuthLevel); - return hr; - } - }; - - class CoClass: - /* Standard interfaces */ - public IUnknown, - public IDispatch, - public IConnectionPointContainer, - public IDataObject, - public IObjectSafety, - public IOleControl, - public IOleInPlaceActiveObject, - public IOleInPlaceObject, - public IOleObject, - public IOleWindow, - public IPersist, - public IPersistPropertyBag, - public IPersistStorage, - public IPersistStreamInit, - public IProvideClassInfo, - public IProvideClassInfo2, - public IQuickActivate, - public ISpecifyPropertyPages, - public IViewObject, - public IViewObject2, - - /* RDP client interfaces */ - public IMsRdpClient4, - public IMsRdpClientNonScriptable2 - { - private: - LONG m_refCount; - - IUnknown * m_IUnknown; - - IDispatch * m_IDispatch; - IConnectionPointContainer * m_IConnectionPointContainer; - IDataObject * m_IDataObject; - IObjectSafety * m_IObjectSafety; - IOleControl * m_IOleControl; - IOleInPlaceActiveObject * m_IOleInPlaceActiveObject; - IOleInPlaceObject * m_IOleInPlaceObject; - IOleObject * m_IOleObject; - IOleWindow * m_IOleWindow; - IPersist * m_IPersist; - IPersistPropertyBag * m_IPersistPropertyBag; - IPersistStorage * m_IPersistStorage; - IPersistStreamInit * m_IPersistStreamInit; - IProvideClassInfo * m_IProvideClassInfo; - IProvideClassInfo2 * m_IProvideClassInfo2; - IQuickActivate * m_IQuickActivate; - ISpecifyPropertyPages * m_ISpecifyPropertyPages; - IViewObject * m_IViewObject; - IViewObject2 * m_IViewObject2; - - IMsRdpClient * m_IMsRdpClient; - IMsRdpClient2 * m_IMsRdpClient2; - IMsRdpClient3 * m_IMsRdpClient3; - IMsRdpClient4 * m_IMsRdpClient4; - IMsTscAx * m_IMsTscAx; - IMsTscNonScriptable * m_IMsTscNonScriptable; - IMsRdpClientNonScriptable * m_IMsRdpClientNonScriptable; - IMsRdpClientNonScriptable2 * m_IMsRdpClientNonScriptable2; - - IDispatch * getIDispatch() - { - if(m_IDispatch) - return m_IDispatch; - - if(m_IMsRdpClient) - m_IDispatch = m_IMsRdpClient; - else if(m_IMsRdpClient2) - m_IDispatch = m_IMsRdpClient2; - else if(m_IMsRdpClient3) - m_IDispatch = m_IMsRdpClient3; - else if(m_IMsRdpClient4) - m_IDispatch = m_IMsRdpClient4; - else if(m_IMsTscAx) - m_IDispatch = m_IMsTscAx; - - if(m_IDispatch) - { - m_IDispatch->AddRef(); - return m_IDispatch; - } - - if(SUCCEEDED(m_IUnknown->QueryInterface(&m_IDispatch))) - return m_IDispatch; - - return NULL; - } - - IConnectionPointContainer * getIConnectionPointContainer() - { - if(m_IConnectionPointContainer) - return m_IConnectionPointContainer; - - m_IUnknown->QueryInterface(&m_IConnectionPointContainer); - return m_IConnectionPointContainer; - - } - - IDataObject * getIDataObject() - { - if(m_IDataObject) - return m_IDataObject; - - m_IUnknown->QueryInterface(&m_IDataObject); - return m_IDataObject; - } - - IObjectSafety * getIObjectSafety() - { - if(m_IObjectSafety) - return m_IObjectSafety; - - m_IUnknown->QueryInterface(&m_IObjectSafety); - return m_IObjectSafety; - } - - IOleControl * getIOleControl() - { - if(m_IOleControl) - return m_IOleControl; - - m_IUnknown->QueryInterface(&m_IOleControl); - return m_IOleControl; - } - - IOleInPlaceActiveObject * getIOleInPlaceActiveObject() - { - if(m_IOleInPlaceActiveObject) - return m_IOleInPlaceActiveObject; - - m_IUnknown->QueryInterface(&m_IOleInPlaceActiveObject); - return m_IOleInPlaceActiveObject; - } - - IOleInPlaceObject * getIOleInPlaceObject() - { - if(m_IOleInPlaceObject) - return m_IOleInPlaceObject; - - m_IUnknown->QueryInterface(&m_IOleInPlaceObject); - return m_IOleInPlaceObject; - } - - IOleObject * getIOleObject() - { - if(m_IOleObject) - return m_IOleObject; - - m_IUnknown->QueryInterface(&m_IOleObject); - return m_IOleObject; - } - - IOleWindow * getIOleWindow() - { - if(m_IOleWindow) - return m_IOleWindow; - - if(m_IOleInPlaceActiveObject) - m_IOleWindow = m_IOleInPlaceActiveObject; - - if(m_IOleWindow) - { - m_IOleWindow->AddRef(); - return m_IOleWindow; - } - - m_IUnknown->QueryInterface(&m_IOleWindow); - return m_IOleWindow; - } - - IPersist * getIPersist() - { - if(m_IPersist) - return m_IPersist; - - if(m_IPersistPropertyBag) - m_IPersist = m_IPersistPropertyBag; - else if(m_IPersistStorage) - m_IPersist = m_IPersistStorage; - else if(m_IPersistStreamInit) - m_IPersist = m_IPersistStreamInit; - - if(m_IPersist) - { - m_IPersist->AddRef(); - return m_IPersist; - } - - m_IUnknown->QueryInterface(&m_IPersist); - return m_IPersist; - } - - IPersistPropertyBag * getIPersistPropertyBag() - { - if(m_IPersistPropertyBag) - return m_IPersistPropertyBag; - - m_IUnknown->QueryInterface(&m_IPersistPropertyBag); - return m_IPersistPropertyBag; - } - - IPersistStorage * getIPersistStorage() - { - if(m_IPersistStorage) - return m_IPersistStorage; - - m_IUnknown->QueryInterface(&m_IPersistStorage); - return m_IPersistStorage; - } - - IPersistStreamInit * getIPersistStreamInit() - { - if(m_IPersistStreamInit) - return m_IPersistStreamInit; - - m_IUnknown->QueryInterface(&m_IPersistStreamInit); - return m_IPersistStreamInit; - } - - IProvideClassInfo * getIProvideClassInfo() - { - if(m_IProvideClassInfo) - return m_IProvideClassInfo; - - if(m_IProvideClassInfo2) - m_IProvideClassInfo = m_IProvideClassInfo2; - - if(m_IProvideClassInfo) - { - m_IProvideClassInfo->AddRef(); - return m_IProvideClassInfo; - } - - m_IUnknown->QueryInterface(&m_IProvideClassInfo); - return m_IProvideClassInfo; - } - - IProvideClassInfo2 * getIProvideClassInfo2() - { - if(m_IProvideClassInfo2) - return m_IProvideClassInfo2; - - m_IUnknown->QueryInterface(&m_IProvideClassInfo2); - return m_IProvideClassInfo2; - } - - IQuickActivate * getIQuickActivate() - { - if(m_IQuickActivate) - return m_IQuickActivate; - - m_IUnknown->QueryInterface(&m_IQuickActivate); - return m_IQuickActivate; - } - - ISpecifyPropertyPages * getISpecifyPropertyPages() - { - if(m_ISpecifyPropertyPages) - return m_ISpecifyPropertyPages; - - m_IUnknown->QueryInterface(&m_ISpecifyPropertyPages); - return m_ISpecifyPropertyPages; - } - - IViewObject * getIViewObject() - { - if(m_IViewObject) - return m_IViewObject; - - if(m_IViewObject2) - m_IViewObject = m_IViewObject2; - - if(m_IViewObject) - { - m_IViewObject->AddRef(); - return m_IViewObject; - } - - m_IUnknown->QueryInterface(&m_IViewObject); - return m_IViewObject; - } - - IViewObject2 * getIViewObject2() - { - if(m_IViewObject2) - return m_IViewObject2; - - m_IUnknown->QueryInterface(&m_IViewObject2); - return m_IViewObject2; - } - - IMsRdpClient * getIMsRdpClient() - { - if(m_IMsRdpClient) - return m_IMsRdpClient; - - if(m_IMsRdpClient2) - m_IMsRdpClient = m_IMsRdpClient2; - else if(m_IMsRdpClient3) - m_IMsRdpClient = m_IMsRdpClient3; - else if(m_IMsRdpClient4) - m_IMsRdpClient = m_IMsRdpClient4; - - if(m_IMsRdpClient) - { - m_IMsRdpClient->AddRef(); - return m_IMsRdpClient; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClient); - return m_IMsRdpClient; - } - - IMsRdpClient2 * getIMsRdpClient2() - { - if(m_IMsRdpClient2) - return m_IMsRdpClient2; - - if(m_IMsRdpClient3) - m_IMsRdpClient2 = m_IMsRdpClient3; - else if(m_IMsRdpClient4) - m_IMsRdpClient2 = m_IMsRdpClient4; - - if(m_IMsRdpClient2) - { - m_IMsRdpClient2->AddRef(); - return m_IMsRdpClient2; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClient2); - return m_IMsRdpClient2; - } - - IMsRdpClient3 * getIMsRdpClient3() - { - if(m_IMsRdpClient3) - return m_IMsRdpClient3; - - if(m_IMsRdpClient4) - m_IMsRdpClient3 = m_IMsRdpClient4; - - if(m_IMsRdpClient3) - { - m_IMsRdpClient3->AddRef(); - return m_IMsRdpClient3; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClient3); - return m_IMsRdpClient3; - } - - IMsRdpClient4 * getIMsRdpClient4() - { - if(m_IMsRdpClient4) - return m_IMsRdpClient4; - - m_IUnknown->QueryInterface(&m_IMsRdpClient4); - return m_IMsRdpClient4; - } - - IMsTscAx * getIMsTscAx() - { - if(m_IMsTscAx) - return m_IMsTscAx; - - if(m_IMsRdpClient) - m_IMsTscAx = m_IMsRdpClient; - else if(m_IMsRdpClient2) - m_IMsTscAx = m_IMsRdpClient2; - else if(m_IMsRdpClient3) - m_IMsTscAx = m_IMsRdpClient3; - else if(m_IMsRdpClient4) - m_IMsTscAx = m_IMsRdpClient4; - - if(m_IMsTscAx) - { - m_IMsTscAx->AddRef(); - return m_IMsTscAx; - } - - m_IUnknown->QueryInterface(&m_IMsTscAx); - return m_IMsTscAx; - } - - IMsTscNonScriptable * getIMsTscNonScriptable() - { - if(m_IMsTscNonScriptable) - return m_IMsTscNonScriptable; - - if(m_IMsRdpClientNonScriptable) - m_IMsTscNonScriptable = m_IMsRdpClientNonScriptable; - else if(m_IMsRdpClientNonScriptable2) - m_IMsTscNonScriptable = m_IMsRdpClientNonScriptable2; - - if(m_IMsTscNonScriptable) - { - m_IMsTscNonScriptable->AddRef(); - return m_IMsTscNonScriptable; - } - - m_IUnknown->QueryInterface(&m_IMsTscNonScriptable); - return m_IMsTscNonScriptable; - } - - IMsRdpClientNonScriptable * getIMsRdpClientNonScriptable() - { - if(m_IMsRdpClientNonScriptable) - return m_IMsRdpClientNonScriptable; - - if(m_IMsRdpClientNonScriptable2) - m_IMsRdpClientNonScriptable = m_IMsRdpClientNonScriptable2; - - if(m_IMsRdpClientNonScriptable) - { - m_IMsRdpClientNonScriptable->AddRef(); - return m_IMsRdpClientNonScriptable; - } - - m_IUnknown->QueryInterface(&m_IMsRdpClientNonScriptable); - return m_IMsRdpClientNonScriptable; - } - - IMsRdpClientNonScriptable2 * getIMsRdpClientNonScriptable2() - { - if(m_IMsRdpClientNonScriptable2) - return m_IMsRdpClientNonScriptable2; - - m_IUnknown->QueryInterface(&m_IMsRdpClientNonScriptable2); - return m_IMsRdpClientNonScriptable2; - } - - private: - IUnknown * m_outer; - - HRESULT queryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr; - IUnknown * pvObject = NULL; - - dbgprintf(TEXT("IUnknown::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - -#define QIBEGIN() \ - if(riid == IID_IUnknown) \ - { \ - assert(0); \ - } - -#define QI(I) \ - else if(riid == IID_ ## I) \ - { \ - if(m_ ## I) \ - { \ - m_ ## I->AddRef(); \ - hr = S_OK; \ - } \ - else \ - { \ - hr = m_IUnknown->QueryInterface(&m_ ## I); \ - } \ - \ - if(SUCCEEDED(hr)) \ - pvObject = static_cast(this); \ - } - -#define QIEND() \ - else \ - { \ - hr = E_NOINTERFACE; \ - pvObject = NULL; \ - } - - QIBEGIN() - - /* Standard interfaces */ - QI(IDispatch) - QI(IConnectionPointContainer) - QI(IDataObject) - QI(IObjectSafety) - QI(IOleControl) - QI(IOleInPlaceActiveObject) - QI(IOleInPlaceObject) - QI(IOleObject) - QI(IOleWindow) - QI(IPersist) - QI(IPersistPropertyBag) - QI(IPersistStorage) - QI(IPersistStreamInit) - QI(IProvideClassInfo) - QI(IProvideClassInfo2) - QI(IQuickActivate) - QI(ISpecifyPropertyPages) - QI(IViewObject) - QI(IViewObject2) - - /* Terminal services client */ - QI(IMsRdpClient) - QI(IMsRdpClient2) - QI(IMsRdpClient3) - QI(IMsRdpClient4) - QI(IMsTscAx) - QI(IMsTscNonScriptable) - QI(IMsRdpClientNonScriptable) - QI(IMsRdpClientNonScriptable2) - QIEND() - -#undef QIBEGIN -#undef QIEND -#undef QI - - if(SUCCEEDED(hr)) - { - assert(pvObject); - pvObject->AddRef(); - } - else - { - assert(pvObject == NULL); - } - - *ppvObject = pvObject; - - dbgprintf(TEXT("IUnknown::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - ULONG addRef() - { - return InterlockedIncrement(&m_refCount); - } - - ULONG release() - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - friend class CoClassInner; - - class CoClassInner: public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - if(riid == IID_IUnknown) - { - AddRef(); - *ppvObject = this; - return S_OK; - } - - return InnerToOuter(this)->queryInterface(riid, ppvObject); - } - - virtual ULONG STDMETHODCALLTYPE AddRef() - { - return InnerToOuter(this)->addRef(); - } - - virtual ULONG STDMETHODCALLTYPE Release() - { - return InnerToOuter(this)->release(); - } - } - m_inner; - - static CoClass * InnerToOuter(CoClassInner * inner) - { - return CONTAINING_RECORD(inner, CoClass, m_inner); - } - - private: - CoClass(IUnknown * pUnknw, IUnknown * pUnkOuter): - m_refCount(1), - m_outer(pUnkOuter), - m_IUnknown(pUnknw), - m_IDispatch(NULL), - m_IConnectionPointContainer(NULL), - m_IDataObject(NULL), - m_IObjectSafety(NULL), - m_IOleControl(NULL), - m_IOleInPlaceActiveObject(NULL), - m_IOleInPlaceObject(NULL), - m_IOleObject(NULL), - m_IOleWindow(NULL), - m_IPersist(NULL), - m_IPersistPropertyBag(NULL), - m_IPersistStorage(NULL), - m_IPersistStreamInit(NULL), - m_IProvideClassInfo(NULL), - m_IProvideClassInfo2(NULL), - m_IQuickActivate(NULL), - m_ISpecifyPropertyPages(NULL), - m_IViewObject(NULL), - m_IViewObject2(NULL), - m_IMsRdpClient(NULL), - m_IMsRdpClient2(NULL), - m_IMsRdpClient3(NULL), - m_IMsRdpClient4(NULL), - m_IMsTscAx(NULL), - m_IMsTscNonScriptable(NULL), - m_IMsRdpClientNonScriptable(NULL), - m_IMsRdpClientNonScriptable2(NULL) - { - if(m_outer == NULL) - m_outer = &m_inner; - } - - public: - static HRESULT CreateInstance(IUnknown * pUnknw, IUnknown * pUnkOuter, REFIID riid, void ** ppvObject) - { - HRESULT hr = S_OK; - - if(pUnkOuter && riid != IID_IUnknown) - hr = CLASS_E_NOAGGREGATION; - else - { - CoClass * p = new CoClass(pUnknw, pUnkOuter); - - if(p == NULL) - hr = E_OUTOFMEMORY; - else - { - hr = p->m_inner.QueryInterface(riid, ppvObject); - - if(FAILED(hr)) - delete p; - else - p->m_inner.Release(); - } - } - - if(FAILED(hr)) - pUnknw->Release(); - - return hr; - } - - private: - ~CoClass() - { - if(m_IUnknown) - m_IUnknown->Release(); - - if(m_IDispatch) - m_IDispatch->Release(); - - if(m_IConnectionPointContainer) - m_IConnectionPointContainer->Release(); - - if(m_IDataObject) - m_IDataObject->Release(); - - if(m_IObjectSafety) - m_IObjectSafety->Release(); - - if(m_IOleControl) - m_IOleControl->Release(); - - if(m_IOleInPlaceActiveObject) - m_IOleInPlaceActiveObject->Release(); - - if(m_IOleInPlaceObject) - m_IOleInPlaceObject->Release(); - - if(m_IOleObject) - m_IOleObject->Release(); - - if(m_IOleWindow) - m_IOleWindow->Release(); - - if(m_IPersist) - m_IPersist->Release(); - - if(m_IPersistPropertyBag) - m_IPersistPropertyBag->Release(); - - if(m_IPersistStorage) - m_IPersistStorage->Release(); - - if(m_IPersistStreamInit) - m_IPersistStreamInit->Release(); - - if(m_IProvideClassInfo) - m_IProvideClassInfo->Release(); - - if(m_IProvideClassInfo2) - m_IProvideClassInfo2->Release(); - - if(m_IQuickActivate) - m_IQuickActivate->Release(); - - if(m_ISpecifyPropertyPages) - m_ISpecifyPropertyPages->Release(); - - if(m_IViewObject) - m_IViewObject->Release(); - - if(m_IViewObject2) - m_IViewObject2->Release(); - - if(m_IMsRdpClient) - m_IMsRdpClient->Release(); - - if(m_IMsRdpClient2) - m_IMsRdpClient2->Release(); - - if(m_IMsRdpClient3) - m_IMsRdpClient3->Release(); - - if(m_IMsRdpClient4) - m_IMsRdpClient4->Release(); - - if(m_IMsTscAx) - m_IMsTscAx->Release(); - - if(m_IMsTscNonScriptable) - m_IMsTscNonScriptable->Release(); - - if(m_IMsRdpClientNonScriptable) - m_IMsRdpClientNonScriptable->Release(); - - if(m_IMsRdpClientNonScriptable2) - m_IMsRdpClientNonScriptable2->Release(); - } - - /* IUnknown */ - public: - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - return m_outer->QueryInterface(riid, ppvObject); - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return m_outer->AddRef(); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - return m_outer->Release(); - } - - /* IDispatch */ - private: - static void FreeExcepInfo(const EXCEPINFO& excepInfo) - { - if(excepInfo.bstrSource) - SysFreeString(excepInfo.bstrSource); - - if(excepInfo.bstrDescription) - SysFreeString(excepInfo.bstrDescription); - - if(excepInfo.bstrHelpFile) - SysFreeString(excepInfo.bstrHelpFile); - } - - static std::basic_string ExcepInfoToString(const EXCEPINFO& excepInfo) - { - std::basic_ostringstream o; - - o << "{"; - o << " code: " << excepInfo.wCode << " from: " << std::basic_string(excepInfo.bstrSource, excepInfo.bstrSource + SysStringLen(excepInfo.bstrSource)); - - BSTR bstrDescription = NULL; - - if(excepInfo.bstrDescription) - bstrDescription = excepInfo.bstrDescription; - else if(excepInfo.pfnDeferredFillIn) - { - EXCEPINFO excepInfoCopy = excepInfo; - - if(SUCCEEDED(excepInfoCopy.pfnDeferredFillIn(&excepInfoCopy)) && excepInfoCopy.bstrDescription) - { - bstrDescription = excepInfoCopy.bstrDescription; - excepInfoCopy.bstrDescription = NULL; - } - - if(excepInfoCopy.bstrSource == excepInfo.bstrSource) - excepInfoCopy.bstrSource = NULL; - - if(excepInfoCopy.bstrHelpFile == excepInfo.bstrDescription) - excepInfoCopy.bstrDescription = NULL; - - FreeExcepInfo(excepInfoCopy); - } - - if(bstrDescription) - { - o << " msg: " << std::basic_string(bstrDescription, bstrDescription + SysStringLen(bstrDescription)); - - if(excepInfo.bstrDescription == NULL) - SysFreeString(bstrDescription); - } - - o << " }"; - - return o.str().c_str(); - } - - public: - virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT * pctinfo) - { - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("IDispatch::GetTypeInfoCount(%p)"), pctinfo); - HRESULT hr = pIDispatch->GetTypeInfoCount(pctinfo); - dbgprintf(TEXT("IDispatch::GetTypeInfoCount -> %08X, ctinfo = %lu"), hr, *pctinfo); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo ** ppTInfo) - { - IDispatch * pIDispatch = getIDispatch(); - dbgprintf(TEXT("IDispatch::GetTypeInfo(%lu, %08X, %p)"), iTInfo, lcid, ppTInfo); - HRESULT hr = pIDispatch->GetTypeInfo(iTInfo, lcid, ppTInfo); - dbgprintf(TEXT("IDispatch::GetTypeInfo -> %08X, pTInfo = %p"), hr, *ppTInfo); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) - { - IDispatch * pIDispatch = getIDispatch(); - std::wstring strtemp; - - std::wostringstream strtempo; - - strtemp.resize(0); - strtemp += L"[ "; - - for(UINT i = 0; i < cNames; ++ i) - { - if(i) - strtemp += L", "; - - strtemp += rgszNames[i]; - } - - strtemp += L" ]"; - - dbgprintf(TEXT("IDispatch::GetIDsOfNames(%ls, %ls, %lu, %08X, %p)"), UUIDToString(riid).c_str(), strtemp.c_str(), cNames, lcid, rgDispId); - HRESULT hr = pIDispatch->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId); - - strtemp.resize(0); - strtempo.str(strtemp); - - strtempo << L"[ "; - - for(UINT i = 0; i < cNames; ++ i) - { - if(i) - strtempo << L", "; - - strtempo << rgDispId[i]; - } - - strtempo << L" ]"; - - dbgprintf(TEXT("IDispatch::GetIDsOfNames -> %08X, rgDispId = %ls"), hr, strtempo.str().c_str()); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr) - { - IDispatch * pIDispatch = getIDispatch(); - - std::basic_ostringstream strtempo; - - strtempo << L"{"; - - for(unsigned int i = pDispParams->cArgs, j = pDispParams->cNamedArgs; j < pDispParams->cArgs; -- i, ++ j) - { - strtempo << L" "; - strtempo << VariantToString(pDispParams->rgvarg[i - 1]); - strtempo << L","; - } - - for(unsigned int i = pDispParams->cArgs - pDispParams->cNamedArgs; i > 0; -- i) - { - strtempo << L" "; - strtempo << L"["; strtempo << pDispParams->rgdispidNamedArgs[i - 1]; strtempo << L"] => "; - strtempo << VariantToString(pDispParams->rgvarg[i - 1]); - strtempo << L","; - } - - strtempo << L" }"; - - dbgprintf(TEXT("IDispatch::Invoke(%ld, %ls, %08X, %04X, %s, %p, %p, %p)"), dispIdMember, UUIDToString(riid).c_str(), lcid, wFlags, strtempo.str().c_str(), pVarResult, pExcepInfo, puArgErr); - - VARIANT VarResult = { }; - EXCEPINFO ExcepInfo = { }; - - if(pVarResult == NULL) - pVarResult = &VarResult; - - if(pExcepInfo == NULL) - pExcepInfo = &ExcepInfo; - - HRESULT hr = pIDispatch->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); - - dbgprintf(TEXT("IDispatch::Invoke -> %08X, returns %s, throws %s"), hr, VariantToString(*pVarResult).c_str(), ExcepInfoToString(*pExcepInfo).c_str()); - - FreeExcepInfo(ExcepInfo); - - return hr; - } - - /* IConnectionPointContainer */ - public: - virtual HRESULT STDMETHODCALLTYPE EnumConnectionPoints(IEnumConnectionPoints ** ppEnum) - { - IConnectionPointContainer * pIConnectionPointContainer = getIConnectionPointContainer(); - dbgprintf(TEXT("IConnectionPointContainer::EnumConnectionPoints(%p)"), ppEnum); - HRESULT hr = pIConnectionPointContainer->EnumConnectionPoints(ppEnum); - dbgprintf(TEXT("IConnectionPointContainer::EnumConnectionPoints -> %08X, pEnum = %p"), hr, *ppEnum); - - if(SUCCEEDED(hr)) - *ppEnum = HookIEnumConnectionPoints(*ppEnum); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE FindConnectionPoint(REFIID riid, IConnectionPoint ** ppCP) - { - IConnectionPointContainer * pIConnectionPointContainer = getIConnectionPointContainer(); - dbgprintf(TEXT("IConnectionPointContainer::FindConnectionPoint(%ls, %p)"), UUIDToString(riid).c_str(), ppCP); - HRESULT hr = pIConnectionPointContainer->FindConnectionPoint(riid, ppCP); - dbgprintf(TEXT("IConnectionPointContainer::FindConnectionPoint -> %08X, pCP = %p"), hr, *ppCP); - - if(SUCCEEDED(hr)) - *ppCP = HookIConnectionPoint(*ppCP); - - return hr; - } - - /* IDataObject */ - private: - static std::basic_string TargetDeviceToString(const DVTARGETDEVICE& targetdev) - { - if(&targetdev == NULL) - return TEXT(""); - - std::basic_ostringstream o; - - o << "{"; - o << LPCWSTR(targetdev.tdData[targetdev.tdDriverNameOffset]); - - if(targetdev.tdDeviceNameOffset) - { - o << ","; - o << LPCWSTR(targetdev.tdData[targetdev.tdDeviceNameOffset]); - } - - if(targetdev.tdPortNameOffset) - { - o << ","; - o << LPCWSTR(targetdev.tdData[targetdev.tdPortNameOffset]); - } - - o << " }"; - - return o.str(); - } - - static LPCTSTR AspectToString(DWORD aspect) - { - switch(aspect) - { - case DVASPECT_CONTENT: return TEXT("content"); - case DVASPECT_THUMBNAIL: return TEXT("thumbnail"); - case DVASPECT_ICON: return TEXT("icon"); - case DVASPECT_DOCPRINT: return TEXT("printable"); - default: return TEXT(""); - } - } - - static LPCTSTR TymedToString(DWORD tymed) - { - switch(tymed) - { - case TYMED_HGLOBAL: return TEXT("memory"); - case TYMED_FILE: return TEXT("file"); - case TYMED_ISTREAM: return TEXT("IStream"); - case TYMED_ISTORAGE: return TEXT("IStorage"); - case TYMED_GDI: return TEXT("bitmap"); - case TYMED_MFPICT: return TEXT("metafile"); - case TYMED_ENHMF: return TEXT("enhanced metafile"); - case TYMED_NULL: return TEXT(""); - default: return TEXT(""); - } - } - - static std::basic_string FormatEtcToString(const FORMATETC& formatetc) - { - std::basic_ostringstream o; - - o << "{"; - - // cfFormat - o << " format: "; - - switch(formatetc.cfFormat) - { - case CF_TEXT: o << "ANSI text"; break; - case CF_BITMAP: o << "bitmap"; break; - case CF_METAFILEPICT: o << "metafile"; break; - case CF_SYLK: o << "symlink"; break; - case CF_DIF: o << "DIF"; break; - case CF_TIFF: o << "TIFF"; break; - case CF_OEMTEXT: o << "OEM text"; break; - case CF_DIB: o << "DIBv4"; break; - case CF_PALETTE: o << "palette"; break; - case CF_PENDATA: o << "pen data"; break; - case CF_RIFF: o << "RIFF"; break; - case CF_WAVE: o << "WAV"; break; - case CF_UNICODETEXT: o << "Unicode text"; break; - case CF_ENHMETAFILE: o << "enhanced metafile"; break; - case CF_HDROP: o << "list of files"; break; - case CF_LOCALE: o << "LCID"; break; - case CF_DIBV5: o << "DIBv5"; break; - case CF_OWNERDISPLAY: o << ""; break; - case CF_DSPTEXT: o << ""; break; - case CF_DSPBITMAP: o << ""; break; - case CF_DSPMETAFILEPICT: o << ""; break; - case CF_DSPENHMETAFILE: o << ""; break; - - default: - o << "<"; - - if(formatetc.cfFormat >= CF_PRIVATEFIRST && formatetc.cfFormat <= CF_PRIVATELAST) - o << "private"; - else if(formatetc.cfFormat >= CF_GDIOBJFIRST && formatetc.cfFormat <= CF_GDIOBJLAST) - o << "GDI object"; - else - o << "unknown"; - - o << " " << std::hex << formatetc.cfFormat << std::dec << ">"; - } - - // ptd - if(formatetc.ptd) - o << " device: " << TargetDeviceToString(*formatetc.ptd); - - // dwAspect - o << " aspect: " << AspectToString(formatetc.dwAspect); - - // lindex - if(formatetc.dwAspect == DVASPECT_CONTENT || formatetc.dwAspect == DVASPECT_DOCPRINT) - o << " page split: " << formatetc.lindex; - - // tymed - o << " medium: " << TymedToString(formatetc.tymed); - - return o.str(); - } - - static std::basic_string MediumToString(const STGMEDIUM& medium) - { - std::basic_ostringstream o; - - o << "{ "; - o << TymedToString(medium.tymed); - o << " }"; - - return o.str(); - } - - public: - virtual HRESULT STDMETHODCALLTYPE GetData(FORMATETC * pformatetcIn, STGMEDIUM * pmedium) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::GetData(%s, %p)"), FormatEtcToString(*pformatetcIn).c_str(), pmedium); - HRESULT hr = pIDataObject->GetData(pformatetcIn, pmedium); - dbgprintf(TEXT("IDataObject::GetData -> %08X, %s"), hr, MediumToString(*pmedium).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetDataHere(FORMATETC * pformatetc, STGMEDIUM * pmedium) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::GetDataHere(%s, %p)"), FormatEtcToString(*pformatetc).c_str(), pmedium); - HRESULT hr = pIDataObject->GetDataHere(pformatetc, pmedium); - dbgprintf(TEXT("IDataObject::GetDataHere -> %08X, medium = %s"), hr, MediumToString(*pmedium).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE QueryGetData(FORMATETC * pformatetc) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::QueryGetData(%s)"), FormatEtcToString(*pformatetc).c_str()); - HRESULT hr = pIDataObject->QueryGetData(pformatetc); - dbgprintf(TEXT("IDataObject::QueryGetData -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(FORMATETC * pformatectIn, FORMATETC * pformatetcOut) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::GetCanonicalFormatEtc(%s, %p)"), FormatEtcToString(*pformatectIn).c_str(), pformatetcOut); - HRESULT hr = pIDataObject->GetCanonicalFormatEtc(pformatectIn, pformatetcOut); - dbgprintf(TEXT("IDataObject::GetCanonicalFormatEtc -> %08X, formatetcOut = %s"), hr, FormatEtcToString(*pformatetcOut).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetData(FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::SetData(%s, %p, %s)"), FormatEtcToString(*pformatetc).c_str(), MediumToString(*pmedium).c_str(), fRelease ? TEXT("true") : TEXT("false")); - HRESULT hr = pIDataObject->SetData(pformatetc, pmedium, fRelease); - dbgprintf(TEXT("IDataObject::SetData -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::EnumFormatEtc(%lu, %p)"), dwDirection, ppenumFormatEtc); - HRESULT hr = pIDataObject->EnumFormatEtc(dwDirection, ppenumFormatEtc); - dbgprintf(TEXT("IDataObject::EnumFormatEtc -> %08X, penumFormatEtc = %p"), hr, *ppenumFormatEtc); - // TODO: hook - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE DAdvise(FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::DAdvise(%s, %lu, %p, %p)"), FormatEtcToString(*pformatetc).c_str(), advf, pAdvSink, pdwConnection); - HRESULT hr = pIDataObject->DAdvise(pformatetc, advf, pAdvSink, pdwConnection); - dbgprintf(TEXT("IDataObject::DAdvise -> %08X, dwConnection = %lu"), hr, *pdwConnection); - // TODO: hook - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE DUnadvise(DWORD dwConnection) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::DUnadvise(%lu)"), dwConnection); - HRESULT hr = pIDataObject->DUnadvise(dwConnection); - dbgprintf(TEXT("IDataObject::DUnadvise -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(IEnumSTATDATA ** ppenumAdvise) - { - IDataObject * pIDataObject = getIDataObject(); - dbgprintf(TEXT("IDataObject::EnumDAdvise(%p)"), ppenumAdvise); - HRESULT hr = pIDataObject->EnumDAdvise(ppenumAdvise); - dbgprintf(TEXT("IDataObject::EnumDAdvise -> %08X, penumAdvise = %p"), hr, *ppenumAdvise); - // TODO: hook - return hr; - } - - /* IObjectSafety */ - public: - virtual HRESULT STDMETHODCALLTYPE IObjectSafety::GetInterfaceSafetyOptions(REFIID riid, DWORD * pdwSupportedOptions, DWORD * pdwEnabledOptions) - { - IObjectSafety * pIObjectSafety = getIObjectSafety(); - dbgprintf(TEXT("IObjectSafety::GetInterfaceSafetyOptions(%ls, %p, %p)"), UUIDToString(riid).c_str(), pdwSupportedOptions, pdwEnabledOptions); - HRESULT hr = pIObjectSafety->GetInterfaceSafetyOptions(riid, pdwSupportedOptions, pdwEnabledOptions); - dbgprintf(TEXT("IObjectSafety::GetInterfaceSafetyOptions -> %08X, dwSupportedOptions = %08X, dwEnabledOptions = %08X"), hr, *pdwSupportedOptions, *pdwEnabledOptions); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IObjectSafety::SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) - { - IObjectSafety * pIObjectSafety = getIObjectSafety(); - dbgprintf(TEXT("IObjectSafety::SetInterfaceSafetyOptions(%ls, %08X, %08X)"), UUIDToString(riid).c_str(), dwOptionSetMask, dwEnabledOptions); - HRESULT hr = pIObjectSafety->SetInterfaceSafetyOptions(riid, dwOptionSetMask, dwEnabledOptions); - dbgprintf(TEXT("IObjectSafety::SetInterfaceSafetyOptions -> %08X"), hr); - return hr; - } - - /* IOleControl */ - private: - std::basic_string ControlInfoToString(const CONTROLINFO& ci) - { - std::basic_ostringstream o; - - int firstdone = 0; - - o << "{ "; - - if(ci.cAccel && ci.hAccel) - { - LPACCEL pAccel = static_cast(GlobalLock(ci.hAccel)); - - if(pAccel) - { - for(USHORT i = 0; i < ci.cAccel; ++ i) - { - if(i) - o << ", "; - - if(pAccel[i].fVirt & FSHIFT) - o << "SHIFT + "; - - if(pAccel[i].fVirt & FCONTROL) - o << "CONTROL + "; - - if(pAccel[i].fVirt & FALT) - o << "ALT + "; - - if(pAccel[i].fVirt & FVIRTKEY) - o << ""; - else - o << wchar_t(pAccel[i].key); - - o << " " << std::hex << pAccel[i].cmd << std::dec; - } - - firstdone = ci.cAccel; - - GlobalUnlock(pAccel); - } - } - - if(ci.dwFlags & CTRLINFO_EATS_RETURN) - { - if(!firstdone) - { - o << ", "; - ++ firstdone; - } - - o << "ENTER"; - } - - if(ci.dwFlags & CTRLINFO_EATS_ESCAPE) - { - if(!firstdone) - { - o << ", "; - ++ firstdone; - } - - o << "ESC"; - } - - if(firstdone) - o << " "; - - o << "}"; - - return o.str(); - } - - std::basic_string MnemonicToString(const MSG& msg) - { - std::basic_ostringstream o; - - o << "["; - - switch(msg.message) - { - case WM_SYSKEYDOWN: - o << "ALT + "; - - case WM_KEYDOWN: - TCHAR sz[1024]; - GetKeyNameText(LONG(msg.lParam), sz, ARRAYSIZE(sz)); - o << sz; - - default: - o << ""; - } - - o << "]"; - - return o.str(); - } - - public: - virtual HRESULT STDMETHODCALLTYPE GetControlInfo(CONTROLINFO * pCI) - { - IOleControl * pIOleControl = getIOleControl(); - dbgprintf(TEXT("IOleControl::GetControlInfo(%p)"), pCI); - HRESULT hr = pIOleControl->GetControlInfo(pCI); - dbgprintf(TEXT("IOleControl::GetControlInfo -> %08X, %s"), hr, ControlInfoToString(*pCI).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE OnMnemonic(MSG * pMsg) - { - IOleControl * pIOleControl = getIOleControl(); - dbgprintf(TEXT("IOleControl::OnMnemonic(%s)"), MnemonicToString(*pMsg).c_str()); - HRESULT hr = pIOleControl->OnMnemonic(pMsg); - dbgprintf(TEXT("IOleControl::OnMnemonic -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange(DISPID dispID) - { - IOleControl * pIOleControl = getIOleControl(); - dbgprintf(TEXT("IOleControl::OnAmbientPropertyChange(%08X)"), dispID); - HRESULT hr = pIOleControl->OnAmbientPropertyChange(dispID); - dbgprintf(TEXT("IOleControl::OnAmbientPropertyChange -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE FreezeEvents(BOOL bFreeze) - { - IOleControl * pIOleControl = getIOleControl(); - dbgprintf(TEXT("IOleControl::FreezeEvents(%s)"), BooleanToString(bFreeze)); - HRESULT hr = pIOleControl->FreezeEvents(bFreeze); - dbgprintf(TEXT("IOleControl::FreezeEvents -> %08X"), hr); - return hr; - } - - /* IOleInPlaceActiveObject */ - public: - virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(LPMSG lpmsg) - { - IOleInPlaceActiveObject * pIOleInPlaceActiveObject = getIOleInPlaceActiveObject(); - dbgprintf(TEXT("IOleInPlaceActiveObject::TranslateAccelerator(%s)"), MnemonicToString(*lpmsg).c_str()); - HRESULT hr = pIOleInPlaceActiveObject->TranslateAccelerator(lpmsg); - dbgprintf(TEXT("IOleInPlaceActiveObject::TranslateAccelerator -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(BOOL fActivate) - { - IOleInPlaceActiveObject * pIOleInPlaceActiveObject = getIOleInPlaceActiveObject(); - dbgprintf(TEXT("IOleInPlaceActiveObject::OnFrameWindowActivate(%s)"), BooleanToString(fActivate)); - HRESULT hr = pIOleInPlaceActiveObject->OnFrameWindowActivate(fActivate); - dbgprintf(TEXT("IOleInPlaceActiveObject::OnFrameWindowActivate -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(BOOL fActivate) - { - IOleInPlaceActiveObject * pIOleInPlaceActiveObject = getIOleInPlaceActiveObject(); - dbgprintf(TEXT("IOleInPlaceActiveObject::OnDocWindowActivate(%s)"), BooleanToString(fActivate)); - HRESULT hr = pIOleInPlaceActiveObject->OnDocWindowActivate(fActivate); - dbgprintf(TEXT("IOleInPlaceActiveObject::OnDocWindowActivate -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow * pUIWindow, BOOL fFrameWindow) - { - // TODO: hook pUIWindow - IOleInPlaceActiveObject * pIOleInPlaceActiveObject = getIOleInPlaceActiveObject(); - dbgprintf(TEXT("IOleInPlaceActiveObject::ResizeBorder(%s)"), RectToString(*prcBorder).c_str(), pUIWindow, BooleanToString(fFrameWindow)); - HRESULT hr = pIOleInPlaceActiveObject->ResizeBorder(prcBorder, pUIWindow, fFrameWindow); - dbgprintf(TEXT("IOleInPlaceActiveObject::ResizeBorder -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fEnable) - { - IOleInPlaceActiveObject * pIOleInPlaceActiveObject = getIOleInPlaceActiveObject(); - dbgprintf(TEXT("IOleInPlaceActiveObject::EnableModeless(%s)"), BooleanToString(fEnable)); - HRESULT hr = pIOleInPlaceActiveObject->EnableModeless(fEnable); - dbgprintf(TEXT("IOleInPlaceActiveObject::EnableModeless -> %08X"), hr); - return hr; - } - - /* IOleInPlaceObject */ - public: - virtual HRESULT STDMETHODCALLTYPE InPlaceDeactivate(void) - { - IOleInPlaceObject * pIOleInPlaceObject = getIOleInPlaceObject(); - dbgprintf(TEXT("IOleInPlaceObject::InPlaceDeactivate()")); - HRESULT hr = pIOleInPlaceObject->InPlaceDeactivate(); - dbgprintf(TEXT("IOleInPlaceObject::InPlaceDeactivate -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE UIDeactivate(void) - { - IOleInPlaceObject * pIOleInPlaceObject = getIOleInPlaceObject(); - dbgprintf(TEXT("IOleInPlaceObject::UIDeactivate()")); - HRESULT hr = pIOleInPlaceObject->UIDeactivate(); - dbgprintf(TEXT("IOleInPlaceObject::UIDeactivate -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect) - { - IOleInPlaceObject * pIOleInPlaceObject = getIOleInPlaceObject(); - dbgprintf(TEXT("IOleInPlaceObject::SetObjectRects(%s, %s)"), RectToString(*lprcPosRect).c_str(), RectToString(*lprcClipRect).c_str()); - HRESULT hr = pIOleInPlaceObject->SetObjectRects(lprcPosRect, lprcClipRect); - dbgprintf(TEXT("IOleInPlaceObject::SetObjectRects -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE ReactivateAndUndo(void) - { - IOleInPlaceObject * pIOleInPlaceObject = getIOleInPlaceObject(); - dbgprintf(TEXT("IOleInPlaceObject::ReactivateAndUndo()")); - HRESULT hr = pIOleInPlaceObject->ReactivateAndUndo(); - dbgprintf(TEXT("IOleInPlaceObject::ReactivateAndUndo -> %08X"), hr); - return hr; - } - - /* IOleWindow */ - public: - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND * phwnd) - { - IOleWindow * pIOleWindow = getIOleWindow(); - dbgprintf(TEXT("IOleWindow::GetWindow(%p)"), phwnd); - HRESULT hr = pIOleWindow->GetWindow(phwnd); - dbgprintf(TEXT("IOleWindow::GetWindow -> %08X, hwnd = %X"), hr, *phwnd); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode) - { - IOleWindow * pIOleWindow = getIOleWindow(); - dbgprintf(TEXT("IOleWindow::ContextSensitiveHelp(%s)"), BooleanToString(fEnterMode)); - HRESULT hr = pIOleWindow->ContextSensitiveHelp(fEnterMode); - dbgprintf(TEXT("IOleWindow::ContextSensitiveHelp -> %08X"), hr); - return hr; - } - - /* IOleObject */ - public: - virtual HRESULT STDMETHODCALLTYPE SetClientSite(IOleClientSite * pClientSite) - { - // TODO: hook pClientSite - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::SetClientSite(%p)"), pClientSite); - HRESULT hr = pIOleObject->SetClientSite(pClientSite); - dbgprintf(TEXT("IOleObject::SetClientSite -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetClientSite(IOleClientSite ** ppClientSite) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetClientSite(%s)"), ppClientSite); - HRESULT hr = pIOleObject->GetClientSite(ppClientSite); - dbgprintf(TEXT("IOleObject::GetClientSite -> %08X"), hr, ppClientSite); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetHostNames(LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::SetHostNames(%ls, %ls)"), szContainerApp, szContainerObj); - HRESULT hr = pIOleObject->SetHostNames(szContainerApp, szContainerObj); - dbgprintf(TEXT("IOleObject::SetHostNames -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Close(DWORD dwSaveOption) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::Close(%lu)"), dwSaveOption); - HRESULT hr = pIOleObject->Close(dwSaveOption); - dbgprintf(TEXT("IOleObject::Close -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetMoniker(DWORD dwWhichMoniker, IMoniker * pmk) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::SetMoniker(%lu, %p)"), dwWhichMoniker, MonikerToString(pmk).c_str()); - HRESULT hr = pIOleObject->SetMoniker(dwWhichMoniker, pmk); - dbgprintf(TEXT("IOleObject::SetMoniker -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetMoniker(%lu, %lu, %p)"), dwAssign, dwWhichMoniker, ppmk); - HRESULT hr = pIOleObject->GetMoniker(dwAssign, dwWhichMoniker, ppmk); - dbgprintf(TEXT("IOleObject::GetMoniker -> %08X, pmk = %s"), hr, SUCCEEDED(hr) ? MonikerToString(*ppmk).c_str() : TEXT("")); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE InitFromData(IDataObject * pDataObject, BOOL fCreation, DWORD dwReserved) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::InitFromData(%p, %s, %lu)"), pDataObject, BooleanToString(fCreation), dwReserved); - HRESULT hr = pIOleObject->InitFromData(pDataObject, fCreation, dwReserved); - dbgprintf(TEXT("IOleObject::InitFromData -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetClipboardData(DWORD dwReserved, IDataObject ** ppDataObject) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetClipboardData(%lu, %p)"), dwReserved, ppDataObject); - HRESULT hr = pIOleObject->GetClipboardData(dwReserved, ppDataObject); - dbgprintf(TEXT("IOleObject::GetClipboardData -> %08X, pDataObject = %p"), hr, *ppDataObject); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE DoVerb(LONG iVerb, LPMSG lpmsg, IOleClientSite * pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::DoVerb(%ld, %p, %p, %ld, %p, %s)"), iVerb, lpmsg, pActiveSite, lindex, hwndParent, RectToString(*lprcPosRect).c_str()); - HRESULT hr = pIOleObject->DoVerb(iVerb, lpmsg, pActiveSite, lindex, hwndParent, lprcPosRect); - dbgprintf(TEXT("IOleObject::DoVerb -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnumVerbs(IEnumOLEVERB ** ppEnumOleVerb) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::EnumVerbs(%p)"), ppEnumOleVerb); - HRESULT hr = pIOleObject->EnumVerbs(ppEnumOleVerb); - dbgprintf(TEXT("IOleObject::EnumVerbs -> %08X, pEnumOleVerb = %p"), hr, *ppEnumOleVerb); - // TODO: hook - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Update(void) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::Update(%s)")); - HRESULT hr = pIOleObject->Update(); - dbgprintf(TEXT("IOleObject::Update -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IsUpToDate(void) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::IsUpToDate(%s)")); - HRESULT hr = pIOleObject->IsUpToDate(); - dbgprintf(TEXT("IOleObject::IsUpToDate -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetUserClassID(CLSID * pClsid) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetUserClassID(%p)"), pClsid); - HRESULT hr = pIOleObject->GetUserClassID(pClsid); - dbgprintf(TEXT("IOleObject::GetUserClassID -> %08X, Clsid = %ls"), hr, UUIDToString(*pClsid).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetUserType(DWORD dwFormOfType, LPOLESTR * pszUserType) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetUserType(%lu, %p)"), dwFormOfType, pszUserType); - HRESULT hr = pIOleObject->GetUserType(dwFormOfType, pszUserType); - dbgprintf(TEXT("IOleObject::GetUserType -> %08X, szUserType = %s"), hr, *pszUserType); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::SetExtent(%lu, %s)"), dwDrawAspect, SizeToString(*psizel).c_str()); - HRESULT hr = pIOleObject->SetExtent(dwDrawAspect, psizel); - dbgprintf(TEXT("IOleObject::SetExtent -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetExtent(%lu, %p)"), dwDrawAspect, psizel); - HRESULT hr = pIOleObject->GetExtent(dwDrawAspect, psizel); - dbgprintf(TEXT("IOleObject::GetExtent -> %08X"), hr, SizeToString(*psizel).c_str()); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Advise(IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - // TODO: hook pAdvSink - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::Advise(%p, %p)"), pAdvSink, pdwConnection); - HRESULT hr = pIOleObject->Advise(pAdvSink, pdwConnection); - dbgprintf(TEXT("IOleObject::Advise -> %08X, dwConnection = %lu"), hr, *pdwConnection); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Unadvise(DWORD dwConnection) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::Unadvise(%lu)"), dwConnection); - HRESULT hr = pIOleObject->Unadvise(dwConnection); - dbgprintf(TEXT("IOleObject::Unadvise -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE EnumAdvise(IEnumSTATDATA ** ppenumAdvise) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::EnumAdvise(%p)"), ppenumAdvise); - HRESULT hr = pIOleObject->EnumAdvise(ppenumAdvise); - dbgprintf(TEXT("IOleObject::EnumAdvise -> %08X, penumAdvise = %p"), hr, *ppenumAdvise); - // TODO: hook - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(DWORD dwAspect, DWORD * pdwStatus) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::GetMiscStatus(%lu, %p)"), dwAspect, pdwStatus); - HRESULT hr = pIOleObject->GetMiscStatus(dwAspect, pdwStatus); - dbgprintf(TEXT("IOleObject::GetMiscStatus -> %08X, dwStatus = %08X"), hr, *pdwStatus); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SetColorScheme(LOGPALETTE * pLogpal) - { - IOleObject * pIOleObject = getIOleObject(); - dbgprintf(TEXT("IOleObject::SetColorScheme(%p)"), pLogpal); - HRESULT hr = pIOleObject->SetColorScheme(pLogpal); - dbgprintf(TEXT("IOleObject::SetColorScheme -> %08X"), hr); - return hr; - } - - /* IPersist */ - public: - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID * pClassID) - { - IPersist * pIPersist = getIPersist(); - dbgprintf(TEXT("IPersist::GetClassID(%p)"), pClassID); - HRESULT hr = pIPersist->GetClassID(pClassID); - dbgprintf(TEXT("IPersist::GetClassID -> %08X, ClassId = %ls"), hr, UUIDToString(*pClassID).c_str()); - return hr; - } - - /* IPersistPropertyBag */ - public: - virtual HRESULT STDMETHODCALLTYPE InitNew(void) - { - IPersistPropertyBag * pIPersistPropertyBag = getIPersistPropertyBag(); - dbgprintf(TEXT("IPersistPropertyBag::InitNew()")); - HRESULT hr = pIPersistPropertyBag->InitNew(); - dbgprintf(TEXT("IPersistPropertyBag::InitNew -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog) - { - // TODO: hook pPropBag, pErrorLog - IPersistPropertyBag * pIPersistPropertyBag = getIPersistPropertyBag(); - dbgprintf(TEXT("IPersistPropertyBag::Load(%p, %p)"), pPropBag, pErrorLog); - HRESULT hr = pIPersistPropertyBag->Load(pPropBag, pErrorLog); - dbgprintf(TEXT("IPersistPropertyBag::Load -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE Save(IPropertyBag * pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) - { - // TODO: hook pPropBag - IPersistPropertyBag * pIPersistPropertyBag = getIPersistPropertyBag(); - dbgprintf(TEXT("IPersistPropertyBag::Save(%p, %s, %s)"), pPropBag, BooleanToString(fClearDirty), BooleanToString(fSaveAllProperties)); - HRESULT hr = pIPersistPropertyBag->Save(pPropBag, fClearDirty, fSaveAllProperties); - dbgprintf(TEXT("IPersistPropertyBag::Save -> %08X"), hr); - return hr; - } - - /* IPersistStorage */ - public: - virtual HRESULT STDMETHODCALLTYPE IPersistStorage::IsDirty(void) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::IsDirty()")); - HRESULT hr = pIPersistStorage->IsDirty(); - dbgprintf(TEXT("IPersistStorage::IsDirty -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStorage::InitNew(IStorage * pStg) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::InitNew(%p)"), pStg); - HRESULT hr = pIPersistStorage->InitNew(pStg); - dbgprintf(TEXT("IPersistStorage::InitNew -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStorage::Load(IStorage * pStg) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::Load(%p)"), pStg); - HRESULT hr = pIPersistStorage->Load(pStg); - dbgprintf(TEXT("IPersistStorage::Load -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStorage::Save(IStorage * pStgSave, BOOL fSameAsLoad) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::Save(%p, %s)"), pStgSave, BooleanToString(fSameAsLoad)); - HRESULT hr = pIPersistStorage->Save(pStgSave, fSameAsLoad); - dbgprintf(TEXT("IPersistStorage::Save -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE SaveCompleted(IStorage * pStgNew) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::SaveCompleted(%p)"), pStgNew); - HRESULT hr = pIPersistStorage->SaveCompleted(pStgNew); - dbgprintf(TEXT("IPersistStorage::SaveCompleted -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE HandsOffStorage(void) - { - IPersistStorage * pIPersistStorage = getIPersistStorage(); - dbgprintf(TEXT("IPersistStorage::HandsOffStorage()")); - HRESULT hr = pIPersistStorage->HandsOffStorage(); - dbgprintf(TEXT("IPersistStorage::HandsOffStorage -> %08X"), hr); - return hr; - } - - /* IPersistStreamInit */ - public: - virtual HRESULT STDMETHODCALLTYPE IPersistStreamInit::IsDirty(void) - { - IPersistStreamInit * pIPersistStreamInit = getIPersistStreamInit(); - dbgprintf(TEXT("IPersistStreamInit::IsDirty()")); - HRESULT hr = pIPersistStreamInit->IsDirty(); - dbgprintf(TEXT("IPersistStreamInit::IsDirty -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStreamInit::Load(LPSTREAM pStm) - { - IPersistStreamInit * pIPersistStreamInit = getIPersistStreamInit(); - dbgprintf(TEXT("IPersistStreamInit::Load(%p)"), pStm); - HRESULT hr = pIPersistStreamInit->Load(pStm); - dbgprintf(TEXT("IPersistStreamInit::Load -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStreamInit::Save(LPSTREAM pStm, BOOL fClearDirty) - { - IPersistStreamInit * pIPersistStreamInit = getIPersistStreamInit(); - dbgprintf(TEXT("IPersistStreamInit::Save(%p, %s)"), pStm, BooleanToString(fClearDirty)); - HRESULT hr = pIPersistStreamInit->Save(pStm, fClearDirty); - dbgprintf(TEXT("IPersistStreamInit::Save -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStreamInit::GetSizeMax(ULARGE_INTEGER * pCbSize) - { - IPersistStreamInit * pIPersistStreamInit = getIPersistStreamInit(); - dbgprintf(TEXT("IPersistStreamInit::GetSizeMax(%p)"), pCbSize); - HRESULT hr = pIPersistStreamInit->GetSizeMax(pCbSize); - dbgprintf(TEXT("IPersistStreamInit::GetSizeMax -> %08X, CbSize = %llu"), hr, pCbSize->QuadPart); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IPersistStreamInit::InitNew(void) - { - IPersistStreamInit * pIPersistStreamInit = getIPersistStreamInit(); - dbgprintf(TEXT("IPersistStreamInit::InitNew()")); - HRESULT hr = pIPersistStreamInit->InitNew(); - dbgprintf(TEXT("IPersistStreamInit::InitNew -> %08X"), hr); - return hr; - } - - /* IProvideClassInfo */ - public: - virtual HRESULT STDMETHODCALLTYPE GetClassInfo(ITypeInfo ** ppTI) - { - IProvideClassInfo * pIProvideClassInfo = getIProvideClassInfo(); - dbgprintf(TEXT("IProvideClassInfo::GetClassInfo(%p)"), ppTI); - HRESULT hr = pIProvideClassInfo->GetClassInfo(ppTI); - dbgprintf(TEXT("IProvideClassInfo::GetClassInfo -> %08X, pTI = %p"), hr, *ppTI); - return hr; - } - - /* IProvideClassInfo2 */ - public: - virtual HRESULT STDMETHODCALLTYPE IProvideClassInfo2::GetGUID(DWORD dwGuidKind, GUID * pGUID) - { - IProvideClassInfo2 * pIProvideClassInfo2 = getIProvideClassInfo2(); - dbgprintf(TEXT("IProvideClassInfo2::GetGUID(%lu, %p)"), dwGuidKind, pGUID); - HRESULT hr = pIProvideClassInfo2->GetGUID(dwGuidKind, pGUID); - dbgprintf(TEXT("IProvideClassInfo2::GetGUID -> %08X, GUID = %ls"), hr, UUIDToString(*pGUID).c_str()); - return hr; - } - - /* IQuickActivate */ - public: - virtual HRESULT STDMETHODCALLTYPE IQuickActivate::QuickActivate(QACONTAINER * pQaContainer, QACONTROL * pQaControl) // TODO - { - IQuickActivate * pIQuickActivate = getIQuickActivate(); - - std::basic_stringstream o1; - - o1 << "{ "; - o1 << "pClientSite = " << (void *)pQaContainer->pClientSite << ", "; - o1 << "pAdviseSink = " << (void *)pQaContainer->pAdviseSink << ", "; - o1 << "pPropertyNotifySink = " << (void *)pQaContainer->pPropertyNotifySink << ", "; - o1 << "pUnkEventSink = " << (void *)pQaContainer->pUnkEventSink << ", "; - - o1 << std::hex; - o1 << "dwAmbientFlags = " << pQaContainer->dwAmbientFlags << ", "; - o1 << "colorFore = " << pQaContainer->colorFore << ", "; - o1 << "colorBack = " << pQaContainer->colorBack << ", "; - o1 << std::dec; - - o1 << "pFont = " << (void *)pQaContainer->pFont << ", "; - o1 << "pUndoMgr = " << (void *)pQaContainer->pUndoMgr << ", "; - - o1 << std::hex; - o1 << "dwAppearance = " << pQaContainer->dwAppearance << ", "; - o1 << "lcid = " << pQaContainer->lcid << ", "; - o1 << std::dec; - - o1 << "hpal = " << (void *)pQaContainer->hpal << ", "; - o1 << "pBindHost = " << (void *)pQaContainer->pBindHost << ", "; - o1 << "pOleControlSite = " << (void *)pQaContainer->pOleControlSite << ", "; - o1 << "pServiceProvider = " << (void *)pQaContainer->pServiceProvider << ", "; - o1 << "}"; - - dbgprintf(TEXT("IQuickActivate::QuickActivate(%s, %p)"), o1.str().c_str(), pQaControl); - - HRESULT hr = pIQuickActivate->QuickActivate(pQaContainer, pQaControl); - - std::basic_stringstream o2; - - o2 << "{ "; - o2 << std::hex; - o2 << "dwMiscStatus = " << pQaControl->dwMiscStatus << ", "; - o2 << "dwViewStatus = " << pQaControl->dwViewStatus << ", "; - o2 << "dwEventCookie = " << pQaControl->dwEventCookie << ", "; - o2 << "dwPropNotifyCookie = " << pQaControl->dwPropNotifyCookie << ", "; - o2 << "dwPointerActivationPolicy = " << pQaControl->dwPointerActivationPolicy << ", "; - o2 << std::dec; - o2 << "}"; - - dbgprintf(TEXT("IQuickActivate::QuickActivate -> %08X, QaControl = %s"), hr, o2.str().c_str()); - - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IQuickActivate::SetContentExtent(LPSIZEL pSizel) - { - IQuickActivate * pIQuickActivate = getIQuickActivate(); - dbgprintf(TEXT("IQuickActivate::SetContentExtent(%s)"), SizeToString(*pSizel).c_str()); - HRESULT hr = pIQuickActivate->SetContentExtent(pSizel); - dbgprintf(TEXT("IQuickActivate::SetContentExtent -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IQuickActivate::GetContentExtent(LPSIZEL pSizel) - { - IQuickActivate * pIQuickActivate = getIQuickActivate(); - dbgprintf(TEXT("IQuickActivate::GetContentExtent(%p)"), pSizel); - HRESULT hr = pIQuickActivate->GetContentExtent(pSizel); - dbgprintf(TEXT("IQuickActivate::GetContentExtent -> %08X, Sizel = %s"), hr, SizeToString(*pSizel).c_str()); - return hr; - } - - /* ISpecifyPropertyPages */ - private: - std::basic_string CauuidToString(const CAUUID& cauuid) - { - std::basic_ostringstream o; - - o << "{"; - - for(ULONG i = 0; i < cauuid.cElems; ++ i) - { - if(i) - o << ", "; - else - o << " "; - - o << UUIDToString(cauuid.pElems[i]); - } - - o << " }"; - - return o.str(); - } - - public: - virtual HRESULT STDMETHODCALLTYPE ISpecifyPropertyPages::GetPages(CAUUID * pPages) - { - ISpecifyPropertyPages * pISpecifyPropertyPages = getISpecifyPropertyPages(); - dbgprintf(TEXT("ISpecifyPropertyPages::GetPages(%p)"), pPages); - HRESULT hr = pISpecifyPropertyPages->GetPages(pPages); - dbgprintf(TEXT("ISpecifyPropertyPages::GetPages -> %08X, Pages = %s"), hr, CauuidToString(*pPages).c_str()); - return hr; - } - - /* IViewObject */ - public: - virtual HRESULT STDMETHODCALLTYPE IViewObject::Draw(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE * pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::Draw(%s, %ld, %p, %s, %p, %p, %s, %s, %p, %p)"), AspectToString(dwDrawAspect), lindex, pvAspect, TargetDeviceToString(*ptd).c_str(), hdcTargetDev, hdcDraw, RectToString(*lprcBounds).c_str(), RectToString(*lprcWBounds).c_str(), pfnContinue, dwContinue); - HRESULT hr = pIViewObject->Draw(dwDrawAspect, lindex, pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue, dwContinue); - dbgprintf(TEXT("IViewObject::Draw -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IViewObject::GetColorSet(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hicTargetDev, LOGPALETTE ** ppColorSet) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::GetColorSet(%s, %ld, %p, %s, %p, %p)"), AspectToString(dwDrawAspect), lindex, pvAspect, TargetDeviceToString(*ptd).c_str(), hicTargetDev, ppColorSet); - HRESULT hr = pIViewObject->GetColorSet(dwDrawAspect, lindex, pvAspect, ptd, hicTargetDev, ppColorSet); - dbgprintf(TEXT("IViewObject::GetColorSet -> %08X, pColorSet = %p"), hr, *ppColorSet); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IViewObject::Freeze(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DWORD * pdwFreeze) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::Freeze(%s, %ld, %p, %p)"), AspectToString(dwDrawAspect), lindex, pvAspect, pdwFreeze); - HRESULT hr = pIViewObject->Freeze(dwDrawAspect, lindex, pvAspect, pdwFreeze); - dbgprintf(TEXT("IViewObject::Freeze -> %08X, dwFreeze = %08X"), hr, *pdwFreeze); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IViewObject::Unfreeze(DWORD dwFreeze) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::Unfreeze(%08X)"), dwFreeze); - HRESULT hr = pIViewObject->Unfreeze(dwFreeze); - dbgprintf(TEXT("IViewObject::Unfreeze -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IViewObject::SetAdvise(DWORD aspects, DWORD advf, IAdviseSink * pAdvSink) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::SetAdvise(%s, %08X, %p)"), AspectToString(aspects), advf, pAdvSink); - HRESULT hr = pIViewObject->SetAdvise(aspects, advf, pAdvSink); - dbgprintf(TEXT("IViewObject::SetAdvise -> %08X"), hr); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE IViewObject::GetAdvise(DWORD * pAspects, DWORD * pAdvf, IAdviseSink ** ppAdvSink) - { - IViewObject * pIViewObject = getIViewObject(); - dbgprintf(TEXT("IViewObject::GetAdvise(%p, %p, %p)"), pAspects, pAdvf, ppAdvSink); - HRESULT hr = pIViewObject->GetAdvise(pAspects, pAdvf, ppAdvSink); - dbgprintf(TEXT("IViewObject::GetAdvise -> %08X, aspects = %s, advf = %08X, pAdvSink %p"), hr, AspectToString(*pAspects), *pAdvf, *ppAdvSink); - return hr; - } - - /* IViewObject2 */ - public: - virtual HRESULT STDMETHODCALLTYPE IViewObject2::GetExtent(DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE * ptd, LPSIZEL lpsizel) - { - IViewObject2 * pIViewObject2 = getIViewObject2(); - dbgprintf(TEXT("IViewObject2::GetExtent(%s, %ld, %s, %p)"), AspectToString(dwDrawAspect), lindex, TargetDeviceToString(*ptd).c_str(), lpsizel); - HRESULT hr = pIViewObject2->GetExtent(dwDrawAspect, lindex, ptd, lpsizel); - dbgprintf(TEXT("IViewObject2::GetExtent -> %08X, sizel = %s"), hr, SizeToString(*lpsizel).c_str()); - return hr; - } - - /* IMsTscAx */ - public: - virtual HRESULT __stdcall put_Server(BSTR pServer) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_Server(%ls)"), pServer); - HRESULT hr = pIMsTscAx->put_Server(pServer); - dbgprintf(TEXT("IMsTscAx::put_Server -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_Server(BSTR * pServer) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_Server()"), pServer); - HRESULT hr = pIMsTscAx->get_Server(pServer); - dbgprintf(TEXT("IMsTscAx::get_Server -> %08X, server = %ls"), hr, *pServer); - return hr; - } - - virtual HRESULT __stdcall put_Domain(BSTR pDomain) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_Domain(%ls)"), pDomain); - HRESULT hr = pIMsTscAx->put_Domain(pDomain); - dbgprintf(TEXT("IMsTscAx::put_Domain -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_Domain(BSTR * pDomain) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_Domain(%p)"), pDomain); - HRESULT hr = pIMsTscAx->get_Domain(pDomain); - dbgprintf(TEXT("IMsTscAx::get_Domain -> %08X, Domain = %ls"), hr, *pDomain); - return hr; - } - - virtual HRESULT __stdcall put_UserName(BSTR pUserName) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_UserName(%ls)"), pUserName); - HRESULT hr = pIMsTscAx->put_UserName(pUserName); - dbgprintf(TEXT("IMsTscAx::put_UserName -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_UserName(BSTR * pUserName) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_UserName(%p)"), pUserName); - HRESULT hr = pIMsTscAx->get_UserName(pUserName); - dbgprintf(TEXT("IMsTscAx::get_UserName -> %08X, UserName = %ls"), hr, *pUserName); - return hr; - } - - virtual HRESULT __stdcall put_DisconnectedText(BSTR pDisconnectedText) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_DisconnectedText(%ls)"), pDisconnectedText); - HRESULT hr = pIMsTscAx->put_DisconnectedText(pDisconnectedText); - dbgprintf(TEXT("IMsTscAx::put_DisconnectedText -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_DisconnectedText(BSTR * pDisconnectedText) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_DisconnectedText(%p)"), pDisconnectedText); - HRESULT hr = pIMsTscAx->get_DisconnectedText(pDisconnectedText); - dbgprintf(TEXT("IMsTscAx::get_DisconnectedText -> %08X, DisconnectedText = %ls"), hr, *pDisconnectedText); - return hr; - } - - virtual HRESULT __stdcall put_ConnectingText(BSTR pConnectingText) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_ConnectingText(%ls)"), pConnectingText); - HRESULT hr = pIMsTscAx->put_ConnectingText(pConnectingText); - dbgprintf(TEXT("IMsTscAx::put_ConnectingText -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_ConnectingText(BSTR * pConnectingText) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_ConnectingText(%p)"), pConnectingText); - HRESULT hr = pIMsTscAx->get_ConnectingText(pConnectingText); - dbgprintf(TEXT("IMsTscAx::get_ConnectingText -> %08X, ConnectingText = %ls"), hr, *pConnectingText); - return hr; - } - - virtual HRESULT __stdcall get_Connected(short * pIsConnected) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_Connected(%p)"), pIsConnected); - HRESULT hr = pIMsTscAx->get_Connected(pIsConnected); - dbgprintf(TEXT("IMsTscAx::get_Connected -> %08X, IsConnected = %s"), hr, BooleanToString(*pIsConnected)); - return hr; - } - - virtual HRESULT __stdcall put_DesktopWidth(long pVal) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_DesktopWidth(%ld)"), pVal); - HRESULT hr = pIMsTscAx->put_DesktopWidth(pVal); - dbgprintf(TEXT("IMsTscAx::put_DesktopWidth -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_DesktopWidth(long * pVal) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_DesktopWidth(%p)"), pVal); - HRESULT hr = pIMsTscAx->get_DesktopWidth(pVal); - dbgprintf(TEXT("IMsTscAx::get_DesktopWidth -> %08X, Val = %lu"), hr, *pVal); - return hr; - } - - virtual HRESULT __stdcall put_DesktopHeight(long pVal) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_DesktopHeight(%ld)"), pVal); - HRESULT hr = pIMsTscAx->put_DesktopHeight(pVal); - dbgprintf(TEXT("IMsTscAx::put_DesktopHeight -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_DesktopHeight(long * pVal) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_DesktopHeight(%p)"), pVal); - HRESULT hr = pIMsTscAx->get_DesktopHeight(pVal); - dbgprintf(TEXT("IMsTscAx::get_DesktopHeight -> %08X, Val = %lu"), hr, *pVal); - return hr; - } - - virtual HRESULT __stdcall put_StartConnected(long pfStartConnected) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_StartConnected(%s)"), BooleanToString(pfStartConnected)); - HRESULT hr = pIMsTscAx->put_StartConnected(pfStartConnected); - dbgprintf(TEXT("IMsTscAx::put_StartConnected -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_StartConnected(long * pfStartConnected) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_StartConnected(%p)"), pfStartConnected); - HRESULT hr = pIMsTscAx->get_StartConnected(pfStartConnected); - dbgprintf(TEXT("IMsTscAx::get_StartConnected -> %08X, fStartConnected = %s"), hr, BooleanToString(*pfStartConnected)); - return hr; - } - - virtual HRESULT __stdcall get_HorizontalScrollBarVisible(long * pfHScrollVisible) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_HorizontalScrollBarVisible(%p)"), pfHScrollVisible); - HRESULT hr = pIMsTscAx->get_HorizontalScrollBarVisible(pfHScrollVisible); - dbgprintf(TEXT("IMsTscAx::get_HorizontalScrollBarVisible -> %08X, fHScrollVisible = %s"), hr, BooleanToString(*pfHScrollVisible)); - return hr; - } - - virtual HRESULT __stdcall get_VerticalScrollBarVisible(long * pfVScrollVisible) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_VerticalScrollBarVisible(%p)"), pfVScrollVisible); - HRESULT hr = pIMsTscAx->get_VerticalScrollBarVisible(pfVScrollVisible); - dbgprintf(TEXT("IMsTscAx::get_VerticalScrollBarVisible -> %08X, fVScrollVisible"), hr, *pfVScrollVisible); - return hr; - } - - virtual HRESULT __stdcall put_FullScreenTitle(BSTR _arg1) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::put_FullScreenTitle(%ls)"), _arg1); - HRESULT hr = pIMsTscAx->put_FullScreenTitle(_arg1); - dbgprintf(TEXT("IMsTscAx::put_FullScreenTitle -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_CipherStrength(long * pCipherStrength) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_CipherStrength(%p)"), pCipherStrength); - HRESULT hr = pIMsTscAx->get_CipherStrength(pCipherStrength); - dbgprintf(TEXT("IMsTscAx::get_CipherStrength -> %08X, CipherStrength = %ld"), hr, *pCipherStrength); - return hr; - } - - virtual HRESULT __stdcall get_Version(BSTR * pVersion) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_Version(%p)"), pVersion); - HRESULT hr = pIMsTscAx->get_Version(pVersion); - dbgprintf(TEXT("IMsTscAx::get_Version -> %08X, Version = %ls"), hr, *pVersion); - return hr; - } - - virtual HRESULT __stdcall get_SecuredSettingsEnabled(long * pSecuredSettingsEnabled) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_SecuredSettingsEnabled(%p)"), pSecuredSettingsEnabled); - HRESULT hr = pIMsTscAx->get_SecuredSettingsEnabled(pSecuredSettingsEnabled); - dbgprintf(TEXT("IMsTscAx::get_SecuredSettingsEnabled -> %08X, SecuredSettingsEnabled = %s"), hr, BooleanToString(*pSecuredSettingsEnabled)); - return hr; - } - - virtual HRESULT __stdcall get_SecuredSettings(IMsTscSecuredSettings ** ppSecuredSettings) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_SecuredSettings(%p)"), ppSecuredSettings); - HRESULT hr = pIMsTscAx->get_SecuredSettings(ppSecuredSettings); - dbgprintf(TEXT("IMsTscAx::get_SecuredSettings -> %08X, pSecuredSettings = %p"), hr, *ppSecuredSettings); - return hr; - } - - virtual HRESULT __stdcall get_AdvancedSettings(IMsTscAdvancedSettings ** ppAdvSettings) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_AdvancedSettings(%p)"), ppAdvSettings); - HRESULT hr = pIMsTscAx->get_AdvancedSettings(ppAdvSettings); - dbgprintf(TEXT("IMsTscAx::get_AdvancedSettings -> %08X, pAdvSettings = %p"), hr, *ppAdvSettings); - - if(SUCCEEDED(hr)) - *ppAdvSettings = new CAdvancedSettings(*ppAdvSettings); - - return hr; - } - - virtual HRESULT __stdcall get_Debugger(IMsTscDebug ** ppDebugger) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::get_Debugger(%p)"), ppDebugger); - HRESULT hr = pIMsTscAx->get_Debugger(ppDebugger); - dbgprintf(TEXT("IMsTscAx::get_Debugger -> %08X, pDebugger = %p"), hr, *ppDebugger); - return hr; - } - - virtual HRESULT __stdcall Connect() - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::Connect()")); - HRESULT hr = pIMsTscAx->Connect(); - dbgprintf(TEXT("IMsTscAx::Connect -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall Disconnect() - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::Disconnect()")); - HRESULT hr = pIMsTscAx->Disconnect(); - dbgprintf(TEXT("IMsTscAx::Disconnect -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall CreateVirtualChannels(BSTR newVal) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::CreateVirtualChannels(%ls)"), newVal); - HRESULT hr = pIMsTscAx->CreateVirtualChannels(newVal); - dbgprintf(TEXT("IMsTscAx::CreateVirtualChannels -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall SendOnVirtualChannel(BSTR chanName, BSTR ChanData) - { - IMsTscAx * pIMsTscAx = getIMsTscAx(); - dbgprintf(TEXT("IMsTscAx::SendOnVirtualChannel(%ls, %p)"), chanName, ChanData); - HRESULT hr = pIMsTscAx->SendOnVirtualChannel(chanName, ChanData); - dbgprintf(TEXT("IMsTscAx::SendOnVirtualChannel -> %08X"), hr); - return hr; - } - - /* IMsRdpClient */ - public: - virtual HRESULT __stdcall put_ColorDepth(long pcolorDepth) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::put_ColorDepth(%ld)"), pcolorDepth); - HRESULT hr = pIMsRdpClient->put_ColorDepth(pcolorDepth); - dbgprintf(TEXT("IMsRdpClient::put_ColorDepth -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_ColorDepth(long * pcolorDepth) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::get_ColorDepth(%p)"), pcolorDepth); - HRESULT hr = pIMsRdpClient->get_ColorDepth(pcolorDepth); - dbgprintf(TEXT("IMsRdpClient::get_ColorDepth -> %08X, colorDepth = %ld"), hr, *pcolorDepth); - return hr; - } - - virtual HRESULT __stdcall get_AdvancedSettings2(IMsRdpClientAdvancedSettings ** ppAdvSettings) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::get_AdvancedSettings2(%p)"), ppAdvSettings); - HRESULT hr = pIMsRdpClient->get_AdvancedSettings2(ppAdvSettings); - dbgprintf(TEXT("IMsRdpClient::get_AdvancedSettings2 -> %08X, pAdvSettings = %p"), hr, *ppAdvSettings); - - if(SUCCEEDED(hr)) - *ppAdvSettings = new CAdvancedSettings(*ppAdvSettings); - - return hr; - } - - virtual HRESULT __stdcall get_SecuredSettings2(IMsRdpClientSecuredSettings ** ppSecuredSettings) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::get_SecuredSettings2(%p)"), ppSecuredSettings); - HRESULT hr = pIMsRdpClient->get_SecuredSettings2(ppSecuredSettings); - dbgprintf(TEXT("IMsRdpClient::get_SecuredSettings2 -> %08X, pSecuredSettings = %p"), hr, *ppSecuredSettings); - return hr; - } - - virtual HRESULT __stdcall get_ExtendedDisconnectReason(ExtendedDisconnectReasonCode * pExtendedDisconnectReason) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::get_ExtendedDisconnectReason(%p)"), pExtendedDisconnectReason); - HRESULT hr = pIMsRdpClient->get_ExtendedDisconnectReason(pExtendedDisconnectReason); - dbgprintf(TEXT("IMsRdpClient::get_ExtendedDisconnectReason -> %08X, ExtendedDisconnectReason = %u"), hr, *pExtendedDisconnectReason); - return hr; - } - - virtual HRESULT __stdcall put_FullScreen(VARIANT_BOOL pfFullScreen) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::put_FullScreen(%s)"), BooleanToString(pfFullScreen)); - HRESULT hr = pIMsRdpClient->put_FullScreen(pfFullScreen); - dbgprintf(TEXT("IMsRdpClient::put_FullScreen -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_FullScreen(VARIANT_BOOL * pfFullScreen) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::get_FullScreen(%p)"), pfFullScreen); - HRESULT hr = pIMsRdpClient->get_FullScreen(pfFullScreen); - dbgprintf(TEXT("IMsRdpClient::get_FullScreen -> %08X, pfFullScreen = %s"), hr, BooleanToString(*pfFullScreen)); - return hr; - } - - virtual HRESULT __stdcall SetVirtualChannelOptions(BSTR chanName, long chanOptions) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::SetVirtualChannelOptions(%ls, %08X)"), chanName, chanOptions); - HRESULT hr = pIMsRdpClient->SetVirtualChannelOptions(chanName, chanOptions); - dbgprintf(TEXT("IMsRdpClient::SetVirtualChannelOptions -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall GetVirtualChannelOptions(BSTR chanName, long * pChanOptions) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::GetVirtualChannelOptions(%ls, %p)"), chanName, pChanOptions); - HRESULT hr = pIMsRdpClient->GetVirtualChannelOptions(chanName, pChanOptions); - dbgprintf(TEXT("IMsRdpClient::GetVirtualChannelOptions -> %08X, ChanOptions = %08X"), hr, *pChanOptions); - return hr; - } - - virtual HRESULT __stdcall RequestClose(ControlCloseStatus * pCloseStatus) - { - IMsRdpClient * pIMsRdpClient = getIMsRdpClient(); - dbgprintf(TEXT("IMsRdpClient::RequestClose(%p)"), pCloseStatus); - HRESULT hr = pIMsRdpClient->RequestClose(pCloseStatus); - dbgprintf(TEXT("IMsRdpClient::RequestClose -> %08X, CloseStatus = %ld"), hr, *pCloseStatus); - return hr; - } - - /* IMsRdpClient2 */ - public: - virtual HRESULT __stdcall get_AdvancedSettings3(IMsRdpClientAdvancedSettings2 ** ppAdvSettings) - { - IMsRdpClient2 * pIMsRdpClient2 = getIMsRdpClient2(); - dbgprintf(TEXT("IMsRdpClient2::get_AdvancedSettings3(%p)"), ppAdvSettings); - HRESULT hr = pIMsRdpClient2->get_AdvancedSettings3(ppAdvSettings); - dbgprintf(TEXT("IMsRdpClient2::get_AdvancedSettings3 -> %08X, pAdvSettings = %p"), hr, *ppAdvSettings); - - if(SUCCEEDED(hr)) - *ppAdvSettings = new CAdvancedSettings(*ppAdvSettings); - - return hr; - } - - virtual HRESULT __stdcall put_ConnectedStatusText(BSTR pConnectedStatusText) - { - IMsRdpClient2 * pIMsRdpClient2 = getIMsRdpClient2(); - dbgprintf(TEXT("IMsRdpClient2::put_ConnectedStatusText(%ls)"), pConnectedStatusText); - HRESULT hr = pIMsRdpClient2->put_ConnectedStatusText(pConnectedStatusText); - dbgprintf(TEXT("IMsRdpClient2::put_ConnectedStatusText -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_ConnectedStatusText(BSTR * pConnectedStatusText) - { - IMsRdpClient2 * pIMsRdpClient2 = getIMsRdpClient2(); - dbgprintf(TEXT("IMsRdpClient2::get_ConnectedStatusText(%p)"), pConnectedStatusText); - HRESULT hr = pIMsRdpClient2->get_ConnectedStatusText(pConnectedStatusText); - dbgprintf(TEXT("IMsRdpClient2::get_ConnectedStatusText -> %08X, ConnectedStatusText = %ls"), hr, *pConnectedStatusText); - return hr; - } - - /* IMsRdpClient3 */ - public: - virtual HRESULT __stdcall get_AdvancedSettings4(IMsRdpClientAdvancedSettings3 ** ppAdvSettings) - { - IMsRdpClient3 * pIMsRdpClient3 = getIMsRdpClient3(); - dbgprintf(TEXT("IMsRdpClient3::get_AdvancedSettings4(%p)"), ppAdvSettings); - HRESULT hr = pIMsRdpClient3->get_AdvancedSettings4(ppAdvSettings); - dbgprintf(TEXT("IMsRdpClient3::get_AdvancedSettings4 -> %08X, pAdvSettings = %p"), hr, *ppAdvSettings); - - if(SUCCEEDED(hr)) - *ppAdvSettings = new CAdvancedSettings(*ppAdvSettings); - - return hr; - } - - /* IMsRdpClient4 */ - public: - virtual HRESULT __stdcall get_AdvancedSettings5(IMsRdpClientAdvancedSettings4 ** ppAdvSettings5) - { - IMsRdpClient4 * pIMsRdpClient4 = getIMsRdpClient4(); - dbgprintf(TEXT("IMsRdpClient4::get_AdvancedSettings5(%p)"), ppAdvSettings5); - HRESULT hr = pIMsRdpClient4->get_AdvancedSettings5(ppAdvSettings5); - dbgprintf(TEXT("IMsRdpClient4::get_AdvancedSettings5 -> %08X, pAdvSettings5 = %p"), hr, *ppAdvSettings5); - - if(SUCCEEDED(hr)) - *ppAdvSettings5 = new CAdvancedSettings(*ppAdvSettings5); - - return hr; - } - - /* IMsTscNonScriptable */ - public: - virtual HRESULT __stdcall put_ClearTextPassword(BSTR _arg1) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::put_ClearTextPassword(%ls)"), _arg1); - HRESULT hr = pIMsTscNonScriptable->put_ClearTextPassword(_arg1); - dbgprintf(TEXT("IMsTscNonScriptable::put_ClearTextPassword -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall put_PortablePassword(BSTR pPortablePass) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::put_PortablePassword(%ls)"), pPortablePass); - HRESULT hr = pIMsTscNonScriptable->put_PortablePassword(pPortablePass); - dbgprintf(TEXT("IMsTscNonScriptable::put_PortablePassword -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_PortablePassword(BSTR * pPortablePass) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::get_PortablePassword(%p)"), pPortablePass); - HRESULT hr = pIMsTscNonScriptable->get_PortablePassword(pPortablePass); - dbgprintf(TEXT("IMsTscNonScriptable::get_PortablePassword -> %08X, PortablePass = %ls"), hr, *pPortablePass); - return hr; - } - - virtual HRESULT __stdcall put_PortableSalt(BSTR pPortableSalt) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::put_PortableSalt(%ls)"), pPortableSalt); - HRESULT hr = pIMsTscNonScriptable->put_PortableSalt(pPortableSalt); - dbgprintf(TEXT("IMsTscNonScriptable::put_PortableSalt -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_PortableSalt(BSTR * pPortableSalt) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::get_PortableSalt()"), pPortableSalt); - HRESULT hr = pIMsTscNonScriptable->get_PortableSalt(pPortableSalt); - dbgprintf(TEXT("IMsTscNonScriptable::get_PortableSalt -> %08X, PortableSalt = %ls"), hr, *pPortableSalt); - return hr; - } - - virtual HRESULT __stdcall put_BinaryPassword(BSTR pBinaryPassword) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::put_BinaryPassword(%p)"), pBinaryPassword); - HRESULT hr = pIMsTscNonScriptable->put_BinaryPassword(pBinaryPassword); - dbgprintf(TEXT("IMsTscNonScriptable::put_BinaryPassword -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_BinaryPassword(BSTR * pBinaryPassword) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::get_BinaryPassword()"), pBinaryPassword); - HRESULT hr = pIMsTscNonScriptable->get_BinaryPassword(pBinaryPassword); - dbgprintf(TEXT("IMsTscNonScriptable::get_BinaryPassword -> %08X, BinaryPassword = %ls"), hr, *pBinaryPassword); - return hr; - } - - virtual HRESULT __stdcall put_BinarySalt(BSTR pSalt) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::put_BinarySalt(%p)"), pSalt); - HRESULT hr = pIMsTscNonScriptable->put_BinarySalt(pSalt); - dbgprintf(TEXT("IMsTscNonScriptable::put_BinarySalt -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall get_BinarySalt(BSTR * pSalt) - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::get_BinarySalt()"), pSalt); - HRESULT hr = pIMsTscNonScriptable->get_BinarySalt(pSalt); - dbgprintf(TEXT("IMsTscNonScriptable::get_BinarySalt -> %08X, pSalt = %ls"), hr, *pSalt); - return hr; - } - - virtual HRESULT __stdcall ResetPassword() - { - IMsTscNonScriptable * pIMsTscNonScriptable = getIMsTscNonScriptable(); - dbgprintf(TEXT("IMsTscNonScriptable::ResetPassword()")); - HRESULT hr = pIMsTscNonScriptable->ResetPassword(); - dbgprintf(TEXT("IMsTscNonScriptable::ResetPassword -> %08X"), hr); - return hr; - } - - - /* IMsRdpClientNonScriptable */ - public: - virtual HRESULT __stdcall IMsRdpClientNonScriptable::NotifyRedirectDeviceChange(UINT_PTR wParam, LONG_PTR lParam) - { - IMsRdpClientNonScriptable * pIMsRdpClientNonScriptable = getIMsRdpClientNonScriptable(); - dbgprintf(TEXT("IMsRdpClientNonScriptable::NotifyRedirectDeviceChange(%p, %p)"), wParam, lParam); - HRESULT hr = pIMsRdpClientNonScriptable->NotifyRedirectDeviceChange(wParam, lParam); - dbgprintf(TEXT("IMsRdpClientNonScriptable::NotifyRedirectDeviceChange -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall IMsRdpClientNonScriptable::SendKeys(long numKeys, VARIANT_BOOL * pbArrayKeyUp, long * plKeyData) // TBD - { - IMsRdpClientNonScriptable * pIMsRdpClientNonScriptable = getIMsRdpClientNonScriptable(); - dbgprintf(TEXT("IMsRdpClientNonScriptable::SendKeys(%ld, %p, %p)"), numKeys, pbArrayKeyUp, plKeyData); - HRESULT hr = pIMsRdpClientNonScriptable->SendKeys(numKeys, pbArrayKeyUp, plKeyData); - dbgprintf(TEXT("IMsRdpClientNonScriptable::SendKeys -> %08X"), hr); - return hr; - } - - /* IMsRdpClientNonScriptable2 */ - public: - virtual HRESULT __stdcall IMsRdpClientNonScriptable2::put_UIParentWindowHandle(wireHWND phwndUIParentWindowHandle) - { - IMsRdpClientNonScriptable2 * pIMsRdpClientNonScriptable2 = getIMsRdpClientNonScriptable2(); - dbgprintf(TEXT("IMsRdpClientNonScriptable2::put_UIParentWindowHandle(%p)"), phwndUIParentWindowHandle); - HRESULT hr = pIMsRdpClientNonScriptable2->put_UIParentWindowHandle(phwndUIParentWindowHandle); - dbgprintf(TEXT("IMsRdpClientNonScriptable2::put_UIParentWindowHandle -> %08X"), hr); - return hr; - } - - virtual HRESULT __stdcall IMsRdpClientNonScriptable2::get_UIParentWindowHandle(wireHWND * phwndUIParentWindowHandle) - { - IMsRdpClientNonScriptable2 * pIMsRdpClientNonScriptable2 = getIMsRdpClientNonScriptable2(); - dbgprintf(TEXT("IMsRdpClientNonScriptable2::get_UIParentWindowHandle(%p)"), phwndUIParentWindowHandle); - HRESULT hr = pIMsRdpClientNonScriptable2->get_UIParentWindowHandle(phwndUIParentWindowHandle); - dbgprintf(TEXT("IMsRdpClientNonScriptable2::get_UIParentWindowHandle -> %08X, hwndUIParentWindowHandle = %p"), hr, *phwndUIParentWindowHandle); - return hr; - } - - /* - { - * p = m_; - dbgprintf(TEXT("::()"), ); - HRESULT hr = p->(); - dbgprintf(TEXT(":: -> %08X, "), hr, ); - return hr; - } - */ - }; - - class ClassFactory: public IClassFactory2 - { - private: - LONG m_refCount; - IUnknown * m_IUnknown; - IClassFactory * m_IClassFactory; - IClassFactory2 * m_IClassFactory2; - - IClassFactory * getIClassFactory() - { - if(m_IClassFactory) - return m_IClassFactory; - - if(m_IClassFactory2) - m_IClassFactory = m_IClassFactory2; - - if(m_IClassFactory) - { - m_IClassFactory->AddRef(); - return m_IClassFactory; - } - - m_IUnknown->QueryInterface(&m_IClassFactory); - return m_IClassFactory; - } - - IClassFactory2 * getIClassFactory2() - { - if(m_IClassFactory2) - return m_IClassFactory2; - - m_IUnknown->QueryInterface(&m_IClassFactory2); - return m_IClassFactory2; - } - - public: - ClassFactory(IUnknown * pUnknwn): - m_refCount(1), - m_IUnknown(pUnknwn), - m_IClassFactory(NULL), - m_IClassFactory2(NULL) - { - m_IUnknown->AddRef(); - } - - ~ClassFactory() - { - if(m_IUnknown) - m_IUnknown->Release(); - - if(m_IClassFactory) - m_IClassFactory->Release(); - - if(m_IClassFactory2) - m_IClassFactory2->Release(); - } - - /* IUnknown */ - public: - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) - { - HRESULT hr; - IUnknown * pvObject = NULL; - - dbgprintf(TEXT("IUnknown::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); - -#define QIBEGIN() \ - if(riid == IID_IUnknown) \ - { \ - hr = S_OK; \ - pvObject = (IUnknown *)(this); \ - } - -#define QI(I) \ - else if(riid == IID_ ## I) \ - { \ - if(m_ ## I) \ - { \ - m_ ## I->AddRef(); \ - hr = S_OK; \ - } \ - else \ - { \ - hr = m_IUnknown->QueryInterface(&m_ ## I); \ - } \ - \ - if(SUCCEEDED(hr)) \ - pvObject = static_cast(this); \ - } - -#define QIEND() \ - else \ - { \ - hr = E_NOINTERFACE; \ - pvObject = NULL; \ - } - - QIBEGIN() - QI(IClassFactory) - QI(IClassFactory2) - QIEND() - -#undef QIBEGIN -#undef QIEND -#undef QI - - if(SUCCEEDED(hr)) - { - assert(pvObject); - pvObject->AddRef(); - } - else - { - assert(pvObject == NULL); - } - - *ppvObject = pvObject; - - dbgprintf(TEXT("IUnknown::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject); - return hr; - } - - virtual ULONG STDMETHODCALLTYPE AddRef(void) - { - return InterlockedIncrement(&m_refCount); - } - - virtual ULONG STDMETHODCALLTYPE Release(void) - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - /* IClassFactory */ - public: - virtual HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown * pUnkOuter, REFIID riid, void ** ppvObject) - { - IClassFactory * pIClassFactory = getIClassFactory(); - dbgprintf(TEXT("IClassFactory::CreateInstance(%p, %ls, %p)"), pUnkOuter, UUIDToString(riid).c_str(), ppvObject); - HRESULT hr = pIClassFactory->CreateInstance(NULL, riid, ppvObject); - dbgprintf(TEXT("IClassFactory::CreateInstance -> %08X, pvObject = %p"), hr, *ppvObject); - return CoClass::CreateInstance((IUnknown *)*ppvObject, pUnkOuter, riid, ppvObject); - } - - virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock) - { - IClassFactory * pIClassFactory = getIClassFactory(); - dbgprintf(TEXT("IClassFactory::LockServer(%s)"), BooleanToString(fLock)); - HRESULT hr = pIClassFactory->LockServer(fLock); - dbgprintf(TEXT("IClassFactory::LockServer -> %08X"), hr); - return hr; - } - - /* IClassFactory2 */ - public: - virtual HRESULT STDMETHODCALLTYPE GetLicInfo(LICINFO * pLicInfo) - { - IClassFactory2 * pIClassFactory2 = getIClassFactory2(); - dbgprintf(TEXT("IClassFactory2::GetLicInfo(%p)"), pLicInfo); - HRESULT hr = pIClassFactory2->GetLicInfo(pLicInfo); - dbgprintf(TEXT("IClassFactory2::GetLicInfo -> %08X, LicInfo = %p"), hr, pLicInfo); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE RequestLicKey(DWORD dwReserved, BSTR * pBstrKey) - { - IClassFactory2 * pIClassFactory2 = getIClassFactory2(); - dbgprintf(TEXT("IClassFactory2::RequestLicKey(%lu, %p)"), dwReserved, pBstrKey); - HRESULT hr = pIClassFactory2->RequestLicKey(dwReserved, pBstrKey); - dbgprintf(TEXT("IClassFactory2::RequestLicKey -> %08X, bstrKey = %ls"), hr, *pBstrKey); - return hr; - } - - virtual HRESULT STDMETHODCALLTYPE CreateInstanceLic(IUnknown * pUnkOuter, IUnknown * pUnkReserved, REFIID riid, BSTR bstrKey, PVOID * ppvObj) - { - IClassFactory2 * pIClassFactory2 = getIClassFactory2(); - dbgprintf(TEXT("IClassFactory2::CreateInstanceLic(%p, %p, %ls, %ls, %p)"), pUnkOuter, pUnkReserved, UUIDToString(riid).c_str(), bstrKey, ppvObj); - HRESULT hr = pIClassFactory2->CreateInstanceLic(NULL, pUnkReserved, riid, bstrKey, ppvObj); - dbgprintf(TEXT("IClassFactory2::CreateInstanceLic -> %08X, pvObj = %p"), hr, *ppvObj); - return CoClass::CreateInstance((IUnknown *)*ppvObj, pUnkOuter, riid, ppvObj); - } - }; - - STDAPI DllGetClassObject(IN REFCLSID rclsid, IN REFIID riid, OUT LPVOID * ppv) - { - init(); - - dbgprintf(TEXT("DllGetClassObject(%ls, %ls, %p)"), UUIDToString(rclsid).c_str(), UUIDToString(riid).c_str(), ppv); - HRESULT hr = pfnDllGetClassObject(rclsid, IID_IUnknown, ppv); - dbgprintf(TEXT("DllGetClassObject -> %08X, pv = %p"), hr, *ppv); - - IUnknown * pv = NULL; - - if(SUCCEEDED(hr)) - { - IUnknown * punk = (IUnknown *)*ppv; - - if(rclsid == CLSID_MsTscAx || rclsid == CLSID_MsRdpClient || rclsid == CLSID_MsRdpClient2 || rclsid == CLSID_MsRdpClient3 || rclsid == CLSID_MsRdpClient4) - pv = new ClassFactory(punk); - else - hr = CLASS_E_CLASSNOTAVAILABLE; - - punk->Release(); - } - - if(pv) - { - hr = pv->QueryInterface(riid, ppv); - - if(FAILED(hr)) - pv->Release(); - } - - return hr; - } - - STDAPI DllCanUnloadNow(void) - { - init(); - - dbgprintf(TEXT("DllCanUnloadNow()")); - HRESULT hr = pfnDllCanUnloadNow(); - dbgprintf(TEXT("DllCanUnloadNow -> %08X"), hr); - - return hr; - } - - STDAPI_(ULONG) DllGetTscCtlVer(void) - { - init(); - - dbgprintf(TEXT("DllGetTscCtlVer()")); - ULONG ul = pfnDllGetTscCtlVer(); - dbgprintf(TEXT("DllGetTscCtlVer-> %08X"), ul); - - return ul; - } -} - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.def b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.def deleted file mode 100644 index 5da85892a99..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.def +++ /dev/null @@ -1,14 +0,0 @@ -LIBRARY mstscax.dll - -EXPORTS - ; OLE inproc server - DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE - - ; OLE self-registration - ; TODO - - ; Private APIs - DllGetTscCtlVer - -; EOF diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.sln b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.sln deleted file mode 100644 index 2abaf3db1b1..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstscax", "mstscax.vcproj", "{933B2293-F12F-4B01-98B4-BF635B8B4F36}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.ActiveCfg = Debug|Win32 - {933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.Build.0 = Debug|Win32 - {933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.ActiveCfg = Release|Win32 - {933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.vcproj b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.vcproj deleted file mode 100644 index 7e3def8edf7..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.vcproj +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.cpp b/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.cpp deleted file mode 100644 index fd4f341c7b2..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "stdafx.h" diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.h b/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.h deleted file mode 100644 index 9c317402891..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/stdafx.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include -#include -#include - -#include -#include -#include -#include - -#define WIN32_LEAN_AND_MEAN -#define STRICT -#define NOMINMAX - -#include -#include -#include - -#include - -#include - -#import "./rdesktop-core-tester.tlb" \ - exclude("LONG_PTR", "UINT_PTR", "wireHWND", "_RemotableHandle", "__MIDL_IWinTypes_0009") \ - named_guids \ - no_implementation \ - no_smart_pointers \ - raw_dispinterfaces \ - raw_interfaces_only \ - raw_native_types - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp deleted file mode 100644 index 80a03b6a379..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp +++ /dev/null @@ -1,6095 +0,0 @@ -#include "stdafx.h" - -namespace MSTSCLib -{ -#include "mstsclib_h.h" -}; - -namespace MSTSCLib_Redist -{ -// extremely ew, but actually the cleanest way to import the alternate UUIDs -#include "mstsclib_redist_i.c" -}; - -#include "rdesktop/rdesktop.h" -#include "rdesktop/proto.h" - -namespace -{ -#ifdef _MSC_VER -extern "C" char __ImageBase; -#endif - -HMODULE GetCurrentModule() -{ - return reinterpret_cast(&__ImageBase); -} - -} - -namespace -{ - -LONG g_moduleRefCount = 0; - -void lockServer() -{ - InterlockedIncrement(&g_moduleRefCount); -} - -void unlockServer() -{ - InterlockedDecrement(&g_moduleRefCount); -} - -bool canUnloadServer() -{ - return g_moduleRefCount == 0; -} - -} - -namespace -{ - -void FreeLpsz(LPSTR lpsz) -{ - if(lpsz) - delete[] lpsz; -} - -LPSTR AllocLpsz(const CHAR * lpsz, size_t cb) -{ - LPSTR lpszNew = new CHAR[cb + 1]; - - if(lpszNew == NULL) - return NULL; - - CopyMemory(lpszNew, lpsz, cb); - lpszNew[cb] = 0; - - return lpszNew; -} - -LPSTR AllocLpsz(const WCHAR * lpwsz, int cchIn) -{ - int cch = WideCharToMultiByte(CP_ACP, 0, lpwsz, cchIn, NULL, 0, NULL, NULL); - - if(cch <= 0) - return NULL; - - LPSTR lpsz = new CHAR[cch]; - - if(lpsz == NULL) - return NULL; - - cch = WideCharToMultiByte(CP_ACP, 0, lpwsz, cchIn, lpsz, cch, NULL, NULL); - - if(cch <= 0) - { - FreeLpsz(lpsz); - return NULL; - } - - return lpsz; -} - -LPSTR BstrToLpsz(BSTR bstr) -{ - return AllocLpsz(bstr, SysStringLen(bstr)); -} - -BSTR LpszToBstr(LPSTR lpsz) -{ - int cch = MultiByteToWideChar(CP_ACP, 0, lpsz, -1, NULL, 0); - - if(cch <= 0) - return NULL; - - BSTR bstr = SysAllocStringLen(NULL, cch); - - if(bstr == NULL) - return NULL; - - cch = MultiByteToWideChar(CP_ACP, 0, lpsz, -1, bstr, cch); - - if(cch <= 0) - { - SysFreeString(bstr); - return NULL; - } - - return bstr; -} - -} - -namespace -{ - -template T aligndown(const T& X, const U& align) -{ - return X & ~(T(align) - 1); -} - -template T alignup(const T& X, const U& align) -{ - return aligndown(X + (align - 1), align); -} - -/* Convert between bitmap formats */ -uint8 * win32_convert_scanlines(int width, int height, int bitcount, int fromalign, int toalign, const uint8 * data, uint8 ** buffer) -{ - // TBD: profile & optimize the most common cases - assert(width > 0); - assert(height); - assert(bitcount && bitcount <= 32); - assert(fromalign <= toalign); - assert(data); - assert(buffer); - - bool flipped = height < 0; - - if(flipped) - height = - height; - - int bytesperrow = alignup(width * bitcount, 8) / 8; - int fromstride = alignup(bytesperrow, fromalign); - int tostride = alignup(bytesperrow, toalign); - assert(fromstride <= tostride); - - int datasize = tostride * height; - - uint8 * dibits = new uint8[datasize]; - - const uint8 * src = data; - uint8 * dest = dibits; - - const int pad = tostride - fromstride; - - assert(pad < 4); - __assume(pad < 4); - - if(flipped) - { - dest += (height - 1) * tostride; - tostride = - tostride; - } - - for(int i = 0; i < height; ++ i) - { - memcpy(dest, src, fromstride); - memset(dest + fromstride, 0, pad); - src += fromstride; - dest += tostride; - } - - *buffer = dibits; - return dibits; -} - -/* Creates bitmaps */ -HBITMAP win32_create_dib(LONG width, LONG height, WORD bitcount, const BYTE * data) -{ - struct b_ - { - BITMAPINFO bmi; - RGBQUAD colormap[256 - ARRAYSIZE(RTL_FIELD_TYPE(BITMAPINFO, bmiColors))]; - } - b; - - b.bmi.bmiHeader.biSize = sizeof(b.bmi.bmiHeader); - b.bmi.bmiHeader.biWidth = width; - b.bmi.bmiHeader.biHeight = height; - b.bmi.bmiHeader.biPlanes = 1; - b.bmi.bmiHeader.biBitCount = bitcount; - b.bmi.bmiHeader.biCompression = BI_RGB; - b.bmi.bmiHeader.biSizeImage = 0; - b.bmi.bmiHeader.biXPelsPerMeter = 0; - b.bmi.bmiHeader.biYPelsPerMeter = 0; - - if(bitcount > 8) - { - b.bmi.bmiHeader.biClrUsed = 0; - b.bmi.bmiHeader.biClrImportant = 0; - } - else - { - b.bmi.bmiHeader.biClrUsed = 2 << bitcount; - b.bmi.bmiHeader.biClrImportant = 2 << bitcount; - - // TODO: palette - } - - // FIXME: beyond ugly - HDC hdc = CreateCompatibleDC(NULL); - - if(hdc == NULL) - return NULL; - - HBITMAP hbm = CreateDIBitmap(hdc, &b.bmi.bmiHeader, CBM_INIT, data, &b.bmi, DIB_RGB_COLORS); - - if(hbm == NULL) - error("CreateDIBitmap %dx%dx%d failed\n", width, height, bitcount); - - DeleteDC(hdc); - return hbm; -} - -/* Creates brushes */ -HBRUSH win32_create_brush(BRUSH * brush, COLORREF fgcolour) -{ - if(brush == NULL) - return (HBRUSH)GetStockObject(NULL_BRUSH); - - switch(brush->style) - { - case BS_SOLID: - case BS_NULL: - case BS_HATCHED: - case BS_PATTERN: - case BS_PATTERN8X8: - break; - - default: - return NULL; - } - - switch(brush->style) - { - case BS_SOLID: - return CreateSolidBrush(fgcolour); - - case BS_HATCHED: - return CreateHatchBrush(brush->pattern[0], fgcolour); - - case BS_NULL: - return (HBRUSH)GetStockObject(NULL_BRUSH); - - case BS_PATTERN: - case BS_PATTERN8X8: - { - uint16 pattern[8]; - - for(size_t i = 0; i < 8; ++ i) - pattern[i] = brush->pattern[i]; - - HBITMAP hpattern = CreateBitmap(8, 8, 1, 1, pattern); - HBRUSH hbr = CreatePatternBrush(hpattern); - DeleteObject(hpattern); - return hbr; - } - - DEFAULT_UNREACHABLE; - } -} -}; - -/* - "sealed" can improve optimizations by asserting a class cannot be derived - from, optimizing out accesses to the v-table from inside the class -*/ -#if defined(_MSC_VER) && _MSC_VER >= 1400 -#define SEALED_ sealed -#else -#define SEALED_ -#endif - - -/* Class that implements the RDP client GUI */ -class RdpClientUI -{ -public: - // TODO: pass the client settings relevant to the GUI here - HRESULT Initialize(HWND hwndParent) - { - // TODO: create the various windows - // TODO: create display window thread - // TODO: create input thread - return E_FAIL; - } - -public: - static BOOL Startup() - { - WNDCLASSEX wcexUI = { sizeof(wcexUI) }; - WNDCLASSEX wcexConsole = { sizeof(wcexConsole) }; - WNDCLASSEX wcexDisplay = { sizeof(wcexDisplay) }; - WNDCLASSEX wcexInput = { sizeof(wcexInput) }; - - HBRUSH nullBrush = (HBRUSH)GetStockObject(HOLLOW_BRUSH); - - wcexUI.lpfnWndProc = NULL; // TODO - wcexUI.hInstance = GetCurrentModule(); - wcexUI.hCursor = LoadCursor(NULL, IDC_ARROW); - wcexUI.hbrBackground = nullBrush; - wcexUI.lpszClassName = TEXT("MissTosca_UI"); - - wcexConsole.style = CS_VREDRAW | CS_HREDRAW; - wcexConsole.lpfnWndProc = NULL; // TODO - wcexConsole.hInstance = GetCurrentModule(); - wcexConsole.hCursor = LoadCursor(NULL, IDC_ARROW); - wcexConsole.hbrBackground = nullBrush; - wcexConsole.lpszClassName = TEXT("MissTosca_Console"); - - wcexDisplay.style = CS_VREDRAW | CS_HREDRAW; - wcexDisplay.lpfnWndProc = NULL; // TODO - wcexDisplay.hInstance = GetCurrentModule(); - wcexDisplay.hCursor = LoadCursor(NULL, IDC_ARROW); - wcexDisplay.hbrBackground = nullBrush; - wcexDisplay.lpszClassName = TEXT("MissTosca_Display"); - - wcexInput.style = CS_VREDRAW | CS_HREDRAW; - wcexInput.lpfnWndProc = NULL; // TODO - wcexInput.hInstance = GetCurrentModule(); - wcexInput.hCursor = NULL; - wcexInput.hbrBackground = nullBrush; - wcexInput.lpszClassName = TEXT("MissTosca_Input"); - - return - RegisterClassEx(&wcexUI) && - RegisterClassEx(&wcexConsole) && - RegisterClassEx(&wcexDisplay) && - RegisterClassEx(&wcexInput); - } - - static void Shutdown() - { - // TODO - } - - /* - This is the main UI window. It's the direct child of the control - window, it fills its whole extent and it contains the scrollbars. - When activated, it will move keyboard focus to the input window - */ -private: - HWND m_uiWindow; - LONG m_scrollHPos; - LONG m_scrollVPos; - - LRESULT UIWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) - { - switch(uMsg) - { - // Keep the keyboard focus on the input window - case WM_ACTIVATE: - switch(LOWORD(wParam)) - { - case WA_INACTIVE: - break; - - case WA_ACTIVE: - case WA_CLICKACTIVE: - if(!HIWORD(wParam)) - SetFocus(m_inputWindow); - } - - return 0; - - // Resized: rearrange children windows, adjust scrollbars - case WM_SIZE: - { - if(IsIconic(m_uiWindow)) - break; - - RECT rcClient; - GetWindowRect(m_uiWindow, &rcClient); - - if(m_smartSizing) - { - // we are not supposed to maintain aspect ratio. Container has to do that - m_consoleX = 0; - m_consoleY = 0; - m_consoleWidth = rcClient.right; - m_consoleHeight = rcClient.bottom; - } - else - { - // center horizontally, no horizontal scrollbar - if(rcClient.right >= m_consoleWidth) - m_consoleX = (m_consoleWidth - rcClient.right) / 2; - - // center vertically, no vertical scrollbar - if(rcClient.bottom >= m_consoleHeight) - m_consoleY = (m_consoleHeight - rcClient.right) / 2; - } - - SCROLLINFO scroll = { sizeof(scroll), SIF_ALL, 0 }; - - // update the horizontal scrollbar - scroll.nMax = m_consoleWidth; - scroll.nPage = rcClient.right; - scroll.nPos = 0 - m_consoleX; - SetScrollInfo(m_uiWindow, SB_HORZ, &scroll, TRUE); - - // update the vertical scrollbar - scroll.nMax = m_consoleHeight; - scroll.nPage = rcClient.bottom; - scroll.nPos = 0 - m_consoleY; - SetScrollInfo(m_uiWindow, SB_VERT, &scroll, TRUE); - - // move/resize the console window - MoveWindow(m_consoleWindow, m_consoleX, m_consoleY, m_consoleWidth, m_consoleHeight, TRUE); - } - - return 0; - - case WM_HSCROLL: - { - SCROLLINFO scroll = { sizeof(scroll), SIF_TRACKPOS }; - GetScrollInfo(m_uiWindow, SB_HORZ, &scroll); - m_consoleX = - scroll.nTrackPos; - MoveWindow(m_consoleWindow, m_consoleX, m_consoleY, m_consoleWidth, m_consoleHeight, TRUE); - } - - return 0; - - case WM_VSCROLL: - { - SCROLLINFO scroll = { sizeof(scroll), SIF_TRACKPOS }; - GetScrollInfo(m_uiWindow, SB_VERT, &scroll); - m_consoleY = - scroll.nTrackPos; - MoveWindow(m_consoleWindow, m_consoleX, m_consoleY, m_consoleWidth, m_consoleHeight, TRUE); - } - - return 0; - - default: - break; - } - - return DefWindowProc(m_uiWindow, uMsg, wParam, lParam); - } - - /* - This is the full-screen title bar. It's displayed at the top of the - main UI window while in full-screen mode, and it contains two toolbars - with the pin, minimize, restore and close buttons - */ - HWND m_fullScreenBarWindow; - - /* - This is the console window. It has the same extent as the display on - the remote computer, or it fills the UI window in smart resizing mode, - and it contains the input and display windows - */ -private: - HWND m_consoleWindow; - LONG m_consoleX; - LONG m_consoleY; - LONG m_consoleWidth; - LONG m_consoleHeight; - bool m_smartSizing; - - LRESULT ConsoleWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) - { - switch(uMsg) - { - case WM_SIZE: - { - RECT rcClient; - GetClientRect(m_consoleWindow, &rcClient); - - MoveWindow(m_inputWindow, 0, 0, rcClient.right, rcClient.bottom, TRUE); - MoveWindow(m_displayWindow, 0, 0, rcClient.right, rcClient.bottom, TRUE); - } - - return 0; - - default: - break; - } - - return DefWindowProc(m_consoleWindow, uMsg, wParam, lParam); - } - - /* - This is the display window. It represents the virtual display of the - remote computer. It completely fills its parent, the console window, - and it runs in its own thread for performance reasons - */ -private: - HWND m_displayWindow; - LONG m_displayBufferWidth; - LONG m_displayBufferHeight; - HDC m_displayBuffer; - void * m_displayBufferRaw; - int m_displayBufferSave; - int m_displayBufferBitDepth; - int m_displayBufferByteDepth; - int m_displayBufferStride; - RECT m_displayBufferClip; - CRITICAL_SECTION m_displayBufferMutex; - - LRESULT DisplayWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) - { - switch(uMsg) - { - case WM_DESTROY: - PostQuitMessage(0); - return 0; - - case WM_PRINTCLIENT: - if(wParam == 0) - break; - - case WM_PAINT: - { - HDC hdc = (HDC)wParam; - - EnterCriticalSection(&m_displayBufferMutex); - - if(hdc) - { - RECT rc; - GetClientRect(m_displayWindow, &rc); - BitBlt(hdc, 0, 0, rc.right, rc.bottom, m_displayBuffer, 0, 0, SRCCOPY); - } - else - { - PAINTSTRUCT ps; - hdc = BeginPaint(m_displayWindow, &ps); - - if(!m_smartSizing) - { - BitBlt - ( - hdc, - ps.rcPaint.left, - ps.rcPaint.top, - ps.rcPaint.right - ps.rcPaint.left, - ps.rcPaint.bottom - ps.rcPaint.top, - m_displayBuffer, - ps.rcPaint.left, - ps.rcPaint.top, - SRCCOPY - ); - } - else - { - // bleh. There has to be a better way - SetStretchBltMode(hdc, HALFTONE); - - StretchBlt - ( - hdc, - 0, - 0, - m_consoleWidth, - m_consoleHeight, - m_displayBuffer, - 0, - 0, - m_displayBufferWidth, - m_displayBufferHeight, - SRCCOPY - ); - } - - EndPaint(m_displayWindow, &ps); - } - - LeaveCriticalSection(&m_displayBufferMutex); - } - - return 0; - - default: - break; - } - - return DefWindowProc(m_displayWindow, uMsg, wParam, lParam); - } - - /* Screen repainting */ - void Display_RepaintRect(const RECT * lprc) - { - if(m_smartSizing) - return Display_RepaintAll(); - - RECT rcDamage; - IntersectRect(&rcDamage, lprc, &m_displayBufferClip); - InvalidateRect(m_displayWindow, &rcDamage, FALSE); - } - - void Display_RepaintArea(int x, int y, int cx, int cy) - { - if(m_smartSizing) - return Display_RepaintAll(); - - RECT rcDamage; - rcDamage.left = x; - rcDamage.top = y; - rcDamage.right = x + cx; - rcDamage.bottom = y + cy; - Display_RepaintRect(&rcDamage); - } - - void Display_RepaintPolygon(POINT * point, int npoints, int linewidth) - { - if(m_smartSizing) - return Display_RepaintAll(); - - RECT rcDamage; - - rcDamage.left = MAXLONG; - rcDamage.top = MAXLONG; - rcDamage.right = 0; - rcDamage.bottom = 0; - - for(int i = 0; i < npoints; ++ i) - { - if(point[i].x < rcDamage.left) - rcDamage.left = point[i].x; - - if(point[i].y < rcDamage.top) - rcDamage.top = point[i].y; - - if(point[i].x > rcDamage.right) - rcDamage.right = point[i].x; - - if(point[i].y > rcDamage.bottom) - rcDamage.bottom = point[i].y; - } - - InflateRect(&rcDamage, linewidth, linewidth); - Display_RepaintRect(&rcDamage); - } - - void Display_RepaintAll() - { - InvalidateRgn(m_displayWindow, NULL, FALSE); - } - -public: - void Display_SetClip(int x, int y, int cx, int cy) - { - m_displayBufferClip.left = x; - m_displayBufferClip.top = y; - m_displayBufferClip.right = x + cx + 1; - m_displayBufferClip.bottom = y + cy + 1; - - HRGN hrgn = CreateRectRgnIndirect(&m_displayBufferClip); - SelectClipRgn(m_displayBuffer, hrgn); - DeleteObject(hrgn); - } - - void Display_ResetClip() - { - m_displayBufferClip.left = 0; - m_displayBufferClip.top = 0; - m_displayBufferClip.right = m_displayBufferWidth; - m_displayBufferClip.bottom = m_displayBufferHeight; - SelectClipRgn(m_displayBuffer, NULL); - } - - void Display_PaintBitmap(int x, int y, int cx, int cy, int width, int height, uint8 * data) - { - GdiFlush(); - - int fromstride = alignup(width * m_displayBufferByteDepth, 4); - int sizex = cx * m_displayBufferByteDepth; - - const uint8 * src = data; - - uint8 * dst = - (uint8 *)m_displayBufferRaw + - (m_displayBufferHeight - y - cy) * m_displayBufferStride + - x * m_displayBufferByteDepth; - - for(int i = 0; i < cy; ++ i) - { - memcpy(dst, src, sizex); - src += fromstride; - dst += m_displayBufferStride; - } - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_DestBlt(uint8 opcode, int x, int y, int cx, int cy) - { - int dcsave = SaveDC(m_displayBuffer); - SelectObject(m_displayBuffer, GetStockObject(BLACK_BRUSH)); - PatBlt(m_displayBuffer, x, y, cx, cy, MAKELONG(0, opcode)); - RestoreDC(m_displayBuffer, dcsave); - Display_RepaintArea(x, y, cx, cy); - } - - void Display_PatBlt(uint8 opcode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour, int fgcolour) - { - HBRUSH hbr = win32_create_brush(brush, fgcolour); - - int dcsave = SaveDC(m_displayBuffer); - - SetBkColor(m_displayBuffer, bgcolour); - SetTextColor(m_displayBuffer, fgcolour); - SetBrushOrgEx(m_displayBuffer, brush->xorigin, brush->yorigin, NULL); - SelectObject(m_displayBuffer, hbr); - - PatBlt(m_displayBuffer, x, y, cx, cy, MAKELONG(0, opcode)); - - RestoreDC(m_displayBuffer, dcsave); - - DeleteObject(hbr); - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_ScreenBlt(uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy) - { - BitBlt(m_displayBuffer, x, y, cx, cy, m_displayBuffer, srcx, srcy, MAKELONG(0, opcode)); - Display_RepaintArea(x, y, cx, cy); - } - - void Display_MemBlt(uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy) - { - HDC hdcSrc = CreateCompatibleDC(m_displayBuffer); - HGDIOBJ hOld = SelectObject(hdcSrc, src); - - BitBlt(m_displayBuffer, x, y, cx, cy, hdcSrc, srcx, srcy, MAKELONG(0, opcode)); - - SelectObject(hdcSrc, hOld); - DeleteDC(hdcSrc); - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_TriBlt(uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy, BRUSH * brush, int bgcolour, int fgcolour) - { - // TODO - HDC hdcSrc = CreateCompatibleDC(m_displayBuffer); - HGDIOBJ hOld = SelectObject(hdcSrc, src); - - //SELECT_BRUSH(brush, bgcolour, fgcolour); - - BitBlt(m_displayBuffer, x, y, cx, cy, hdcSrc, srcx, srcy, MAKELONG(0, opcode)); - - //RESET_BRUSH(); - - SelectObject(hdcSrc, hOld); - DeleteDC(hdcSrc); - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_Line(uint8 opcode, int startx, int starty, int endx, int endy, PEN * pen) - { - HPEN hpen = CreatePen(pen->style, pen->width, pen->colour); - - int dcsave = SaveDC(m_displayBuffer); - - SetROP2(m_displayBuffer, opcode); - SelectObject(m_displayBuffer, hpen); - MoveToEx(m_displayBuffer, startx, starty, NULL); - - LineTo(m_displayBuffer, endx, endy); - - RestoreDC(m_displayBuffer, dcsave); - - DeleteObject(hpen); - - RECT rcDamage; - - if(startx < endx) - { - rcDamage.left = startx; - rcDamage.right = endx; - } - else - { - rcDamage.left = endx; - rcDamage.right = startx; - } - - if(starty < endy) - { - rcDamage.top = starty; - rcDamage.bottom = endy; - } - else - { - rcDamage.top = endy; - rcDamage.bottom = starty; - } - - InflateRect(&rcDamage, pen->width, pen->width); - Display_RepaintRect(&rcDamage); - } - - void Display_Rect(int x, int y, int cx, int cy, int colour) - { - HBRUSH hbr = CreateSolidBrush(colour); - - int dcsave = SaveDC(m_displayBuffer); - - SelectObject(m_displayBuffer, hbr); - SelectObject(m_displayBuffer, GetStockObject(NULL_PEN)); - - Rectangle(m_displayBuffer, x, y, x + cx + 1, y + cy + 1); - - RestoreDC(m_displayBuffer, dcsave); - - DeleteObject(hbr); - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_Polygon(uint8 opcode, uint8 fillmode, POINT * point, int npoints, BRUSH * brush, int bgcolour, int fgcolour) - { - HBRUSH hbr = win32_create_brush(brush, fgcolour); - - int dcsave = SaveDC(m_displayBuffer); - - SetBkColor(m_displayBuffer, bgcolour); - SetTextColor(m_displayBuffer, fgcolour); - SetPolyFillMode(m_displayBuffer, fillmode); - SelectObject(m_displayBuffer, hbr); - - Polygon(m_displayBuffer, point, npoints); - - RestoreDC(m_displayBuffer, dcsave); - - Display_RepaintPolygon(point, npoints, 0); - } - - void Display_Polyline(uint8 opcode, POINT * points, int npoints, PEN * pen) - { - POINT last = points[0]; - - for(int i = 1; i < npoints; ++ i) - { - points[i].x += last.x; - points[i].y += last.y; - last = points[i]; - } - - HPEN hpen = CreatePen(pen->style, pen->width, pen->colour); - - int dcsave = SaveDC(m_displayBuffer); - - SetROP2(m_displayBuffer, opcode); - SelectObject(m_displayBuffer, hpen); - - Polyline(m_displayBuffer, points, npoints); - - RestoreDC(m_displayBuffer, dcsave); - - DeleteObject(hpen); - - Display_RepaintPolygon(points, npoints, pen->width); - } - - void Display_Ellypse(uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour, int fgcolour) - { - // TODO - - Display_RepaintArea(x, y, cx, cy); - } - - // TBD: optimize text drawing - void Display_DrawGlyph(int mixmode, int x, int y, int cx, int cy, HGLYPH glyph, int srcx, int srcy, int bgcolour, int fgcolour) - { - HBITMAP hbmGlyph = (HBITMAP)glyph; - HDC hdcGlyph = CreateCompatibleDC(m_displayBuffer); - HGDIOBJ hOld = SelectObject(hdcGlyph, hbmGlyph); - - int dcsave = SaveDC(m_displayBuffer); - - switch(mixmode) - { - case MIX_TRANSPARENT: - { - /* - ROP is DSPDxax: - - where the glyph (S) is white, D is set to the foreground color (P) - - where the glyph (S) is black, D is left untouched - - This paints a transparent glyph in the specified color - */ - HBRUSH hbr = CreateSolidBrush(fgcolour); - SelectObject(m_displayBuffer, hbr); - BitBlt(m_displayBuffer, x, y, cx, cy, hdcGlyph, srcx, srcy, MAKELONG(0, 0xe2)); - DeleteObject(hbr); - } - - break; - - case MIX_OPAQUE: - { - /* Curiously, glyphs are inverted (white-on-black) */ - SetBkColor(m_displayBuffer, fgcolour); - SetTextColor(m_displayBuffer, bgcolour); - BitBlt(m_displayBuffer, x, y, cx, cy, hdcGlyph, srcx, srcy, SRCCOPY); - } - - break; - } - - RestoreDC(m_displayBuffer, dcsave); - - SelectObject(hdcGlyph, hOld); - DeleteDC(hdcGlyph); - - Display_RepaintArea(x, y, cx, cy); - } - - void Display_DoGlyph(uint8 font, uint8 flags, int mixmode, int& x, int& y, int bgcolour, int fgcolour, const uint8 * ttext, int& idx) - { - FONTGLYPH * glyph; - - glyph = cache_get_font(/*This*/NULL, font, ttext[idx]); - - if(!(flags & TEXT2_IMPLICIT_X)) - { - int xyoffset = ttext[++ idx]; - - if((xyoffset & 0x80)) - { - if (flags & TEXT2_VERTICAL) - y += ttext[idx + 1] | (ttext[idx + 2] << 8); - else - x += ttext[idx + 1] | (ttext[idx + 2] << 8); - - idx += 2; - } - else - { - if (flags & TEXT2_VERTICAL) - y += xyoffset; - else - x += xyoffset; - } - } - - if(glyph) - { - Display_DrawGlyph - ( - mixmode, - x + (short)glyph->offset, - y + (short)glyph->baseline, - glyph->width, - glyph->height, - glyph->pixmap, - 0, - 0, - bgcolour, - fgcolour - ); - - if(flags & TEXT2_IMPLICIT_X) - x += glyph->width; - } - } - - void Display_DrawText - ( - uint8 font, - uint8 flags, - uint8 opcode, - int mixmode, - int x, - int y, - int clipx, - int clipy, - int clipcx, - int clipcy, - int boxx, - int boxy, - int boxcx, - int boxcy, - BRUSH * brush, - int bgcolour, - int fgcolour, - uint8 * text, - uint8 length - ) - { - int i, j; - DATABLOB *entry; - - HBRUSH hbr = CreateSolidBrush(bgcolour); - HGDIOBJ holdbrush = SelectObject(m_displayBuffer, hbr); - HGDIOBJ holdpen = SelectObject(m_displayBuffer, GetStockObject(NULL_PEN)); - - if (boxcx > 1) - Rectangle(m_displayBuffer, boxx, boxy, boxx + boxcx + 1, boxy + boxcy + 1); - else if (mixmode == MIX_OPAQUE) - Rectangle(m_displayBuffer, clipx, clipy, clipx + clipcx + 1, clipy + clipcy + 1); - - SelectObject(m_displayBuffer, holdpen); - SelectObject(m_displayBuffer, holdbrush); - - DeleteObject(hbr); - - if(boxcx > 1) - Display_RepaintArea(boxx, boxy, boxcx, boxcy); - else - Display_RepaintArea(clipx, clipy, clipcx, clipcy); - - /* Paint text, character by character */ - for (i = 0; i < length;) - { - switch (text[i]) - { - case 0xff: - /* At least two bytes needs to follow */ - if (i + 3 > length) - { - warning("Skipping short 0xff command:"); - for (j = 0; j < length; j++) - fprintf(stderr, "%02x ", text[j]); - fprintf(stderr, "\n"); - i = length = 0; - break; - } - cache_put_text(NULL /* TODO */, text[i + 1], text, text[i + 2]); - i += 3; - length -= i; - /* this will move pointer from start to first character after FF command */ - text = &(text[i]); - i = 0; - break; - - case 0xfe: - /* At least one byte needs to follow */ - if (i + 2 > length) - { - warning("Skipping short 0xfe command:"); - for (j = 0; j < length; j++) - fprintf(stderr, "%02x ", text[j]); - fprintf(stderr, "\n"); - i = length = 0; - break; - } - entry = cache_get_text(/*This*/NULL, text[i + 1]); - if (entry->data != NULL) - { - if ((((uint8 *) (entry->data))[1] == 0) - && (!(flags & TEXT2_IMPLICIT_X)) && (i + 2 < length)) - { - if (flags & TEXT2_VERTICAL) - y += text[i + 2]; - else - x += text[i + 2]; - } - for (j = 0; j < entry->size; j++) - Display_DoGlyph(font, flags, mixmode, x, y, bgcolour, fgcolour, ((uint8 *) (entry->data)), j); - } - if (i + 2 < length) - i += 3; - else - i += 2; - length -= i; - /* this will move pointer from start to first character after FE command */ - text = &(text[i]); - i = 0; - break; - - default: - Display_DoGlyph(font, flags, mixmode, x, y, bgcolour, fgcolour, text, i); - i++; - break; - } - } - } - - void Display_SaveDesktop(uint32 offset, int x, int y, int cx, int cy) - { - GdiFlush(); - - uint8 * data = - (uint8 *)m_displayBufferRaw + - x * m_displayBufferByteDepth + - (m_displayBufferHeight - y - cy) * m_displayBufferStride; - - cache_put_desktop - ( - /*This*/NULL, - offset * m_displayBufferByteDepth, - cx, - cy, - m_displayBufferStride, - m_displayBufferByteDepth, - data - ); - } - - void Display_RestoreDesktop(uint32 offset, int x, int y, int cx, int cy) - { - int fromstride = cx * m_displayBufferByteDepth; - - const uint8 * src = cache_get_desktop(/*This*/NULL, offset, cx, cy, m_displayBufferByteDepth); - - uint8 * dst = - (uint8 *)m_displayBufferRaw + - x * m_displayBufferByteDepth + - (m_displayBufferHeight - y - cy) * m_displayBufferStride; - - GdiFlush(); - - for(int i = 0; i < cy; ++ i) - { - memcpy(dst, src, fromstride); - src += fromstride; - dst += m_displayBufferStride; - } - - Display_RepaintArea(x, y, cx, cy); - } - - - void Display_BeginUpdate() - { - EnterCriticalSection(&m_displayBufferMutex); - m_displayBufferSave = SaveDC(m_displayBuffer); - } - - void Display_EndUpdate() - { - RestoreDC(m_displayBuffer, m_displayBufferSave); - LeaveCriticalSection(&m_displayBufferMutex); - } - - /* - This is the input window. It receives the keyboard and mouse input from - the user, and it's the only window that can receive the keyboard focus. - It completely fills its parent, the console window, and it runs in its - own thread for performance reasons and because of technical reasons - involving keyboard hooks in full-screen mode - */ - HWND m_inputWindow; - HCURSOR m_inputCursor; - - LRESULT InputWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) - { - switch(uMsg) - { - case WM_DESTROY: - PostQuitMessage(0); - return 0; - - /* Keyboard stuff */ - // TODO: we need a good way to post output cross-thread - case WM_SYSKEYDOWN: - case WM_KEYDOWN: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_SCANCODE, RDP_KEYPRESS | (lparam & 0x1000000 ? KBD_FLAG_EXT : 0), LOBYTE(HIWORD(lparam)), 0); - break; - - case WM_SYSKEYUP: - case WM_KEYUP: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_SCANCODE, RDP_KEYRELEASE | (lparam & 0x1000000 ? KBD_FLAG_EXT : 0), LOBYTE(HIWORD(lparam)), 0); - break; - - /* Mouse stuff */ - // Cursor shape - case WM_SETCURSOR: - if(LOWORD(lParam) == HTCLIENT) - { - SetCursor(m_inputCursor); - return TRUE; - } - - break; - - // Movement - case WM_MOUSEMOVE: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_MOVE, LOWORD(lparam), HIWORD(lparam)); - break; - - // Buttons - // TODO: X buttons - case WM_LBUTTONDOWN: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON1 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_RBUTTONDOWN: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON2 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_MBUTTONDOWN: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON3 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_LBUTTONUP: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON1, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_RBUTTONUP: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON2, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_MBUTTONUP: - //rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON3, LOWORD(lparam), HIWORD(lparam)); - break; - - // Wheel - case WM_MOUSEWHEEL: - //mstsc_mousewheel(This, (SHORT)HIWORD(wparam), lparam); - break; - } - - return DefWindowProc(m_inputWindow, uMsg, wParam, lParam); - } - -public: -}; - -#pragma warning(push) -#pragma warning(disable: 4584) - -/* The ActiveX control */ -class RdpClient SEALED_: - /* COM basics */ - public IUnknown, - public IDispatch, - - /* ActiveX stuff */ - public IConnectionPointContainer, - public IDataObject, - public IObjectSafety, - public IOleControl, - public IOleInPlaceActiveObject, - public IOleInPlaceObject, - public IOleObject, - public IOleWindow, - public IPersist, - public IPersistPropertyBag, - public IPersistStorage, - public IPersistStreamInit, - public IProvideClassInfo, - public IProvideClassInfo2, - public IQuickActivate, - public IViewObject, - public IViewObject2, - - // NOTE: the original has a vestigial, non-functional implementation of this, which we omit - // ISpecifyPropertyPages - - // Hidden interfaces, not available through QueryInterface - public IConnectionPoint, - - /* RDP client interface */ - public MSTSCLib::IMsRdpClient4, - public MSTSCLib::IMsRdpClientNonScriptable2 - - // NOTE: implemented by inner classes due to requiring distinct IDispatch implementations - // IMsRdpClientAdvancedSettings4 - // IMsRdpClientSecuredSettings -{ -private: - /* An endless amount of COM glue */ - // Reference counting - LONG m_refCount; - -#ifdef _DEBUG - DWORD m_apartmentThreadId; - - bool InsideApartment() const - { - return GetCurrentThreadId() == m_apartmentThreadId; - } -#endif - - // Aggregation support - IUnknown * m_punkOuter; - - class RdpClientInner: public IUnknown - { - private: - RdpClient * Outer() - { - return InnerToOuter(this); - } - - public: - virtual STDMETHODIMP IUnknown::QueryInterface(REFIID riid, void ** ppvObject) - { - return Outer()->queryInterface(riid, ppvObject); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() - { - return Outer()->addRef(); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::Release() - { - return Outer()->release(); - } - - } - m_inner; - - // Persistence support - CLSID m_classId; - - // Late binding support - unsigned m_typeLibIndex; - ITypeLib * m_typeLib; - ITypeInfo * m_dispTypeInfo; - - // Event sinks - size_t m_EventSinksCount; - - union - { - MSTSCLib::IMsTscAxEvents * m_EventSinksStatic[1]; - MSTSCLib::IMsTscAxEvents ** m_EventSinks; - }; - - // OLE control glue - HWND m_controlWindow; - IOleClientSite * m_clientSite; - IOleInPlaceSite * m_inPlaceSite; - IOleAdviseHolder * m_adviseHolder; - LONG m_freezeEvents; - bool m_uiActive; - - // UrlMon security - DWORD m_SafetyOptions; - - bool IsSafeForScripting() const - { - return m_SafetyOptions & INTERFACESAFE_FOR_UNTRUSTED_CALLER; - } - - /* Glue to interface to rdesktop-core */ - RdpClientUI * m_clientUI; - RDPCLIENT m_protocolState; - HANDLE m_protocolThread; - HANDLE m_protocolThreadWaitingReconnection; - bool m_reconnectAborted; - bool m_actuallyConnected; - bool m_loggedIn; - - /* Properties */ - // Storage fields - // NOTE: keep sorted by alignment (pointers and handles, integers, enumerations, booleans) - BSTR m_Domain; - BSTR m_UserName; - BSTR m_DisconnectedText; - BSTR m_ConnectingText; - BSTR m_FullScreenTitle; - BSTR m_StartProgram; - BSTR m_WorkDir; - BSTR m_ConnectedStatusText; - BSTR m_ClearTextPassword; // FIXME! dangerous, shouldn't store in cleartext! - BSTR m_RdpdrLocalPrintingDocName; - BSTR m_RdpdrClipCleanTempDirString; - BSTR m_RdpdrClipPasteInfoString; - BSTR m_KeyboardLayoutString; - LPSTR m_Server; - LPSTR m_LoadBalanceInfo; - // TODO: plugin DLLs - HWND m_UIParentWindowHandle; - long m_DesktopWidth; - long m_DesktopHeight; - long m_StartConnected; - long m_ColorDepth; - long m_KeyboardHookMode; - long m_AudioRedirectionMode; - long m_TransportType; - long m_SasSequence; - long m_RDPPort; - long m_HotKeyFullScreen; - long m_HotKeyAltEsc; - long m_HotKeyAltShiftTab; - long m_HotKeyAltSpace; - long m_HotKeyAltTab; - long m_HotKeyCtrlAltDel; - long m_HotKeyCtrlEsc; - long m_orderDrawThresold; - long m_BitmapCacheSize; - long m_BitmapVirtualCacheSize; - long m_NumBitmapCaches; - long m_brushSupportLevel; - long m_minInputSendInterval; - long m_InputEventsAtOnce; - long m_maxEventCount; - long m_keepAliveInternal; - long m_shutdownTimeout; - long m_overallConnectionTimeout; - long m_singleConnectionTimeout; - long m_MinutesToIdleTimeout; - long m_BitmapVirtualCache16BppSize; - long m_BitmapVirtualCache24BppSize; - long m_PerformanceFlags; - long m_MaxReconnectAttempts; - unsigned int m_AuthenticationLevel; - - MSTSCLib::ExtendedDisconnectReasonCode m_ExtendedDisconnectReason; - - bool m_Connected; - bool m_Compress; - bool m_BitmapPersistence; - bool m_allowBackgroundInput; - bool m_ContainerHandledFullScreen; - bool m_DisableRdpdr; - bool m_SecuredSettingsEnabled; - bool m_FullScreen; - bool m_AcceleratorPassthrough; - bool m_ShadowBitmap; - bool m_EncryptionEnabled; - bool m_DedicatedTerminal; - bool m_DisableCtrlAltDel; - bool m_EnableWindowsKey; - bool m_DoubleClickDetect; - bool m_MaximizeShell; - bool m_ScaleBitmapCachesByBpp; - bool m_CachePersistenceActive; - bool m_ConnectToServerConsole; - bool m_SmartSizing; // FIXME: this can be set while the control is connected - bool m_DisplayConnectionBar; - bool m_PinConnectionBar; - bool m_GrabFocusOnConnect; - bool m_RedirectDrives; - bool m_RedirectPrinters; - bool m_RedirectPorts; - bool m_RedirectSmartCards; - bool m_NotifyTSPublicKey; - bool m_CanAutoReconnect; - bool m_EnableAutoReconnect; - bool m_ConnectionBarShowMinimizeButton; - bool m_ConnectionBarShowRestoreButton; - - // Generic getters/setters - HRESULT GetProperty(BSTR& prop, BSTR * retVal) const - { - assert(InsideApartment()); - - if(retVal == NULL) - return E_POINTER; - - *retVal = SysAllocStringLen(prop, SysStringLen(prop)); - - if(*retVal == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - - HRESULT GetProperty(LPSTR& prop, BSTR * retVal) const - { - assert(InsideApartment()); - - if(retVal == NULL) - return E_POINTER; - - *retVal = LpszToBstr(prop); - - if(*retVal == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - - HRESULT SetProperty(BSTR& prop, BSTR newValue) - { - assert(InsideApartment()); - - if(m_Connected) - return E_FAIL; - - SysFreeString(prop); - - UINT len = SysStringLen(newValue); - - if(len) - { - // no embedded NULs, please - if(len != lstrlenW(newValue)) - return E_INVALIDARG; - - prop = SysAllocStringLen(newValue, len); - - if(prop == NULL) - return E_OUTOFMEMORY; - } - else - prop = NULL; - - return S_OK; - } - - HRESULT ReplaceProperty(BSTR& prop, BSTR newValue) - { - assert(InsideApartment()); - assert((prop == NULL && newValue == NULL) || prop != newValue); - - SysFreeString(prop); - prop = newValue; - return S_OK; - } - - HRESULT SetProperty(LPSTR& prop, BSTR newValue) - { - assert(InsideApartment()); - - if(m_Connected) - return E_FAIL; - - delete[] prop; - - if(SysStringLen(newValue)) - { - prop = BstrToLpsz(newValue); - - if(prop == NULL) - return E_OUTOFMEMORY; - } - else - prop = NULL; - - return S_OK; - } - - HRESULT ReplaceProperty(LPSTR& prop, LPSTR newValue) - { - assert(InsideApartment()); - assert((prop == NULL && newValue == NULL) || prop != newValue); - - if(prop) - delete[] prop; - - prop = newValue; - return S_OK; - } - - template HRESULT SetProperty(bool& prop, const Type& newValue) - { - assert(InsideApartment()); - - if(m_Connected) - return E_FAIL; - - prop = !!newValue; - return S_OK; - } - - template HRESULT SetProperty(Type& prop, const Type& newValue) - { - assert(InsideApartment()); - - if(m_Connected) - return E_FAIL; - - prop = newValue; - return S_OK; - } - - template HRESULT GetProperty(const bool& prop, Type * retVal) const - { - assert(InsideApartment()); - - if(retVal == NULL) - return E_POINTER; - - *retVal = prop ? VARIANT_TRUE : VARIANT_FALSE; - return S_OK; - } - - template HRESULT GetProperty(const Type& prop, Type * retVal) const - { - assert(InsideApartment()); - - if(retVal == NULL) - return E_POINTER; - - *retVal = prop; - return S_OK; - } - - /* Events */ - MSTSCLib::IMsTscAxEvents ** GetSinks() const - { - if(m_EventSinksCount > 1) - return m_EventSinks; - else - return const_cast(m_EventSinksStatic); - } - - // Event freezing - void UnfreezeEvents() - { - // Just in case - } - - // Generic event riser & helpers - void InvokeSinks(DISPID eventId, VARIANTARG rgvarg[], unsigned int cArgs, VARIANTARG * retval) - { - assert(InsideApartment()); - - DISPPARAMS params; - - params.rgvarg = rgvarg; - params.rgdispidNamedArgs = NULL; - params.cArgs = cArgs; - params.cNamedArgs = 0; - - MSTSCLib::IMsTscAxEvents ** sinks = GetSinks(); - - for(size_t i = 0; i < m_EventSinksCount; ++ i) - sinks[i]->Invoke(eventId, IID_NULL, 0, DISPATCH_METHOD, ¶ms, retval, NULL, NULL); - } - - typedef void (RdpClient::* AsyncEventCallback) - ( - DISPID eventId, - VARIANTARG * rgvarg, - unsigned int cArgs, - VARIANTARG * retVal - ); - - void CleanupEventArgumentsCallback - ( - DISPID eventId, - VARIANTARG * rgvarg, - unsigned int cArgs, - VARIANTARG * retVal - ) - { - assert((rgvarg == NULL) == (cArgs == 0)); - - for(unsigned int i = 0; i < cArgs; ++ i) - VariantClear(&rgvarg[i]); - - if(retVal) - VariantClear(retVal); - } - - // synchronous call from inside the apartment that owns the object - void FireEventInsideApartment - ( - DISPID eventId, - VARIANTARG * rgvarg = NULL, - unsigned int cArgs = 0, - VARIANTARG * retval = NULL, - AsyncEventCallback callback = NULL - ) - { - assert(InsideApartment()); - - if(retval == NULL && callback) - { - VARIANTARG localRetval = { }; - retval = &localRetval; - } - - InvokeSinks(eventId, rgvarg, cArgs, retval); - - if(callback) - (this->*callback)(eventId, rgvarg, cArgs, retval); - } - - struct EventArguments - { - DISPID eventId; - VARIANTARG * rgvarg; - unsigned int cArgs; - VARIANTARG * retval; - AsyncEventCallback callback; - }; - - struct RedirectArguments - { - uint32 flags; - uint32 server_len; - wchar_t * server; - uint32 cookie_len; - char * cookie; - uint32 username_len; - wchar_t * username; - uint32 domain_len; - wchar_t * domain; - uint32 password_len; - wchar_t * password; - }; - - enum - { - RDPC_WM_ = WM_USER, - RDPC_WM_SYNC_EVENT, - RDPC_WM_ASYNC_EVENT, - RDPC_WM_DISCONNECT, - RDPC_WM_REQUEST_CLOSE, - RDPC_WM_REDIRECT, - }; - - static VOID CALLBACK DisconnectAPC(ULONG_PTR) - { - // no need to do anything. The interruption will be enough - } - - bool HandleEvent(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& result) - { - result = 0; - - switch(uMsg) - { - /* Regular event to be dispatched to the container's sink */ - case RDPC_WM_SYNC_EVENT: - assert(InSendMessage()); - - case RDPC_WM_ASYNC_EVENT: - { - const EventArguments * eventArgs = reinterpret_cast(lParam); - assert(eventArgs); - - FireEventInsideApartment - ( - eventArgs->eventId, - eventArgs->rgvarg, - eventArgs->cArgs, - eventArgs->retval, - eventArgs->callback - ); - - if(uMsg == RDPC_WM_ASYNC_EVENT) - delete eventArgs; - } - - break; - - /* The protocol thread is about to die: prepare for disconnection */ - case RDPC_WM_DISCONNECT: - { - assert(m_Connected); - assert(InsideApartment()); - assert(InSendMessage()); - - // Unblock the protocol thread and wait for it to terminate - ReplyMessage(0); - JoinProtocolThread(); - - // Finish disconnecting - PerformDisconnect(static_cast(wParam)); - } - - break; - - case RDPC_WM_REDIRECT: - { - assert(InSendMessage()); - assert(lParam); - assert(m_Connected); - assert(m_protocolState.redirect); - - RedirectArguments * redirectArgs = reinterpret_cast(lParam); - - // BUGBUG: this is extremely messy and more prone to out-of-memory than it should be - LPSTR lpszNewServer = NULL; - LPSTR lpszNewCookie = NULL; - BSTR strNewUsername = NULL; - BSTR strNewDomain = NULL; - BSTR strNewPassword = NULL; - HRESULT hr = S_OK; - - for(;;) - { - // Allocate the new properties - hr = E_OUTOFMEMORY; - - // FIXME: convert the hostname to Punycode, not the ANSI codepage - lpszNewServer = AllocLpsz(redirectArgs->server, redirectArgs->server_len / sizeof(OLECHAR)); - - if(lpszNewServer == NULL && redirectArgs->server_len) - break; - - lpszNewCookie = AllocLpsz(redirectArgs->cookie, redirectArgs->cookie_len); - - if(lpszNewCookie == NULL && redirectArgs->cookie_len) - break; - - strNewUsername = SysAllocStringLen(redirectArgs->username, redirectArgs->username_len / sizeof(OLECHAR)); - - if(strNewUsername == NULL && redirectArgs->username_len) - break; - - strNewDomain = SysAllocStringLen(redirectArgs->domain, redirectArgs->domain_len / sizeof(OLECHAR)); - - if(strNewDomain == NULL && redirectArgs->domain_len) - break; - - strNewPassword = SysAllocStringLen(redirectArgs->password, redirectArgs->password_len / sizeof(OLECHAR)); - - if(strNewPassword == NULL && redirectArgs->password_len) - break; - - hr = S_OK; - break; - } - - // Success - if(SUCCEEDED(hr)) - { - // set the new properties - ReplaceProperty(m_Server, lpszNewServer); - ReplaceProperty(m_LoadBalanceInfo, lpszNewCookie); - ReplaceProperty(m_UserName, strNewUsername); - ReplaceProperty(m_Domain, strNewDomain); - ReplaceProperty(m_ClearTextPassword, strNewPassword); - } - // Failure - else - { - // free the buffers - FreeLpsz(lpszNewServer); - FreeLpsz(lpszNewCookie); - SysFreeString(strNewUsername); - SysFreeString(strNewDomain); - SysFreeString(strNewPassword); - - // signal the error - m_protocolState.disconnect_reason = 262; - m_protocolState.redirect = False; - result = -1; - } - } - - break; - - // BUGBUG: this could potentially disconnect an unrelated connection established later... - case RDPC_WM_REQUEST_CLOSE: - { - assert(!InSendMessage()); - - if(m_Connected) - { - // Ask confirmation to the container in case we are logged in - if(m_loggedIn && !FireConfirmClose()) - break; - - // For reentrancy (OnConfirmClose could deviously call Disconnect) - if(m_protocolThread == NULL) - break; - - // Terminate the protocol thread. It will fire the Disconnected event on exit - TerminateProtocolThread(); - } - } - - break; - - default: - return false; - } - - // If the calling thread is blocked, unblock it ASAP - if(InSendMessage()) - ReplyMessage(result); - - return true; - } - - // synchronous call from outside the apartment - void FireEventOutsideApartment - ( - DISPID eventId, - VARIANTARG * rgvarg = NULL, - unsigned int cArgs = 0, - VARIANTARG * retval = NULL, - AsyncEventCallback callback = NULL - ) - { - assert(!InsideApartment()); - EventArguments syncEvent = { eventId, rgvarg, cArgs, retval, callback }; - SendMessage(m_controlWindow, RDPC_WM_SYNC_EVENT, 0, reinterpret_cast(&syncEvent)); - } - - // asynchronous call from outside the apartment - HRESULT FireEventOutsideApartmentAsync - ( - DISPID eventId, - VARIANTARG * rgvarg = NULL, - unsigned int cArgs = 0, - VARIANTARG * retval = NULL, - AsyncEventCallback callback = NULL - ) - { - assert(!InsideApartment()); - - EventArguments * asyncEvent = new EventArguments(); - - if(asyncEvent == NULL) - return E_OUTOFMEMORY; - - asyncEvent->eventId = eventId; - asyncEvent->rgvarg = rgvarg; - asyncEvent->cArgs = cArgs; - asyncEvent->retval = NULL; - - if(!PostMessage(m_controlWindow, RDPC_WM_ASYNC_EVENT, 0, reinterpret_cast(asyncEvent))) - { - delete asyncEvent; - return HRESULT_FROM_WIN32(GetLastError()); - } - - return S_OK; - } - - // Specific events - void FireConnecting() - { - // Source: protocol - FireEventOutsideApartment(1); - } - - void FireConnected() - { - // Source: protocol - FireEventOutsideApartment(2); - } - - void FireLoginComplete() - { - // Source: protocol - FireEventOutsideApartment(3); - } - - void FireDisconnected(long reason) - { - // Source: protocol. Special handling - SendMessage(m_controlWindow, RDPC_WM_DISCONNECT, reason, 0); - } - - void FireEnterFullScreenMode() - { - // Source: UI window - FireEventInsideApartment(5); - } - - void FireLeaveFullScreenMode() - { - // Source: UI window - FireEventInsideApartment(6); - } - - HRESULT FireChannelReceivedData(char (& chanName)[CHANNEL_NAME_LEN + 1], void * chanData, unsigned int chanDataSize) - { - // BUGBUG: what to do when we run out of memory? - - OLECHAR wchanName[ARRAYSIZE(chanName)]; - std::copy(chanName + 0, chanName + ARRAYSIZE(chanName), wchanName); - - BSTR bstrChanName = SysAllocString(wchanName); - - if(bstrChanName == NULL) - return E_OUTOFMEMORY; - - BSTR bstrChanData = SysAllocStringByteLen(NULL, chanDataSize); - - if(bstrChanData == NULL) - { - SysFreeString(bstrChanName); - return E_OUTOFMEMORY; - } - - CopyMemory(bstrChanData, chanData, chanDataSize); - - VARIANTARG args[2] = { }; - - args[1].vt = VT_BSTR; - args[1].bstrVal = bstrChanName; - - args[0].vt = VT_BSTR; - args[0].bstrVal = bstrChanData; - - // Source: protocol - HRESULT hr = FireEventOutsideApartmentAsync(7, args, ARRAYSIZE(args), NULL, &RdpClient::CleanupEventArgumentsCallback); - - if(FAILED(hr)) - CleanupEventArgumentsCallback(7, args, ARRAYSIZE(args), NULL); - - return hr; - } - - void FireRequestGoFullScreen() - { - // Source: UI window - FireEventInsideApartment(8); - } - - void FireRequestLeaveFullScreen() - { - // Source: UI window - FireEventInsideApartment(9); - } - - void FireFatalError(long errorCode) - { - VARIANTARG arg = { }; - - arg.vt = VT_I4; - arg.lVal = errorCode; - - // Source: protocol - FireEventOutsideApartment(10, &arg, 1); - } - - void FireFatalErrorFromApartment(long errorCode) - { - VARIANTARG arg = { }; - - arg.vt = VT_I4; - arg.lVal = errorCode; - - // Source: control - FireEventInsideApartment(10, &arg, 1); - } - - void FireWarning(long warningCode) - { - VARIANTARG arg = { }; - - arg.vt = VT_I4; - arg.lVal = warningCode; - - // Source: protocol - FireEventOutsideApartment(11, &arg, 1); - } - - void FireRemoteDesktopSizeChange(long width, long height) - { - VARIANTARG args[2] = { }; - - args[1].vt = VT_I4; - args[1].lVal = width; - - args[0].vt = VT_I4; - args[0].lVal = height; - - // Source: UI window - FireEventInsideApartment(12, args, ARRAYSIZE(args)); - } - - void FireIdleTimeoutNotification() - { - // Source: input thread - FireEventOutsideApartment(13); - } - - void FireRequestContainerMinimize() - { - // Source: UI window - FireEventInsideApartment(14); - } - - bool FireConfirmClose() - { - VARIANTARG retval = { }; - VARIANT_BOOL allowClose = VARIANT_TRUE; - - retval.vt = VT_BYREF | VT_BOOL; - retval.pboolVal = &allowClose; - - // Source: control - FireEventInsideApartment(15, NULL, 0, &retval); - - return allowClose != VARIANT_FALSE; - } - - HRESULT FireReceivedTSPublicKey(void * publicKey, unsigned int publicKeyLength) - { - assert(m_Connected); - - if(!m_NotifyTSPublicKey) - return S_OK; - - BSTR bstrPublicKey = SysAllocStringByteLen(NULL, publicKeyLength); - - if(bstrPublicKey == NULL) - return E_OUTOFMEMORY; - - CopyMemory(bstrPublicKey, publicKey, publicKeyLength); - - VARIANT_BOOL continueLogon = VARIANT_TRUE; - VARIANTARG arg = { }; - VARIANTARG retval = { }; - - arg.vt = VT_BSTR; - arg.bstrVal = bstrPublicKey; - - retval.vt = VT_BYREF | VT_BOOL; - retval.pboolVal = &continueLogon; - - // Source: protocol - FireEventOutsideApartment(16, &arg, 1, &retval); - - return continueLogon ? S_OK : S_FALSE; - } - - LONG FireAutoReconnecting(long disconnectReason, long attemptCount) - { - LONG continueStatus = MSTSCLib::autoReconnectContinueAutomatic; - VARIANTARG args[2] = { }; - VARIANTARG retval = { }; - - args[1].vt = VT_I4; - args[1].lVal = disconnectReason; - - args[0].vt = VT_I4; - args[0].lVal = attemptCount; - - retval.vt = VT_BYREF | VT_I4; - retval.plVal = &continueStatus; - - // Source: protocol - FireEventOutsideApartment(17, args, ARRAYSIZE(args), &retval); - - return continueStatus; - } - - void FireAuthenticationWarningDisplayed() - { - // Source: protocol - FireEventOutsideApartment(18); - } - - void FireAuthenticationWarningDismissed() - { - // Source: protocol - FireEventOutsideApartment(19); - } - - /* Actual IUnknown implementation */ - HRESULT queryInterface(REFIID riid, void ** ppvObject) - { - IUnknown * pvObject = NULL; - - using namespace MSTSCLib; - - if(riid == IID_IUnknown) - pvObject = static_cast(&m_inner); - else if(riid == IID_IConnectionPointContainer) - pvObject = static_cast(this); - else if(riid == IID_IDataObject) - pvObject = static_cast(this); - else if(riid == IID_IObjectSafety) - pvObject = static_cast(this); - else if(riid == IID_IOleControl) - pvObject = static_cast(this); - else if(riid == IID_IOleInPlaceActiveObject) - pvObject = static_cast(this); - else if(riid == IID_IOleInPlaceObject) - pvObject = static_cast(this); - else if(riid == IID_IOleObject) - pvObject = static_cast(this); - else if(riid == IID_IOleWindow) - pvObject = static_cast(this); - else if(riid == IID_IPersist) - pvObject = static_cast(this); - else if(riid == IID_IPersistPropertyBag) - pvObject = static_cast(this); - else if(riid == IID_IPersistStorage) - pvObject = static_cast(this); - else if(riid == IID_IPersistStreamInit) - pvObject = static_cast(this); - else if(riid == IID_IQuickActivate) - pvObject = static_cast(this); - else if(riid == IID_IViewObject) - pvObject = static_cast(this); - else if(riid == IID_IViewObject2) - pvObject = static_cast(this); - else if(riid == IID_IMsTscAx || riid == MSTSCLib_Redist::IID_IMsTscAx) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClient) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClient2) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClient3) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClient4) - pvObject = static_cast(this); - else if(riid == IID_IMsTscNonScriptable) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClientNonScriptable) - pvObject = static_cast(this); - else if(riid == IID_IMsRdpClientNonScriptable2) - pvObject = static_cast(this); - - *ppvObject = pvObject; - - if(pvObject) - { - pvObject->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - ULONG addRef() - { - return InterlockedIncrement(&m_refCount); - } - - ULONG release() - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - /* Constructor */ - RdpClient(REFCLSID classId, unsigned libIndex, IUnknown * punkOuter): - // COM/OLE internals - m_refCount(0), - m_punkOuter(punkOuter), - m_classId(classId), - m_typeLibIndex(libIndex), - m_typeLib(), - m_dispTypeInfo(), - m_controlWindow(NULL), - m_clientSite(), - m_inPlaceSite(), - m_adviseHolder(), - m_freezeEvents(0), - m_uiActive(false), - m_SafetyOptions(), - -#ifdef _DEBUG - m_apartmentThreadId(GetCurrentThreadId()), -#endif - - // rdesktop-core interface - m_protocolState(), - m_protocolThread(), - - // Properties - m_Server(), - m_Domain(), - m_UserName(), - m_DisconnectedText(), - m_ConnectingText(), - m_FullScreenTitle(), - m_StartProgram(), - m_WorkDir(), - m_LoadBalanceInfo(), - m_ConnectedStatusText(), - m_ClearTextPassword(), - m_RdpdrLocalPrintingDocName(), - m_RdpdrClipCleanTempDirString(), - m_RdpdrClipPasteInfoString(), - m_UIParentWindowHandle(), - m_DesktopWidth(), - m_DesktopHeight(), - m_StartConnected(), - m_ColorDepth(16), - m_KeyboardHookMode(2), - m_AudioRedirectionMode(0), - m_TransportType(1), // BUGBUG: ??? what's this ??? - m_SasSequence(0xAA03), // BUGBUG: ??? what's this ??? - m_RDPPort(3389), - m_HotKeyFullScreen(VK_CANCEL), - m_HotKeyAltEsc(VK_INSERT), - m_HotKeyAltShiftTab(VK_NEXT), - m_HotKeyAltSpace(VK_DELETE), - m_HotKeyAltTab(VK_PRIOR), - m_HotKeyCtrlAltDel(VK_END), - m_HotKeyCtrlEsc(VK_HOME), - m_orderDrawThresold(0), - m_BitmapCacheSize(1500), - m_BitmapVirtualCacheSize(10), - m_brushSupportLevel(), - m_minInputSendInterval(), - m_InputEventsAtOnce(), - m_maxEventCount(), - m_keepAliveInternal(0), - m_shutdownTimeout(10), - m_overallConnectionTimeout(120), - m_singleConnectionTimeout(30), - m_MinutesToIdleTimeout(0), - m_BitmapVirtualCache16BppSize(20), - m_BitmapVirtualCache24BppSize(30), - m_PerformanceFlags(), - m_MaxReconnectAttempts(20), - m_AuthenticationLevel(0), - m_ExtendedDisconnectReason(MSTSCLib::exDiscReasonNoInfo), - m_Connected(false), - m_Compress(true), - m_BitmapPersistence(true), - m_allowBackgroundInput(false), - m_ContainerHandledFullScreen(false), - m_DisableRdpdr(false), - m_SecuredSettingsEnabled(true), - m_FullScreen(false), - m_AcceleratorPassthrough(true), - m_ShadowBitmap(true), - m_EncryptionEnabled(true), - m_DedicatedTerminal(false), - m_DisableCtrlAltDel(true), - m_EnableWindowsKey(true), - m_DoubleClickDetect(false), - m_MaximizeShell(true), - m_ScaleBitmapCachesByBpp(false), - m_CachePersistenceActive(false), - m_ConnectToServerConsole(false), - m_SmartSizing(false), - m_DisplayConnectionBar(true), - m_PinConnectionBar(true), - m_GrabFocusOnConnect(true), - m_RedirectDrives(false), - m_RedirectPrinters(false), - m_RedirectPorts(false), - m_RedirectSmartCards(false), - m_NotifyTSPublicKey(false), - m_CanAutoReconnect(false), - m_EnableAutoReconnect(true), - m_ConnectionBarShowMinimizeButton(true), - m_ConnectionBarShowRestoreButton(true) - { - if(m_punkOuter == NULL) - m_punkOuter = &m_inner; - } - - /* Destructor */ - ~RdpClient() - { - assert(m_refCount == 0); - - if(m_Connected) - { - // Terminate the protocol thread - TerminateProtocolThread(); - - // Dispatch the RDPC_WM_DISCONNECT message sent by the dying thread - MSG msg; - PeekMessage(&msg, m_controlWindow, 0, 0, PM_NOREMOVE); - - assert(!m_Connected); - } - - DestroyControlWindow(); - - if(m_typeLib) - m_typeLib->Release(); - - if(m_dispTypeInfo) - m_dispTypeInfo->Release(); - - MSTSCLib::IMsTscAxEvents ** sinks = GetSinks(); - - for(size_t i = 0; i < m_EventSinksCount; ++ i) - sinks[i]->Release(); - - if(m_EventSinksCount > 1) - delete[] m_EventSinks; - - if(m_clientSite) - m_clientSite->Release(); - - if(m_inPlaceSite) - m_inPlaceSite->Release(); - - if(m_adviseHolder) - m_adviseHolder->Release(); - - SysFreeString(m_Domain); - SysFreeString(m_UserName); - SysFreeString(m_DisconnectedText); - SysFreeString(m_DisconnectedText); - SysFreeString(m_FullScreenTitle); - SysFreeString(m_StartProgram); - SysFreeString(m_WorkDir); - SysFreeString(m_ConnectedStatusText); - SysFreeString(m_ClearTextPassword); - SysFreeString(m_RdpdrLocalPrintingDocName); - SysFreeString(m_RdpdrClipCleanTempDirString); - SysFreeString(m_RdpdrClipPasteInfoString); - - FreeLpsz(m_LoadBalanceInfo); - FreeLpsz(m_Server); - - unlockServer(); - } - - /* Advanced settings wrapper */ - friend class AdvancedSettings; - - class AdvancedSettings SEALED_: public MSTSCLib::IMsRdpClientAdvancedSettings4 - { - private: - RdpClient * Outer() - { - return InnerToOuter(this); - } - - const RdpClient * Outer() const - { - return InnerToOuter(this); - } - - /* IDispatch type information */ - ITypeInfo * m_dispTypeInfo; - - HRESULT LoadDispTypeInfo() - { - if(m_dispTypeInfo) - return S_OK; - - HRESULT hr = Outer()->LoadTypeLibrary(); - - if(FAILED(hr)) - return hr; - - assert(MSTSCLib::IID_IMsRdpClientAdvancedSettings4 == MSTSCLib_Redist::IID_IMsRdpClientAdvancedSettings4); - - hr = Outer()->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientAdvancedSettings4, &m_dispTypeInfo); - - if(FAILED(hr)) - return hr; - - assert(m_dispTypeInfo); - return S_OK; - } - - HRESULT AcquireDispTypeInfo(ITypeInfo ** ppTI) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - m_dispTypeInfo->AddRef(); - *ppTI = m_dispTypeInfo; - return S_OK; - } - - public: - ~AdvancedSettings() - { - if(m_dispTypeInfo) - m_dispTypeInfo->Release(); - } - - /* IUnknown */ - virtual STDMETHODIMP IUnknown::QueryInterface(REFIID riid, void ** ppvObject) - { - using namespace MSTSCLib; - - if - ( - riid == IID_IUnknown || - riid == IID_IDispatch || - riid == IID_IMsTscAdvancedSettings || - riid == IID_IMsRdpClientAdvancedSettings || - riid == IID_IMsRdpClientAdvancedSettings2 || - riid == IID_IMsRdpClientAdvancedSettings3 || - riid == IID_IMsRdpClientAdvancedSettings4 - ) - { - *ppvObject = this; - Outer()->addRef(); - return S_OK; - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - } - - virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() - { - return Outer()->addRef(); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::Release() - { - return Outer()->release(); - } - - /* IDispatch */ - virtual STDMETHODIMP IDispatch::GetTypeInfoCount(UINT * pctinfo) - { - *pctinfo = 1; - return S_OK; - } - - virtual STDMETHODIMP IDispatch::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo ** ppTInfo) - { - if(iTInfo != 0) - return DISP_E_BADINDEX; - - return AcquireDispTypeInfo(ppTInfo); - } - - virtual STDMETHODIMP IDispatch::GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - return m_dispTypeInfo->GetIDsOfNames(rgszNames, cNames, rgDispId); - } - - virtual STDMETHODIMP IDispatch::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr) - { - return m_dispTypeInfo->Invoke - ( - static_cast(this), - dispIdMember, - wFlags, - pDispParams, - pVarResult, - pExcepInfo, - puArgErr - ); - } - - /* IMsTscAdvancedSettings */ - virtual STDMETHODIMP IMsTscAdvancedSettings::put_Compress(long pcompress) - { - return Outer()->SetProperty(Outer()->m_Compress, pcompress); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_Compress(long * pcompress) const - { - return Outer()->GetProperty(Outer()->m_Compress, pcompress); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_BitmapPeristence(long pbitmapPeristence) - { - return Outer()->SetProperty(Outer()->m_BitmapPersistence, pbitmapPeristence); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_BitmapPeristence(long * pbitmapPeristence) const - { - return Outer()->GetProperty(Outer()->m_BitmapPersistence, pbitmapPeristence); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_allowBackgroundInput(long pallowBackgroundInput) - { - if(Outer()->IsSafeForScripting()) - return S_FALSE; - - return Outer()->SetProperty(Outer()->m_allowBackgroundInput, pallowBackgroundInput); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_allowBackgroundInput(long * pallowBackgroundInput) const - { - return Outer()->GetProperty(Outer()->m_allowBackgroundInput, pallowBackgroundInput); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_KeyBoardLayoutStr(BSTR rhs) - { - return Outer()->SetProperty(Outer()->m_KeyboardLayoutString, rhs); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_PluginDlls(BSTR rhs) - { - // TODO: split rhs into an array - - // Control marked safe for scripting: only allow filenames - if(Outer()->IsSafeForScripting()) - { - // TODO: validate entries - // TODO: replace each entry with a full path based on the Virtual Channel DLL path - } - - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconFile(BSTR rhs) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconIndex(long rhs) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_ContainerHandledFullScreen(long pContainerHandledFullScreen) - { - if(Outer()->IsSafeForScripting()) - return S_FALSE; - - return Outer()->SetProperty(Outer()->m_ContainerHandledFullScreen, pContainerHandledFullScreen); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_ContainerHandledFullScreen(long * pContainerHandledFullScreen) const - { - return Outer()->GetProperty(Outer()->m_ContainerHandledFullScreen, pContainerHandledFullScreen); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::put_DisableRdpdr(long pDisableRdpdr) - { - return Outer()->SetProperty(Outer()->m_DisableRdpdr, pDisableRdpdr); - } - - virtual STDMETHODIMP IMsTscAdvancedSettings::get_DisableRdpdr(long * pDisableRdpdr) const - { - return Outer()->GetProperty(Outer()->m_DisableRdpdr, pDisableRdpdr); - } - - /* IMsRdpClientAdvancedSettings */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmoothScroll(long psmoothScroll) - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmoothScroll(long * psmoothScroll) const - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_AcceleratorPassthrough(long pacceleratorPassthrough) - { - return Outer()->SetProperty(Outer()->m_AcceleratorPassthrough, pacceleratorPassthrough); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_AcceleratorPassthrough(long * pacceleratorPassthrough) const - { - return Outer()->GetProperty(Outer()->m_AcceleratorPassthrough, pacceleratorPassthrough); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ShadowBitmap(long pshadowBitmap) - { - return Outer()->SetProperty(Outer()->m_ShadowBitmap, pshadowBitmap); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ShadowBitmap(long * pshadowBitmap) const - { - return Outer()->GetProperty(Outer()->m_ShadowBitmap, pshadowBitmap); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_TransportType(long ptransportType) - { - // Reserved - return Outer()->SetProperty(Outer()->m_TransportType, ptransportType); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_TransportType(long * ptransportType) const - { - // Reserved - return Outer()->GetProperty(Outer()->m_TransportType, ptransportType); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SasSequence(long psasSequence) - { - // Reserved - return Outer()->SetProperty(Outer()->m_SasSequence, psasSequence); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SasSequence(long * psasSequence) const - { - // Reserved - return Outer()->GetProperty(Outer()->m_SasSequence, psasSequence); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EncryptionEnabled(long pencryptionEnabled) - { - return Outer()->SetProperty(Outer()->m_EncryptionEnabled, pencryptionEnabled); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EncryptionEnabled(long * pencryptionEnabled) const - { - return Outer()->GetProperty(Outer()->m_EncryptionEnabled, pencryptionEnabled); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DedicatedTerminal(long pdedicatedTerminal) - { - return Outer()->SetProperty(Outer()->m_DedicatedTerminal, pdedicatedTerminal); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DedicatedTerminal(long * pdedicatedTerminal) const - { - return Outer()->GetProperty(Outer()->m_DedicatedTerminal, pdedicatedTerminal); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RDPPort(long prdpPort) - { - if(prdpPort == 0 || prdpPort > 65535) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_RDPPort, prdpPort); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RDPPort(long * prdpPort) const - { - return Outer()->GetProperty(Outer()->m_RDPPort, prdpPort); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableMouse(long penableMouse) - { - return S_FALSE; // TBD? implement? - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableMouse(long * penableMouse) const - { - return S_FALSE; // TBD? implement? - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisableCtrlAltDel(long pdisableCtrlAltDel) - { - return Outer()->SetProperty(Outer()->m_DisableCtrlAltDel, pdisableCtrlAltDel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisableCtrlAltDel(long * pdisableCtrlAltDel) const - { - return Outer()->GetProperty(Outer()->m_DisableCtrlAltDel, pdisableCtrlAltDel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableWindowsKey(long penableWindowsKey) - { - return Outer()->SetProperty(Outer()->m_EnableWindowsKey, penableWindowsKey); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableWindowsKey(long * penableWindowsKey) const - { - return Outer()->GetProperty(Outer()->m_EnableWindowsKey, penableWindowsKey); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DoubleClickDetect(long pdoubleClickDetect) - { - return Outer()->SetProperty(Outer()->m_DoubleClickDetect, pdoubleClickDetect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DoubleClickDetect(long * pdoubleClickDetect) const - { - return Outer()->GetProperty(Outer()->m_DoubleClickDetect, pdoubleClickDetect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MaximizeShell(long pmaximizeShell) - { - return Outer()->SetProperty(Outer()->m_MaximizeShell, pmaximizeShell); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MaximizeShell(long * pmaximizeShell) const - { - return Outer()->GetProperty(Outer()->m_MaximizeShell, pmaximizeShell); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyFullScreen(long photKeyFullScreen) - { - return Outer()->SetProperty(Outer()->m_HotKeyFullScreen, photKeyFullScreen); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyFullScreen(long * photKeyFullScreen) const - { - return Outer()->GetProperty(Outer()->m_HotKeyFullScreen, photKeyFullScreen); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlEsc(long photKeyCtrlEsc) - { - return Outer()->SetProperty(Outer()->m_HotKeyCtrlEsc, photKeyCtrlEsc); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlEsc(long * photKeyCtrlEsc) const - { - return Outer()->GetProperty(Outer()->m_HotKeyCtrlEsc, photKeyCtrlEsc); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltEsc(long photKeyAltEsc) - { - return Outer()->SetProperty(Outer()->m_HotKeyAltEsc, photKeyAltEsc); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltEsc(long * photKeyAltEsc) const - { - return Outer()->GetProperty(Outer()->m_HotKeyAltEsc, photKeyAltEsc); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltTab(long photKeyAltTab) - { - return Outer()->SetProperty(Outer()->m_HotKeyAltTab, photKeyAltTab); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltTab(long * photKeyAltTab) const - { - return Outer()->GetProperty(Outer()->m_HotKeyAltTab, photKeyAltTab); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltShiftTab(long photKeyAltShiftTab) - { - return Outer()->SetProperty(Outer()->m_HotKeyAltShiftTab, photKeyAltShiftTab); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltShiftTab(long * photKeyAltShiftTab) const - { - return Outer()->GetProperty(Outer()->m_HotKeyAltShiftTab, photKeyAltShiftTab); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltSpace(long photKeyAltSpace) - { - return Outer()->SetProperty(Outer()->m_HotKeyAltSpace, photKeyAltSpace); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltSpace(long * photKeyAltSpace) const - { - return Outer()->GetProperty(Outer()->m_HotKeyAltSpace, photKeyAltSpace); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlAltDel(long photKeyCtrlAltDel) - { - return Outer()->SetProperty(Outer()->m_HotKeyCtrlAltDel, photKeyCtrlAltDel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlAltDel(long * photKeyCtrlAltDel) const - { - return Outer()->GetProperty(Outer()->m_HotKeyCtrlAltDel, photKeyCtrlAltDel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_orderDrawThreshold(long porderDrawThreshold) - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_orderDrawThreshold(long * porderDrawThreshold) const - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapCacheSize(long pbitmapCacheSize) - { - // NOTE: the upper bound of "32" for a field with a default value of 1500 seems to be a bug - if(pbitmapCacheSize < 0 || pbitmapCacheSize > 32) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_BitmapCacheSize, pbitmapCacheSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapCacheSize(long * pbitmapCacheSize) const - { - return Outer()->GetProperty(Outer()->m_BitmapCacheSize, pbitmapCacheSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCacheSize(long pbitmapVirtualCacheSize) - { - if(pbitmapVirtualCacheSize < 0 || pbitmapVirtualCacheSize > 32) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_BitmapVirtualCacheSize, pbitmapVirtualCacheSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCacheSize(long * pbitmapVirtualCacheSize) const - { - return Outer()->GetProperty(Outer()->m_BitmapVirtualCacheSize, pbitmapVirtualCacheSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ScaleBitmapCachesByBPP(long pbScale) - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ScaleBitmapCachesByBPP(long * pbScale) const - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NumBitmapCaches(long pnumBitmapCaches) - { - return Outer()->SetProperty(Outer()->m_NumBitmapCaches, pnumBitmapCaches); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NumBitmapCaches(long * pnumBitmapCaches) const - { - return Outer()->GetProperty(Outer()->m_NumBitmapCaches, pnumBitmapCaches); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_CachePersistenceActive(long pcachePersistenceActive) - { - return Outer()->SetProperty(Outer()->m_CachePersistenceActive, pcachePersistenceActive); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_CachePersistenceActive(long * pcachePersistenceActive) const - { - return Outer()->GetProperty(Outer()->m_CachePersistenceActive, pcachePersistenceActive); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PersistCacheDirectory(BSTR rhs) - { - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_brushSupportLevel(long pbrushSupportLevel) - { - return Outer()->SetProperty(Outer()->m_brushSupportLevel, pbrushSupportLevel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_brushSupportLevel(long * pbrushSupportLevel) const - { - return Outer()->GetProperty(Outer()->m_brushSupportLevel, pbrushSupportLevel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_minInputSendInterval(long pminInputSendInterval) - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_minInputSendInterval(long * pminInputSendInterval) const - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_InputEventsAtOnce(long pinputEventsAtOnce) - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_InputEventsAtOnce(long * pinputEventsAtOnce) const - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_maxEventCount(long pmaxEventCount) - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_maxEventCount(long * pmaxEventCount) const - { - // TODO - return S_FALSE; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_keepAliveInterval(long pkeepAliveInterval) - { - if(pkeepAliveInterval && pkeepAliveInterval < 10) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_keepAliveInternal, pkeepAliveInterval); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_keepAliveInterval(long * pkeepAliveInterval) const - { - return Outer()->GetProperty(Outer()->m_keepAliveInternal, pkeepAliveInterval); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_shutdownTimeout(long pshutdownTimeout) - { - if(pshutdownTimeout >= 600) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_shutdownTimeout, pshutdownTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_shutdownTimeout(long * pshutdownTimeout) const - { - return Outer()->GetProperty(Outer()->m_shutdownTimeout, pshutdownTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_overallConnectionTimeout(long poverallConnectionTimeout) - { - if(poverallConnectionTimeout < 0 || poverallConnectionTimeout >= 600) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_overallConnectionTimeout, poverallConnectionTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_overallConnectionTimeout(long * poverallConnectionTimeout) const - { - return Outer()->GetProperty(Outer()->m_overallConnectionTimeout, poverallConnectionTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_singleConnectionTimeout(long psingleConnectionTimeout) - { - if(psingleConnectionTimeout >= 600) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_singleConnectionTimeout, psingleConnectionTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_singleConnectionTimeout(long * psingleConnectionTimeout) const - { - return Outer()->GetProperty(Outer()->m_singleConnectionTimeout, psingleConnectionTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardType(long pkeyboardType) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardType(long * pkeyboardType) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardSubType(long pkeyboardSubType) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardSubType(long * pkeyboardSubType) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardFunctionKey(long pkeyboardFunctionKey) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardFunctionKey(long * pkeyboardFunctionKey) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_WinceFixedPalette(long pwinceFixedPalette) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_WinceFixedPalette(long * pwinceFixedPalette) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectToServerConsole(VARIANT_BOOL pConnectToConsole) - { - return Outer()->SetProperty(Outer()->m_ConnectToServerConsole, pConnectToConsole); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ConnectToServerConsole(VARIANT_BOOL * pConnectToConsole) const - { - return Outer()->GetProperty(Outer()->m_ConnectToServerConsole, pConnectToConsole); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapPersistence(long pbitmapPersistence) - { - return put_BitmapPeristence(pbitmapPersistence); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapPersistence(long * pbitmapPersistence) const - { - return get_BitmapPeristence(pbitmapPersistence); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MinutesToIdleTimeout(long pminutesToIdleTimeout) - { - if(pminutesToIdleTimeout > 240) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_MinutesToIdleTimeout, pminutesToIdleTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MinutesToIdleTimeout(long * pminutesToIdleTimeout) const - { - return Outer()->GetProperty(Outer()->m_MinutesToIdleTimeout, pminutesToIdleTimeout); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmartSizing(VARIANT_BOOL pfSmartSizing) - { - return Outer()->SetProperty(Outer()->m_SmartSizing, pfSmartSizing); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmartSizing(VARIANT_BOOL * pfSmartSizing) const - { - return Outer()->GetProperty(Outer()->m_SmartSizing, pfSmartSizing); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrLocalPrintingDocName(BSTR pLocalPrintingDocName) - { - return Outer()->SetProperty(Outer()->m_RdpdrLocalPrintingDocName, pLocalPrintingDocName); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrLocalPrintingDocName(BSTR * pLocalPrintingDocName) const - { - return Outer()->GetProperty(Outer()->m_RdpdrLocalPrintingDocName, pLocalPrintingDocName); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipCleanTempDirString(BSTR clipCleanTempDirString) - { - return Outer()->SetProperty(Outer()->m_RdpdrClipCleanTempDirString, clipCleanTempDirString); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipCleanTempDirString(BSTR * clipCleanTempDirString) const - { - return Outer()->GetProperty(Outer()->m_RdpdrClipCleanTempDirString, clipCleanTempDirString); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipPasteInfoString(BSTR clipPasteInfoString) - { - return Outer()->SetProperty(Outer()->m_RdpdrClipPasteInfoString, clipPasteInfoString); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipPasteInfoString(BSTR * clipPasteInfoString) const - { - return Outer()->GetProperty(Outer()->m_RdpdrClipPasteInfoString, clipPasteInfoString); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ClearTextPassword(BSTR rhs) - { - return Outer()->put_ClearTextPassword(rhs); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisplayConnectionBar(VARIANT_BOOL pDisplayConnectionBar) - { - if(!pDisplayConnectionBar && Outer()->IsSafeForScripting()) - return E_FAIL; - - return Outer()->SetProperty(Outer()->m_DisplayConnectionBar, pDisplayConnectionBar); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisplayConnectionBar(VARIANT_BOOL * pDisplayConnectionBar) const - { - return Outer()->GetProperty(Outer()->m_DisplayConnectionBar, pDisplayConnectionBar); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PinConnectionBar(VARIANT_BOOL pPinConnectionBar) - { - if(Outer()->IsSafeForScripting()) - return E_NOTIMPL; - - return Outer()->SetProperty(Outer()->m_PinConnectionBar, pPinConnectionBar); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PinConnectionBar(VARIANT_BOOL * pPinConnectionBar) const - { - return Outer()->GetProperty(Outer()->m_PinConnectionBar, pPinConnectionBar); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_GrabFocusOnConnect(VARIANT_BOOL pfGrabFocusOnConnect) - { - return Outer()->SetProperty(Outer()->m_GrabFocusOnConnect, pfGrabFocusOnConnect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_GrabFocusOnConnect(VARIANT_BOOL * pfGrabFocusOnConnect) const - { - return Outer()->GetProperty(Outer()->m_GrabFocusOnConnect, pfGrabFocusOnConnect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_LoadBalanceInfo(BSTR pLBInfo) - { - return Outer()->SetProperty(Outer()->m_LoadBalanceInfo, pLBInfo); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_LoadBalanceInfo(BSTR * pLBInfo) const - { - return Outer()->GetProperty(Outer()->m_LoadBalanceInfo, pLBInfo); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectDrives(VARIANT_BOOL pRedirectDrives) - { - return Outer()->SetProperty(Outer()->m_RedirectDrives, pRedirectDrives); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectDrives(VARIANT_BOOL * pRedirectDrives) const - { - return Outer()->GetProperty(Outer()->m_RedirectDrives, pRedirectDrives); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPrinters(VARIANT_BOOL pRedirectPrinters) - { - return Outer()->SetProperty(Outer()->m_RedirectPrinters, pRedirectPrinters); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPrinters(VARIANT_BOOL * pRedirectPrinters) const - { - return Outer()->GetProperty(Outer()->m_RedirectPrinters, pRedirectPrinters); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPorts(VARIANT_BOOL pRedirectPorts) - { - return Outer()->SetProperty(Outer()->m_RedirectPorts, pRedirectPorts); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPorts(VARIANT_BOOL * pRedirectPorts) const - { - return Outer()->GetProperty(Outer()->m_RedirectPorts, pRedirectPorts); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectSmartCards(VARIANT_BOOL pRedirectSmartCards) - { - return Outer()->SetProperty(Outer()->m_RedirectSmartCards, pRedirectSmartCards); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectSmartCards(VARIANT_BOOL * pRedirectSmartCards) const - { - return Outer()->GetProperty(Outer()->m_RedirectSmartCards, pRedirectSmartCards); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache16BppSize(long pBitmapVirtualCache16BppSize) - { - if(pBitmapVirtualCache16BppSize < 0 || pBitmapVirtualCache16BppSize > 32) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_BitmapVirtualCache16BppSize, pBitmapVirtualCache16BppSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache16BppSize(long * pBitmapVirtualCache16BppSize) const - { - return Outer()->GetProperty(Outer()->m_BitmapVirtualCache16BppSize, pBitmapVirtualCache16BppSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache24BppSize(long pBitmapVirtualCache24BppSize) - { - if(pBitmapVirtualCache24BppSize < 0 || pBitmapVirtualCache24BppSize > 32) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_BitmapVirtualCache24BppSize, pBitmapVirtualCache24BppSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache24BppSize(long * pBitmapVirtualCache24BppSize) const - { - return Outer()->GetProperty(Outer()->m_BitmapVirtualCache24BppSize, pBitmapVirtualCache24BppSize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PerformanceFlags(long pDisableList) - { - return Outer()->SetProperty(Outer()->m_PerformanceFlags, pDisableList); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PerformanceFlags(long * pDisableList) const - { - return Outer()->GetProperty(Outer()->m_PerformanceFlags, pDisableList); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectWithEndpoint(VARIANT * rhs) - { - // TBD? the Microsoft client implements this, but what does it mean? - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NotifyTSPublicKey(VARIANT_BOOL pfNotify) - { - return Outer()->SetProperty(Outer()->m_NotifyTSPublicKey, pfNotify); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NotifyTSPublicKey(VARIANT_BOOL * pfNotify) const - { - return Outer()->GetProperty(Outer()->m_NotifyTSPublicKey, pfNotify); - } - - /* IMsRdpClientAdvancedSettings2 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_CanAutoReconnect(VARIANT_BOOL * pfCanAutoReconnect) const - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_EnableAutoReconnect(VARIANT_BOOL pfEnableAutoReconnect) - { - return Outer()->SetProperty(Outer()->m_EnableAutoReconnect, pfEnableAutoReconnect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_EnableAutoReconnect(VARIANT_BOOL * pfEnableAutoReconnect) const - { - return Outer()->GetProperty(Outer()->m_EnableAutoReconnect, pfEnableAutoReconnect); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_MaxReconnectAttempts(long pMaxReconnectAttempts) - { - if(pMaxReconnectAttempts < 0 || pMaxReconnectAttempts > 200) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_MaxReconnectAttempts, pMaxReconnectAttempts); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_MaxReconnectAttempts(long * pMaxReconnectAttempts) const - { - return Outer()->GetProperty(Outer()->m_MaxReconnectAttempts, pMaxReconnectAttempts); - } - - /* IMsRdpClientAdvancedSettings3 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowMinimizeButton(VARIANT_BOOL pfShowMinimize) - { - return Outer()->SetProperty(Outer()->m_ConnectionBarShowMinimizeButton, pfShowMinimize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowMinimizeButton(VARIANT_BOOL * pfShowMinimize) const - { - return Outer()->GetProperty(Outer()->m_ConnectionBarShowMinimizeButton, pfShowMinimize); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowRestoreButton(VARIANT_BOOL pfShowRestore) - { - return Outer()->SetProperty(Outer()->m_ConnectionBarShowRestoreButton, pfShowRestore); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowRestoreButton(VARIANT_BOOL * pfShowRestore) const - { - return Outer()->GetProperty(Outer()->m_ConnectionBarShowRestoreButton, pfShowRestore); - } - - /* IMsRdpClientAdvancedSettings4 */ - virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::put_AuthenticationLevel(unsigned int puiAuthLevel) - { - // TODO: this isn't implemented in rdesktop yet... - return Outer()->SetProperty(Outer()->m_AuthenticationLevel, puiAuthLevel); - } - - virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::get_AuthenticationLevel(unsigned int * puiAuthLevel) const - { - return Outer()->GetProperty(Outer()->m_AuthenticationLevel, puiAuthLevel); - } - } - m_advancedSettings; - - template HRESULT GetAdvancedSettings(Interface ** ppAdvSettings) - { - addRef(); - *ppAdvSettings = &m_advancedSettings; - return S_OK; - } - - /* Secured settings wrapper */ - friend class SecuredSettings; - - class SecuredSettings SEALED_: public MSTSCLib::IMsRdpClientSecuredSettings - { - private: - RdpClient * Outer() - { - return InnerToOuter(this); - } - - const RdpClient * Outer() const - { - return InnerToOuter(this); - } - - /* IDispatch type information */ - ITypeInfo * m_dispTypeInfo; - - HRESULT LoadDispTypeInfo() - { - if(m_dispTypeInfo) - return S_OK; - - HRESULT hr = Outer()->LoadTypeLibrary(); - - if(FAILED(hr)) - return hr; - - assert(MSTSCLib::IID_IMsRdpClientSecuredSettings == MSTSCLib_Redist::IID_IMsRdpClientSecuredSettings); - - hr = Outer()->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientSecuredSettings, &m_dispTypeInfo); - - if(FAILED(hr)) - return hr; - - assert(m_dispTypeInfo); - return S_OK; - } - - HRESULT AcquireDispTypeInfo(ITypeInfo ** ppTI) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - m_dispTypeInfo->AddRef(); - *ppTI = m_dispTypeInfo; - return S_OK; - } - - public: - ~SecuredSettings() - { - if(m_dispTypeInfo) - m_dispTypeInfo->Release(); - } - - /* IUnknown */ - virtual STDMETHODIMP IUnknown::QueryInterface(REFIID riid, void ** ppvObject) - { - using namespace MSTSCLib; - - if - ( - riid == IID_IUnknown || - riid == IID_IDispatch || - riid == IID_IMsTscSecuredSettings || - riid == IID_IMsRdpClientSecuredSettings - ) - { - *ppvObject = this; - Outer()->addRef(); - return S_OK; - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - } - - virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() - { - return Outer()->addRef(); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::Release() - { - return Outer()->release(); - } - - /* IDispatch */ - virtual STDMETHODIMP IDispatch::GetTypeInfoCount(UINT * pctinfo) - { - *pctinfo = 1; - return S_OK; - } - - virtual STDMETHODIMP IDispatch::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo ** ppTInfo) - { - if(iTInfo != 0) - return DISP_E_BADINDEX; - - return AcquireDispTypeInfo(ppTInfo); - } - - virtual STDMETHODIMP IDispatch::GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - return m_dispTypeInfo->GetIDsOfNames(rgszNames, cNames, rgDispId); - } - - virtual STDMETHODIMP IDispatch::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr) - { - return m_dispTypeInfo->Invoke - ( - static_cast(this), - dispIdMember, - wFlags, - pDispParams, - pVarResult, - pExcepInfo, - puArgErr - ); - } - - /* IMsTscSecuredSettings */ - virtual STDMETHODIMP IMsTscSecuredSettings::put_StartProgram(BSTR pStartProgram) - { - return Outer()->SetProperty(Outer()->m_StartProgram, pStartProgram); - } - - virtual STDMETHODIMP IMsTscSecuredSettings::get_StartProgram(BSTR * pStartProgram) const - { - return Outer()->GetProperty(Outer()->m_StartProgram, pStartProgram); - } - - virtual STDMETHODIMP IMsTscSecuredSettings::put_WorkDir(BSTR pWorkDir) - { - return Outer()->SetProperty(Outer()->m_WorkDir, pWorkDir); - } - - virtual STDMETHODIMP IMsTscSecuredSettings::get_WorkDir(BSTR * pWorkDir) const - { - return Outer()->GetProperty(Outer()->m_WorkDir, pWorkDir); - } - - virtual STDMETHODIMP IMsTscSecuredSettings::put_FullScreen(long pfFullScreen) - { - return Outer()->put_FullScreen(!!pfFullScreen); - } - - virtual STDMETHODIMP IMsTscSecuredSettings::get_FullScreen(long * pfFullScreen) const - { - return Outer()->GetProperty(Outer()->m_FullScreen, pfFullScreen); - } - - /* IMsRdpClientSecuredSettings */ - virtual STDMETHODIMP IMsRdpClientSecuredSettings::put_KeyboardHookMode(long pkeyboardHookMode) - { - if(pkeyboardHookMode < 0 || pkeyboardHookMode > 2) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_KeyboardHookMode, pkeyboardHookMode); - } - - virtual STDMETHODIMP IMsRdpClientSecuredSettings::get_KeyboardHookMode(long * pkeyboardHookMode) const - { - return Outer()->GetProperty(Outer()->m_KeyboardHookMode, pkeyboardHookMode); - } - - virtual STDMETHODIMP IMsRdpClientSecuredSettings::put_AudioRedirectionMode(long pAudioRedirectionMode) - { - if(pAudioRedirectionMode < 0 || pAudioRedirectionMode > 2) - return E_INVALIDARG; - - return Outer()->SetProperty(Outer()->m_AudioRedirectionMode, pAudioRedirectionMode); - } - - virtual STDMETHODIMP IMsRdpClientSecuredSettings::get_AudioRedirectionMode(long * pAudioRedirectionMode) const - { - return Outer()->GetProperty(Outer()->m_AudioRedirectionMode, pAudioRedirectionMode); - } - } - m_securedSettings; - - template HRESULT GetSecuredSettings(Interface ** ppSecuredSettings) - { - if(!m_SecuredSettingsEnabled) - return E_FAIL; - - addRef(); - *ppSecuredSettings = &m_securedSettings; - return S_OK; - } - - /* Type library loading */ - HRESULT LoadTypeLibrary() - { - if(m_typeLib) - return S_OK; - - // Get the DLL name of the ActiveX control - WCHAR szPath[MAX_PATH + 1]; - DWORD cchPathLen = GetModuleFileNameW(GetCurrentModule(), szPath, ARRAYSIZE(szPath) - 1); - - if(cchPathLen == 0) - return HRESULT_FROM_WIN32(GetLastError()); - - if(cchPathLen > ((ARRAYSIZE(szPath) - 1) - 2)) - return E_FAIL; - - // Append the resource id of the type library - assert(m_typeLibIndex < 10); - - szPath[cchPathLen + 0] = L'\\'; - szPath[cchPathLen + 1] = static_cast(L'0' + m_typeLibIndex); - szPath[cchPathLen + 2] = 0; - - // Load the type library - HRESULT hr = LoadTypeLibEx(szPath, REGKIND_NONE, &m_typeLib); - - if(FAILED(hr)) - return hr; - - assert(m_typeLib); - return S_OK; - } - - /* IDispatch type information */ - HRESULT LoadDispTypeInfo() - { - if(m_dispTypeInfo) - return S_OK; - - HRESULT hr = LoadTypeLibrary(); - - if(FAILED(hr)) - return hr; - - assert(MSTSCLib::IID_IMsRdpClient4 == MSTSCLib_Redist::IID_IMsRdpClient4); - - hr = m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClient4, &m_dispTypeInfo); - - if(FAILED(hr)) - return hr; - - assert(m_dispTypeInfo); - return S_OK; - } - - HRESULT AcquireDispTypeInfo(ITypeInfo ** ppTI) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - m_dispTypeInfo->AddRef(); - *ppTI = m_dispTypeInfo; - return S_OK; - } - -public: - /* Helpers for our various embedded children */ - static RdpClient * InnerToOuter(RdpClientInner * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_inner); - } - - static RdpClient * InnerToOuter(AdvancedSettings * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_advancedSettings); - } - - static RdpClient * InnerToOuter(SecuredSettings * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_securedSettings); - } - - static RdpClient * InnerToOuter(RDPCLIENT * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_protocolState); - } - - static const RdpClient * InnerToOuter(const RdpClientInner * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_inner); - } - - static const RdpClient * InnerToOuter(const AdvancedSettings * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_advancedSettings); - } - - static const RdpClient * InnerToOuter(const SecuredSettings * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_securedSettings); - } - - static const RdpClient * InnerToOuter(const RDPCLIENT * innerThis) - { - return CONTAINING_RECORD(innerThis, RdpClient, m_protocolState); - } - - RdpClientUI * GetUI() const - { - assert(m_clientUI); - return m_clientUI; - } - - /* Glue for rdesktop-core */ -public: - static bool OnPublicKey(RDPCLIENT * This, unsigned char * key, unsigned int key_size) - { - return InnerToOuter(This)->OnPublicKey(key, key_size); - } - - static void OnLogon(RDPCLIENT * This) - { - return InnerToOuter(This)->OnLogon(); - } - - static bool OnRedirect - ( - RDPCLIENT * This, - uint32 flags, - uint32 server_len, - wchar_t * server, - uint32 cookie_len, - char * cookie, - uint32 username_len, - wchar_t * username, - uint32 domain_len, - wchar_t * domain, - uint32 password_len, - wchar_t * password - ) - { - return InnerToOuter(This)->OnRedirect - ( - flags, - server_len, - server, - cookie_len, - cookie, - username_len, - username, - domain_len, - domain, - password_len, - password - ); - } - -private: - bool OnPublicKey(unsigned char * key, unsigned int key_size) - { - HRESULT hr = FireReceivedTSPublicKey(key, key_size); - - if(FAILED(hr)) - { - m_protocolState.disconnect_reason = 262; - return false; - } - - return hr == S_OK; - } - - void OnLogon() - { - m_loggedIn = true; - FireLoginComplete(); - } - - bool OnRedirect - ( - uint32 flags, - uint32 server_len, - wchar_t * server, - uint32 cookie_len, - char * cookie, - uint32 username_len, - wchar_t * username, - uint32 domain_len, - wchar_t * domain, - uint32 password_len, - wchar_t * password - ) - { - assert(m_Connected); - assert(!InsideApartment()); - assert(IsWindow(m_controlWindow)); - - RedirectArguments redirectArgs = - { - flags, - server_len, - server, - cookie_len, - cookie, - username_len, - username, - domain_len, - domain, - password_len, - password - }; - - return SendMessage(m_controlWindow, RDPC_WM_REDIRECT, 0, reinterpret_cast(&redirectArgs)) == 0; - } - -private: - static DWORD WINAPI ProtocolLoopThreadProc(LPVOID lpParam) - { - static_cast(lpParam)->ProtocolLoop(); - return 0; - } - - static VOID CALLBACK ConnectionTimerAPC(LPVOID, DWORD, DWORD) - { - } - - // FIXME: various potential inconsistencies due to lack of detailed documentation of expected semantics - void ProtocolLoop() - { - HANDLE waitingReconnection = NULL; - - // Retrieve the local hostname to be passed to the server - WCHAR hostname[MAX_COMPUTERNAME_LENGTH + 1]; - DWORD hostnameLen = ARRAYSIZE(hostname); - - if(!GetComputerNameW(hostname, &hostnameLen)) - hostname[0] = 0; - - // Set some connection flags - uint32 flags = RDP_LOGON_NORMAL; - - if(m_Compress) - flags |= RDP_LOGON_COMPRESSION | RDP_LOGON_COMPRESSION2; - - if(m_AudioRedirectionMode == 1) - flags |= RDP_LOGON_LEAVE_AUDIO; - - if(m_ClearTextPassword) - flags |= RDP_LOGON_AUTO; - - // Notify the container that the connection process is beginning now - FireConnecting(); - - // Set the overall connection timer, if a timeout is set - // BUGBUG: the timeout semantics are ambiguous and have been most probably misinterpreted - HANDLE overallConnectionTimer = NULL; - LARGE_INTEGER overallTimeout; - - if(m_overallConnectionTimeout) - { - overallTimeout.QuadPart = - ((m_overallConnectionTimeout * 1000 * 1000 * 1000) / 100); - - overallConnectionTimer = CreateWaitableTimer(NULL, FALSE, NULL); - - if(overallConnectionTimer == NULL) - goto l_Disconnect; - } - - if(overallConnectionTimer) - SetWaitableTimer(overallConnectionTimer, &overallTimeout, 0, ConnectionTimerAPC, NULL, FALSE); - - // Initial connection - BOOL disconnected = rdp_connect - ( - &m_protocolState, - m_Server, - flags, - m_UserName, - m_Domain, - m_ClearTextPassword, - m_StartProgram, - m_WorkDir, - hostname, - m_LoadBalanceInfo - ); - - if(overallConnectionTimer) - CancelWaitableTimer(overallConnectionTimer); - - if(disconnected) - goto l_Disconnect; - - // TODO: set the disconnect reason for every instance in which we abort the loop - for(;;) - { - BOOL deactivated = False; - uint32 extendedDisconnectReason = 0; - - m_actuallyConnected = true; - - // Notify the container of the successful connection - FireConnected(); - - // Main protocol loop - m_loggedIn = false; - rdp_main_loop(&m_protocolState, &deactivated, &extendedDisconnectReason); - rdp_disconnect(&m_protocolState); - - m_actuallyConnected = false; - - // Redirection - // BUGBUG: redirection is very messy and probably this implementation is not "canonical" - if(m_protocolState.redirect) - { - m_protocolState.redirect = False; - rdp_reset_state(&m_protocolState); - - // TODO: reset connection parameters - // This has to be done in the main thread, so use SendMessage on the control window - - flags |= RDP_LOGON_AUTO; - - // retry - continue; - } - - // Disconnection - m_ExtendedDisconnectReason = static_cast(extendedDisconnectReason); - - // Clean disconnection - if(deactivated) - break; - - BOOL success; - - long autoReconnections = 0; - long totalReconnections = 0; - - // Reconnection - // BUGBUG: reconnection semantics may not be entirely accurate - do - { - ++ totalReconnections; - - // ask the container whether we should reconnect - long reconnectMode = FireAutoReconnecting(m_protocolState.disconnect_reason, totalReconnections); - - // do not reconnect - if(reconnectMode == MSTSCLib::autoReconnectContinueStop) - goto l_Disconnect; - - // the container will reconnect or abort manually - if(reconnectMode == MSTSCLib::autoReconnectContinueManual) - { - assert(!m_reconnectAborted); - assert(m_protocolThreadWaitingReconnection == NULL); - - if(waitingReconnection == NULL) - { - waitingReconnection = CreateEvent(NULL, TRUE, FALSE, NULL); - - if(waitingReconnection == NULL) - // TODO: fatal error - goto l_Disconnect; - } - - m_protocolThreadWaitingReconnection = waitingReconnection; - - WaitForSingleObject(waitingReconnection, INFINITE); - - m_protocolThreadWaitingReconnection = NULL; - - if(m_reconnectAborted) - { - // FIXME? do we set the disconnection status here? - goto l_Disconnect; - } - } - // reconnect automatically - else - { - // automatic reconnection is disabled - if(m_EnableAutoReconnect) - break; - - // too many consecutive automatic reconnections - if(autoReconnections == m_MaxReconnectAttempts) - break; - - ++ autoReconnections; - } - - if(overallConnectionTimer) - SetWaitableTimer(overallConnectionTimer, &overallTimeout, 0, ConnectionTimerAPC, NULL, FALSE); - - // Reconnection - success = rdp_reconnect - ( - &m_protocolState, - m_Server, - flags, - m_UserName, - m_Domain, - m_ClearTextPassword, - m_StartProgram, - m_WorkDir, - hostname, - m_LoadBalanceInfo - ); - - if(overallConnectionTimer) - CancelWaitableTimer(overallConnectionTimer); - } - while(!success); - } - -l_Disconnect: - // Disconnected - FireDisconnected(m_protocolState.disconnect_reason); - - if(overallConnectionTimer) - CloseHandle(overallConnectionTimer); - } - - void JoinProtocolThread() - { - assert(m_protocolThread); - WaitForSingleObject(m_protocolThread, INFINITE); - CloseHandle(m_protocolThread); - m_protocolThread = NULL; - } - - void TerminateProtocolThread() - { - assert(m_protocolThread); - - // wake it up if it's waiting for a manual reconnection - if(m_protocolThreadWaitingReconnection) - { - assert(!m_reconnectAborted); - m_reconnectAborted = true; - SetEvent(m_protocolThreadWaitingReconnection); - } - // otherwise, attempt to interrupt any current blocking operation - else - { - // shutdown(m_protocolState.tcp.sock, SD_BOTH); // TBD: maybe in the future? - QueueUserAPC(DisconnectAPC, m_protocolThread, 0); - } - - assert(m_protocolThreadWaitingReconnection == NULL); - } - - void PerformDisconnect(long reason) - { - assert(InsideApartment()); - assert(m_Connected); - - // TODO: notify virtual channels - - // TODO: do any other disconnection work here... - - // Put the control in the disconnected state - m_Connected = false; - m_loggedIn = false; - - // Notify the container - VARIANTARG arg = { }; - - arg.vt = VT_I4; - arg.lVal = reason; - - FireEventInsideApartment(4, &arg, 1); - } - -public: - /* Startup initialization */ - static BOOL Startup() - { - if(!RdpClientUI::Startup()) - return FALSE; - - WNDCLASSEX wcex = { sizeof(wcex) }; - - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = ControlWindowProc; - wcex.hInstance = GetCurrentModule(); - wcex.hCursor = LoadCursor(NULL, IDC_ARROW); - wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); - wcex.lpszClassName = TEXT("MissTosca_Control"); - - return RegisterClassEx(&wcex); - } - - static void Shutdown() - { - UnregisterClass(TEXT("MissTosca_Control"), GetCurrentModule()); - } - - /* Class factory */ - static HRESULT CreateInstance(REFCLSID rclsid, unsigned libIndex, IUnknown * punkOuter, REFIID riid, void ** ppObj) - { - RdpClient * obj = new RdpClient(rclsid, libIndex, punkOuter); - - if(obj == NULL) - return E_OUTOFMEMORY; - - HRESULT hr = obj->m_inner.QueryInterface(riid, ppObj); - - if(FAILED(hr)) - { - delete obj; - return hr; - } - - assert(obj->m_refCount == 1); - assert(*ppObj != NULL); - - return S_OK; - } - -private: - /* Connection point enumerator */ - class CEnumConnectionPoints: public IEnumConnectionPoints - { - private: - LONG m_refCount; - IConnectionPoint * m_cp; - bool m_done; - - public: - CEnumConnectionPoints(IConnectionPoint * cp): m_refCount(1), m_cp(cp), m_done(false) - { - assert(m_cp); - m_cp->AddRef(); - } - - CEnumConnectionPoints(const CEnumConnectionPoints& ecp): m_refCount(1), m_cp(ecp.m_cp), m_done(ecp.m_done) - { - assert(m_cp); - m_cp->AddRef(); - } - - ~CEnumConnectionPoints() - { - assert(m_cp); - m_cp->Release(); - } - - virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppvObject) - { - if(riid == IID_IUnknown || riid == IID_IEnumConnectionPoints) - { - *ppvObject = this; - return S_OK; - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - } - - virtual STDMETHODIMP_(ULONG) AddRef() - { - return InterlockedIncrement(&m_refCount); - } - - virtual STDMETHODIMP_(ULONG) Release() - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual STDMETHODIMP Next(ULONG cConnections, LPCONNECTIONPOINT * ppCP, ULONG * pcFetched) - { - if(cConnections == 0 || m_done) - return S_FALSE; - - m_done = true; - m_cp->AddRef(); - *ppCP = m_cp; - *pcFetched = 1; - - return S_OK; - } - - virtual STDMETHODIMP Skip(ULONG cConnections) - { - if(cConnections == 0) - return S_OK; - - if(cConnections == 1 && !m_done) - { - m_done = true; - return S_OK; - } - - assert(cConnections > 1 || m_done); - - return S_FALSE; - } - - virtual STDMETHODIMP Reset() - { - m_done = false; - return S_OK; - } - - virtual STDMETHODIMP Clone(IEnumConnectionPoints ** ppEnum) - { - if(ppEnum == NULL) - return E_POINTER; - - *ppEnum = new CEnumConnectionPoints(*this); - - if(*ppEnum == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - }; - - /* Pay no attention, ActiveX glue... */ - LRESULT ControlWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) - { - switch(uMsg) - { - case WM_SIZE: - { - // TODO: resize UI - } - - return 0; - - case WM_PAINT: - { - LPCWSTR text = NULL; - - if(!m_Connected) - text = m_DisconnectedText; - else if(m_actuallyConnected) - text = m_ConnectedStatusText; - else - text = m_ConnectingText; - - RECT clientRect; - GetClientRect(m_controlWindow, &clientRect); - - PAINTSTRUCT ps; - HDC hdc = BeginPaint(m_controlWindow, &ps); - - SetBkColor(hdc, GetSysColor(COLOR_WINDOW)); - SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT)); - SelectObject(hdc, GetStockObject(SYSTEM_FONT)); - - RECT textRect = clientRect; - - DrawTextW - ( - hdc, - text, - -1, - &textRect, - DT_CENTER | DT_EDITCONTROL | DT_END_ELLIPSIS | DT_NOPREFIX | DT_WORDBREAK | DT_CALCRECT - ); - - if(textRect.right > clientRect.right) - textRect.right = clientRect.right; - - if(textRect.bottom > clientRect.bottom) - textRect.bottom = clientRect.bottom; - - textRect.left = (clientRect.right - textRect.right) / 2; - textRect.right += textRect.left; - textRect.top = (clientRect.bottom - textRect.bottom) / 2; - textRect.bottom += textRect.top; - - DrawTextW - ( - hdc, - text, - -1, - &textRect, - DT_CENTER | DT_EDITCONTROL | DT_END_ELLIPSIS | DT_NOPREFIX | DT_WORDBREAK - ); - - EndPaint(m_controlWindow, &ps); - } - - return 0; - - default: - { - LRESULT result; - - if(HandleEvent(uMsg, wParam, lParam, result)) - return result; - } - - break; - } - - return DefWindowProc(m_controlWindow, uMsg, wParam, lParam); - } - - static LRESULT CALLBACK ControlWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) - { - if(uMsg == WM_CREATE) - { - SetWindowLongPtr - ( - hwnd, - GWLP_USERDATA, - (LONG_PTR)reinterpret_cast(lParam)->lpCreateParams - ); - } - - RdpClient * Self = reinterpret_cast(GetWindowLongPtr(hwnd, GWLP_USERDATA)); - assert(Self); - - return Self->ControlWindowProc(uMsg, wParam, lParam); - } - - HRESULT CreateControlWindow(HWND hwndParent) - { - m_controlWindow = CreateWindow - ( - TEXT("MissTosca_Control"), - NULL, - WS_CHILD | WS_CLIPCHILDREN, - CW_USEDEFAULT, - CW_USEDEFAULT, - CW_USEDEFAULT, - CW_USEDEFAULT, - hwndParent, - NULL, - GetCurrentModule(), - this - ); - - if(m_controlWindow == NULL) - return HRESULT_FROM_WIN32(GetLastError()); - - m_UIParentWindowHandle = m_controlWindow; - return S_OK; - } - - HRESULT DestroyControlWindow() - { - if(m_controlWindow == NULL) - return S_FALSE; - - HWND controlWindow = NULL; - std::swap(controlWindow, m_controlWindow); - DestroyWindow(controlWindow); - return S_OK; - } - - HRESULT Activate(LONG iVerb, IOleClientSite * pActiveSite, HWND hwndParent, LPCRECT lprcPosRect) - { - if(pActiveSite == NULL) - pActiveSite = m_clientSite; - - if(pActiveSite == NULL) - return E_FAIL; - - // TODO: store this until we are closed or deactivated - IOleInPlaceSite * site; - - HRESULT hr = pActiveSite->QueryInterface(&site); - - if(FAILED(hr)) - return hr; - - IOleInPlaceFrame * frame = NULL; - IOleInPlaceUIWindow * uiWindow = NULL; - - for(;;) - { - hr = site->CanInPlaceActivate(); - - if(hr == S_FALSE) - hr = E_FAIL; - - if(FAILED(hr)) - break; - - site->OnInPlaceActivate(); - - if(hwndParent == NULL) - { - hr = site->GetWindow(&hwndParent); - - if(FAILED(hr)) - break; - } - - RECT rcPos; - RECT rcClip; - OLEINPLACEFRAMEINFO frameInfo = { sizeof(frameInfo) }; - - site->GetWindowContext(&frame, &uiWindow, &rcPos, &rcClip, &frameInfo); - - if(lprcPosRect == NULL) - lprcPosRect = &rcPos; - - if(m_controlWindow) - ShowWindow(m_controlWindow, SW_SHOW); - else - { - hr = CreateControlWindow(hwndParent); - - if(FAILED(hr)) - break; - } - - SetObjectRects(lprcPosRect, &rcClip); - - // UI activation - if((iVerb == OLEIVERB_PRIMARY || iVerb == OLEIVERB_UIACTIVATE) && !m_uiActive) - { - m_uiActive = true; - - hr = site->OnUIActivate(); - - if(FAILED(hr)) - break; - - SetWindowPos - ( - m_controlWindow, - NULL, - lprcPosRect->left, - lprcPosRect->top, - lprcPosRect->right - lprcPosRect->left, - lprcPosRect->bottom - lprcPosRect->top, - SWP_SHOWWINDOW - ); - - if(frame) - { - frame->SetActiveObject(this, NULL); - frame->SetBorderSpace(NULL); - } - - if(uiWindow) - { - uiWindow->SetActiveObject(this, NULL); - uiWindow->SetBorderSpace(NULL); - } - } - - break; - } - - if(uiWindow) - uiWindow->Release(); - - if(frame) - frame->Release(); - - site->Release(); - - if(SUCCEEDED(hr)) - pActiveSite->ShowObject(); - - return hr; - } - -public: - /* IUnknown */ - /* - NOTE: this is the delegating implementation, to support aggregation. The actual - implementation is RdpClientInner, above - */ - virtual STDMETHODIMP IUnknown::QueryInterface(REFIID riid, void ** ppvObject) - { - return m_punkOuter->QueryInterface(riid, ppvObject); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() - { - return m_punkOuter->AddRef(); - } - - virtual STDMETHODIMP_(ULONG) IUnknown::Release() - { - return m_punkOuter->Release(); - } - - /* IDispatch */ - virtual STDMETHODIMP IDispatch::GetTypeInfoCount(UINT * pctinfo) - { - *pctinfo = 1; - return S_OK; - } - - virtual STDMETHODIMP IDispatch::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo ** ppTInfo) - { - if(iTInfo != 0) - return DISP_E_BADINDEX; - - return AcquireDispTypeInfo(ppTInfo); - } - - virtual STDMETHODIMP IDispatch::GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - return m_dispTypeInfo->GetIDsOfNames(rgszNames, cNames, rgDispId); - } - - virtual STDMETHODIMP IDispatch::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr) - { - HRESULT hr = LoadDispTypeInfo(); - - if(FAILED(hr)) - return hr; - - return m_dispTypeInfo->Invoke - ( - static_cast(this), - dispIdMember, - wFlags, - pDispParams, - pVarResult, - pExcepInfo, - puArgErr - ); - } - - /* IConnectionPoint */ - virtual STDMETHODIMP GetConnectionInterface(IID * pIID) - { - if(pIID == NULL) - return E_POINTER; - - *pIID = MSTSCLib::DIID_IMsTscAxEvents; - return S_OK; - } - - virtual STDMETHODIMP GetConnectionPointContainer(IConnectionPointContainer ** ppCPC) - { - if(ppCPC == NULL) - return E_POINTER; - - addRef(); - *ppCPC = this; - return S_OK; - } - - virtual STDMETHODIMP Advise(IUnknown * pUnkSink, DWORD * pdwCookie) - { - MSTSCLib::IMsTscAxEvents * sink; - - if(FAILED(pUnkSink->QueryInterface(&sink))) - return CONNECT_E_CANNOTCONNECT; - - MSTSCLib::IMsTscAxEvents ** sinks = GetSinks(); - DWORD cookie = 0; - - if(m_EventSinksCount) - { - bool found = false; - - for(size_t i = 0; i < m_EventSinksCount; ++ i) - { - found = (sinks[i] == NULL); - - if(found) - { - cookie = static_cast(i); - break; - } - } - - if(!found) - { - MSTSCLib::IMsTscAxEvents ** newSinks = new MSTSCLib::IMsTscAxEvents *[m_EventSinksCount + 1]; - - if(newSinks == NULL) - { - sink->Release(); - return E_OUTOFMEMORY; - } - - std::copy(sinks, sinks + m_EventSinksCount, newSinks); - - m_EventSinks = newSinks; - sinks = newSinks; - - cookie = static_cast(m_EventSinksCount); - } - } - - sinks[cookie] = sink; - *pdwCookie = cookie; - - return S_OK; - } - - virtual STDMETHODIMP Unadvise(DWORD dwCookie) - { - MSTSCLib::IMsTscAxEvents ** sinks = GetSinks(); - - if(dwCookie >= m_EventSinksCount || sinks[dwCookie] == NULL) - return CONNECT_E_NOCONNECTION; - - sinks[dwCookie]->Release(); - sinks[dwCookie] = NULL; - - // BUGBUG: the array currently grows forever. Trim it whenever possible - - return S_OK; - } - - virtual STDMETHODIMP EnumConnections(IEnumConnections ** ppEnum) - { - // I see no real value in this - return E_NOTIMPL; - } - - /* IConnectionPointContainer */ - virtual STDMETHODIMP IConnectionPointContainer::EnumConnectionPoints(IEnumConnectionPoints ** ppEnum) - { - *ppEnum = new CEnumConnectionPoints(this); - - if(*ppEnum == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - - virtual STDMETHODIMP IConnectionPointContainer::FindConnectionPoint(REFIID riid, IConnectionPoint ** ppCP) - { - if(riid != MSTSCLib::DIID_IMsTscAxEvents) - return CONNECT_E_NOCONNECTION; - - addRef(); - *ppCP = this; - - return S_OK; - } - - /* IDataObject */ // 0/9 - virtual STDMETHODIMP IDataObject::GetData(FORMATETC * pformatetcIn, STGMEDIUM * pmedium) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::GetDataHere(FORMATETC * pformatetc, STGMEDIUM * pmedium) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::QueryGetData(FORMATETC * pformatetc) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::GetCanonicalFormatEtc(FORMATETC * pformatectIn, FORMATETC * pformatetcOut) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::SetData(FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::DAdvise(FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::DUnadvise(DWORD dwConnection) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IDataObject::EnumDAdvise(IEnumSTATDATA ** ppenumAdvise) - { - return E_NOTIMPL; - } - - /* IObjectSafety */ - virtual STDMETHODIMP IObjectSafety::GetInterfaceSafetyOptions(REFIID riid, DWORD * pdwSupportedOptions, DWORD * pdwEnabledOptions) - { - if(pdwSupportedOptions == NULL || pdwEnabledOptions == NULL) - return E_POINTER; - - if(riid != IID_IDispatch) - return E_NOINTERFACE; - - *pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER; - *pdwEnabledOptions = m_SafetyOptions; - return S_OK; - } - - virtual STDMETHODIMP IObjectSafety::SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) - { - if(riid != IID_IDispatch) - return E_NOINTERFACE; - - m_SafetyOptions = dwEnabledOptions & (dwOptionSetMask & INTERFACESAFE_FOR_UNTRUSTED_CALLER); - return S_OK; - } - - /* IOleControl */ // 3/4 - virtual STDMETHODIMP IOleControl::GetControlInfo(CONTROLINFO * pCI) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleControl::OnMnemonic(MSG * pMsg) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleControl::OnAmbientPropertyChange(DISPID dispID) - { - return S_OK; - } - - virtual STDMETHODIMP IOleControl::FreezeEvents(BOOL bFreeze) - { - if(bFreeze) - InterlockedIncrement(&m_freezeEvents); - else if(InterlockedDecrement(&m_freezeEvents) == 0) - UnfreezeEvents(); - - return S_OK; - } - - /* IOleInPlaceActiveObject */ // 3/5 - virtual STDMETHODIMP IOleInPlaceActiveObject::TranslateAccelerator(LPMSG lpmsg) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceActiveObject::OnFrameWindowActivate(BOOL fActivate) - { - // TODO - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceActiveObject::OnDocWindowActivate(BOOL fActivate) - { - // TODO - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceActiveObject::ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow * pUIWindow, BOOL fFrameWindow) - { - return S_OK; - } - - virtual STDMETHODIMP IOleInPlaceActiveObject::EnableModeless(BOOL fEnable) - { - return S_OK; - } - - /* IOleInPlaceObject */ // 1/4 - virtual STDMETHODIMP IOleInPlaceObject::InPlaceDeactivate() - { - // TODO: UIDeactivate, destroy window, inplacesite->OnInPlaceDeactivate - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceObject::UIDeactivate() - { - // TODO - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceObject::SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect) - { - if(m_controlWindow == NULL) - return E_FAIL; - - MoveWindow - ( - m_controlWindow, - lprcPosRect->left, - lprcPosRect->top, - lprcPosRect->right - lprcPosRect->left, - lprcPosRect->bottom - lprcPosRect->top, - TRUE - ); - - SetWindowRgn(m_controlWindow, CreateRectRgnIndirect(lprcClipRect), TRUE); - - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleInPlaceObject::ReactivateAndUndo() - { - return E_NOTIMPL; - } - - /* IOleObject */ // 18/21 - virtual STDMETHODIMP IOleObject::SetClientSite(IOleClientSite * pClientSite) - { - if(m_clientSite) - m_clientSite->Release(); - - m_clientSite = pClientSite; - - if(m_clientSite) - m_clientSite->AddRef(); - - return S_OK; - } - - virtual STDMETHODIMP IOleObject::GetClientSite(IOleClientSite ** ppClientSite) - { - if(ppClientSite == NULL) - return E_POINTER; - - if(m_clientSite) - m_clientSite->AddRef(); - - *ppClientSite = m_clientSite; - return S_OK; - } - - virtual STDMETHODIMP IOleObject::SetHostNames(LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) - { - return S_OK; - } - - virtual STDMETHODIMP IOleObject::Close(DWORD dwSaveOption) - { - // TODO: deactivate, destroy window, release in-place site, release advise sink - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IOleObject::SetMoniker(DWORD dwWhichMoniker, IMoniker * pmk) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleObject::GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleObject::InitFromData(IDataObject * pDataObject, BOOL fCreation, DWORD dwReserved) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleObject::GetClipboardData(DWORD dwReserved, IDataObject ** ppDataObject) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleObject::DoVerb(LONG iVerb, LPMSG lpmsg, IOleClientSite * pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) - { - HRESULT hr; - - switch(iVerb) - { - case OLEIVERB_PRIMARY: - case OLEIVERB_SHOW: - case OLEIVERB_UIACTIVATE: - case OLEIVERB_INPLACEACTIVATE: - hr = S_OK; - break; - - default: - if(iVerb > 0) - hr = OLEOBJ_S_INVALIDVERB; - else - hr = E_NOTIMPL; - } - - if(FAILED(hr)) - return hr; - - HRESULT hrActivate = Activate(iVerb, pActiveSite, hwndParent, lprcPosRect); - - if(FAILED(hrActivate)) - hr = hrActivate; - - return hr; - } - - virtual STDMETHODIMP IOleObject::EnumVerbs(IEnumOLEVERB ** ppEnumOleVerb) - { - return OleRegEnumVerbs(m_classId, ppEnumOleVerb); - } - - virtual STDMETHODIMP IOleObject::Update() - { - return S_OK; - } - - virtual STDMETHODIMP IOleObject::IsUpToDate() - { - return S_OK; - } - - virtual STDMETHODIMP IOleObject::GetUserClassID(CLSID * pClsid) - { - *pClsid = m_classId; - return S_OK; - } - - virtual STDMETHODIMP IOleObject::GetUserType(DWORD dwFormOfType, LPOLESTR * pszUserType) - { - return OleRegGetUserType(m_classId, dwFormOfType, pszUserType); - } - - virtual STDMETHODIMP IOleObject::SetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - // TODO: resize - return E_NOTIMPL; - } - - virtual STDMETHODIMP IOleObject::GetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - // TODO: return size - return E_NOTIMPL; - } - - HRESULT NeedAdviseHolder() - { - if(m_adviseHolder) - return S_OK; - - return CreateOleAdviseHolder(&m_adviseHolder); - } - - virtual STDMETHODIMP IOleObject::Advise(IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - HRESULT hr = NeedAdviseHolder(); - - if(FAILED(hr)) - return hr; - - return m_adviseHolder->Advise(pAdvSink, pdwConnection); - } - - virtual STDMETHODIMP IOleObject::Unadvise(DWORD dwConnection) - { - HRESULT hr = NeedAdviseHolder(); - - if(FAILED(hr)) - return hr; - - return m_adviseHolder->Unadvise(dwConnection); - } - - virtual STDMETHODIMP IOleObject::EnumAdvise(IEnumSTATDATA ** ppenumAdvise) - { - HRESULT hr = NeedAdviseHolder(); - - if(FAILED(hr)) - return hr; - - return m_adviseHolder->EnumAdvise(ppenumAdvise); - } - - virtual STDMETHODIMP IOleObject::GetMiscStatus(DWORD dwAspect, DWORD * pdwStatus) - { - return OleRegGetMiscStatus(m_classId, dwAspect, pdwStatus); - } - - virtual STDMETHODIMP IOleObject::SetColorScheme(LOGPALETTE * pLogpal) - { - return E_NOTIMPL; - } - - /* IOleWindow */ - virtual STDMETHODIMP IOleWindow::GetWindow(HWND * phwnd) - { - if(phwnd == NULL) - return E_POINTER; - - if(m_controlWindow == NULL) - return E_FAIL; - - *phwnd = m_controlWindow; - return S_OK; - } - - virtual STDMETHODIMP IOleWindow::ContextSensitiveHelp(BOOL fEnterMode) - { - return E_NOTIMPL; - } - - /* IPersist */ - virtual STDMETHODIMP IPersist::GetClassID(CLSID * pClassID) - { - *pClassID = m_classId; - return S_OK; - } - - /* IPersistPropertyBag */ // 0/3 - virtual STDMETHODIMP IPersistPropertyBag::InitNew() - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistPropertyBag::Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistPropertyBag::Save(IPropertyBag * pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) - { - return E_NOTIMPL; - } - - /* IPersistStorage */ // 0/6 - virtual STDMETHODIMP IPersistStorage::IsDirty() - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStorage::InitNew(IStorage * pStg) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStorage::Load(IStorage * pStg) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStorage::Save(IStorage * pStgSave, BOOL fSameAsLoad) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStorage::SaveCompleted(IStorage * pStgNew) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStorage::HandsOffStorage() - { - return E_NOTIMPL; - } - - /* IPersistStreamInit */ // 0/5 - virtual STDMETHODIMP IPersistStreamInit::IsDirty() - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStreamInit::Load(LPSTREAM pStm) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStreamInit::Save(LPSTREAM pStm, BOOL fClearDirty) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStreamInit::GetSizeMax(ULARGE_INTEGER * pCbSize) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IPersistStreamInit::InitNew() - { - return E_NOTIMPL; - } - - /* IProvideClassInfo */ - virtual STDMETHODIMP IProvideClassInfo::GetClassInfo(ITypeInfo ** ppTI) - { - HRESULT hr = LoadTypeLibrary(); - - if(FAILED(hr)) - return hr; - - return m_typeLib->GetTypeInfoOfGuid(m_classId, ppTI); - } - - /* IProvideClassInfo2 */ - virtual STDMETHODIMP IProvideClassInfo2::GetGUID(DWORD dwGuidKind, GUID * pGUID) - { - if(dwGuidKind != GUIDKIND_DEFAULT_SOURCE_DISP_IID) - return E_INVALIDARG; - - *pGUID = MSTSCLib::DIID_IMsTscAxEvents; - return S_OK; - } - - /* IQuickActivate */ - virtual STDMETHODIMP IQuickActivate::QuickActivate(QACONTAINER * pQaContainer, QACONTROL * pQaControl) - { - if(pQaContainer == NULL || pQaControl == NULL) - return E_POINTER; - - if(pQaContainer->cbSize < sizeof(*pQaContainer) || pQaControl->cbSize < sizeof(*pQaControl)) - return E_INVALIDARG; - - ULONG cb = pQaControl->cbSize; - ZeroMemory(pQaControl, cb); - pQaControl->cbSize = cb; - - SetClientSite(pQaContainer->pClientSite); - - if(pQaContainer->pAdviseSink) - SetAdvise(DVASPECT_CONTENT, 0, pQaContainer->pAdviseSink); - - if(pQaContainer->pUnkEventSink) - Advise(pQaContainer->pUnkEventSink, &pQaControl->dwEventCookie); - - GetMiscStatus(DVASPECT_CONTENT, &pQaControl->dwMiscStatus); - - return E_NOTIMPL; - } - - virtual STDMETHODIMP IQuickActivate::SetContentExtent(LPSIZEL pSizel) - { - return SetExtent(DVASPECT_CONTENT, pSizel); - } - - virtual STDMETHODIMP IQuickActivate::GetContentExtent(LPSIZEL pSizel) - { - return GetExtent(DVASPECT_CONTENT, pSizel); - } - - /* IViewObject */ // 3/6 - virtual STDMETHODIMP IViewObject::Draw(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE * pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IViewObject::GetColorSet(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hicTargetDev, LOGPALETTE ** ppColorSet) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IViewObject::Freeze(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DWORD * pdwFreeze) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IViewObject::Unfreeze(DWORD dwFreeze) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IViewObject::SetAdvise(DWORD aspects, DWORD advf, IAdviseSink * pAdvSink) - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IViewObject::GetAdvise(DWORD * pAspects, DWORD * pAdvf, IAdviseSink ** ppAdvSink) - { - return E_NOTIMPL; // TODO - } - - /* IViewObject2 */ // 0/1 - virtual STDMETHODIMP IViewObject2::GetExtent(DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE * ptd, LPSIZEL lpsizel) - { - return E_NOTIMPL; // TODO - } - - /* IMsTscAx */ // 23/30 - virtual STDMETHODIMP IMsTscAx::put_Server(BSTR pServer) - { - // FIXME: convert the hostname to Punycode, not the ANSI codepage - return SetProperty(m_Server, pServer); - } - - virtual STDMETHODIMP IMsTscAx::get_Server(BSTR * pServer) const - { - return GetProperty(m_Server, pServer); - } - - virtual STDMETHODIMP IMsTscAx::put_Domain(BSTR pDomain) - { - return SetProperty(m_Domain, pDomain); - } - - virtual STDMETHODIMP IMsTscAx::get_Domain(BSTR * pDomain) const - { - return GetProperty(m_Domain, pDomain); - } - - virtual STDMETHODIMP IMsTscAx::put_UserName(BSTR pUserName) - { - return SetProperty(m_UserName, pUserName); - } - - virtual STDMETHODIMP IMsTscAx::get_UserName(BSTR * pUserName) const - { - return GetProperty(m_UserName, pUserName); - } - - virtual STDMETHODIMP IMsTscAx::put_DisconnectedText(BSTR pDisconnectedText) - { - return SetProperty(m_DisconnectedText, pDisconnectedText); - } - - virtual STDMETHODIMP IMsTscAx::get_DisconnectedText(BSTR * pDisconnectedText) const - { - return GetProperty(m_DisconnectedText, pDisconnectedText); - } - - virtual STDMETHODIMP IMsTscAx::put_ConnectingText(BSTR pConnectingText) - { - return SetProperty(m_ConnectingText, pConnectingText); - } - - virtual STDMETHODIMP IMsTscAx::get_ConnectingText(BSTR * pConnectingText) const - { - return GetProperty(m_ConnectingText, pConnectingText); - } - - virtual STDMETHODIMP IMsTscAx::get_Connected(short * pIsConnected) const - { - return GetProperty(m_Connected, pIsConnected); - } - - virtual STDMETHODIMP IMsTscAx::put_DesktopWidth(long pVal) - { - if(pVal < 200 || pVal > 1600) - return E_INVALIDARG; - - return SetProperty(m_DesktopWidth, pVal); - } - - virtual STDMETHODIMP IMsTscAx::get_DesktopWidth(long * pVal) const - { - return GetProperty(m_DesktopWidth, pVal); - } - - virtual STDMETHODIMP IMsTscAx::put_DesktopHeight(long pVal) - { - if(pVal < 200 || pVal > 1200) - return E_INVALIDARG; - - return SetProperty(m_DesktopHeight, pVal); - } - - virtual STDMETHODIMP IMsTscAx::get_DesktopHeight(long * pVal) const - { - return GetProperty(m_DesktopHeight, pVal); - } - - virtual STDMETHODIMP IMsTscAx::put_StartConnected(long pfStartConnected) - { - return SetProperty(m_StartConnected, pfStartConnected); - } - - virtual STDMETHODIMP IMsTscAx::get_StartConnected(long * pfStartConnected) const - { - return GetProperty(m_StartConnected, pfStartConnected); - } - - virtual STDMETHODIMP IMsTscAx::get_HorizontalScrollBarVisible(long * pfHScrollVisible) const - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsTscAx::get_VerticalScrollBarVisible(long * pfVScrollVisible) const - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsTscAx::put_FullScreenTitle(BSTR rhs) - { - // TODO - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscAx::get_CipherStrength(long * pCipherStrength) const - { - if(pCipherStrength == NULL) - return E_INVALIDARG; - - *pCipherStrength = 128; // BUGBUG: a later version may change this. Use a compile-time constant - return S_OK; - } - - virtual STDMETHODIMP IMsTscAx::get_Version(BSTR * pVersion) const - { - if(pVersion == NULL) - return E_INVALIDARG; - - BSTR version = SysAllocString(L"5.2.3790.1830"); // BUGBUG: don't use hardcoded string - - if(version == NULL) - return E_OUTOFMEMORY; - - *pVersion = version; - return S_OK; - } - - virtual STDMETHODIMP IMsTscAx::get_SecuredSettingsEnabled(long * pSecuredSettingsEnabled) const - { - // TODO: initialize m_SecuredSettingsEnabled as soon as we have an OLE client site - return GetProperty(m_SecuredSettingsEnabled, pSecuredSettingsEnabled); - } - - virtual STDMETHODIMP IMsTscAx::get_SecuredSettings(MSTSCLib::IMsTscSecuredSettings ** ppSecuredSettings) const - { - return GetSecuredSettings(ppSecuredSettings); - } - - virtual STDMETHODIMP IMsTscAx::get_AdvancedSettings(MSTSCLib::IMsTscAdvancedSettings ** ppAdvSettings) const - { - return GetAdvancedSettings(ppAdvSettings); - } - - virtual STDMETHODIMP IMsTscAx::get_Debugger(MSTSCLib::IMsTscDebug ** ppDebugger) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscAx::Connect() - { - if(m_Connected) - { - // Protocol thread waiting for a manual reconnection: wake it up - if(m_protocolThreadWaitingReconnection) - { - SetEvent(m_protocolThreadWaitingReconnection); - return S_OK; - } - - return E_FAIL; - } - - m_Connected = true; - - HRESULT hr; - - if(m_controlWindow == NULL) - { - hr = CreateControlWindow(NULL); - - if(FAILED(hr)) - return hr; - } - - for(;;) - { - // TODO: initialize plugin DLLs/channels - - m_clientUI = new RdpClientUI(); - - if(m_clientUI == NULL) - { - hr = E_OUTOFMEMORY; - break; - } - - m_clientUI->Initialize(m_controlWindow); - - m_protocolState.licence_username = BstrToLpsz(m_UserName); - - if(m_protocolState.licence_username == NULL) - { - hr = E_OUTOFMEMORY; - break; - } - - DWORD dwSize = ARRAYSIZE(m_protocolState.licence_hostname); - - if(!GetComputerNameA(m_protocolState.licence_hostname, &dwSize)) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - break; - } - - // Keyboard layout - // BUGBUG: not too sure about the semantics - long keyboardLayout = -1; - WCHAR * endPtr = NULL; - - if(m_KeyboardLayoutString) - keyboardLayout = wcstol(m_KeyboardLayoutString, &endPtr, 0); - - // no keyboard layout specified or invalid keyboard layout: use current keyboard layout - if(endPtr == NULL || *endPtr == 0 || keyboardLayout == -1) - keyboardLayout = PtrToLong(GetKeyboardLayout(0)); // FIXME? use LOWORD()? - - m_protocolState.keylayout = keyboardLayout; - - // in case of failure, assume English (US) - if(m_protocolState.keylayout == 0) - m_protocolState.keylayout = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US); - - // Physical keyboard information - m_protocolState.keyboard_type = GetKeyboardType(0); - m_protocolState.keyboard_subtype = GetKeyboardType(1); - m_protocolState.keyboard_functionkeys = GetKeyboardType(2); - - // in case of failure, assume an IBM Enhanced keyboard with 12 function keys - if(m_protocolState.keyboard_type == 0 || m_protocolState.keyboard_functionkeys == 0) - { - m_protocolState.keyboard_type = 4; - m_protocolState.keyboard_subtype = 0; - m_protocolState.keyboard_functionkeys = 12; - } - - // More initialization - m_protocolState.width = m_DesktopWidth; - m_protocolState.height = m_DesktopHeight; - m_protocolState.server_depth = m_ColorDepth; - m_protocolState.bitmap_compression = m_Compress ? TRUE : FALSE; - m_protocolState.bitmap_cache = True; // TODO - m_protocolState.bitmap_cache_persist_enable = False; // TODO - m_protocolState.bitmap_cache_precache = True; // FIXME? - m_protocolState.encryption = m_EncryptionEnabled ? TRUE : FALSE; // TBD: detect automatically - m_protocolState.packet_encryption = m_EncryptionEnabled ? TRUE : FALSE; - m_protocolState.desktop_save = True; // FIXME? tie to bitmap cache setting? - m_protocolState.polygon_ellipse_orders = True; - m_protocolState.use_rdp5 = True; // TBD: detect automatically - m_protocolState.console_session = m_ConnectToServerConsole ? TRUE : FALSE; - m_protocolState.rdp5_performanceflags = m_PerformanceFlags; - m_protocolState.tcp_port_rdp = m_RDPPort; - m_protocolState.rdp.current_status = 1; - - // TODO: cache tuning based on the provided parameters - - m_protocolState.cache.bmpcache_lru[0] = -1; - m_protocolState.cache.bmpcache_lru[1] = -1; - m_protocolState.cache.bmpcache_lru[2] = -1; - m_protocolState.cache.bmpcache_mru[0] = -1; - m_protocolState.cache.bmpcache_mru[1] = -1; - m_protocolState.cache.bmpcache_mru[2] = -1; - - DWORD dwIgnore; - m_protocolThread = CreateThread(NULL, 0, ProtocolLoopThreadProc, this, 0, &dwIgnore); - - hr = S_OK; - break; - } - - if(FAILED(hr)) - m_Connected = false; - - return hr; - } - - virtual STDMETHODIMP IMsTscAx::Disconnect() - { - if(!m_Connected) - return E_FAIL; - - // Terminate the protocol thread. On exit, it will fire the Disconnected event - TerminateProtocolThread(); - return S_OK; - } - - virtual STDMETHODIMP IMsTscAx::CreateVirtualChannels(BSTR newVal) - { - UINT strLength = SysStringLen(newVal); - - if(strLength < 1 || strLength > 300) - return E_INVALIDARG; - - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsTscAx::SendOnVirtualChannel(BSTR chanName, BSTR ChanData) - { - return E_NOTIMPL; // TODO - } - - /* IMsRdpClient */ // 6/10 - virtual STDMETHODIMP IMsRdpClient::put_ColorDepth(long pcolorDepth) - { - switch(pcolorDepth) - { - case 8: - case 15: - case 16: - case 24: - case 32: - break; - - default: - return E_INVALIDARG; - } - - return SetProperty(m_ColorDepth, pcolorDepth); - } - - virtual STDMETHODIMP IMsRdpClient::get_ColorDepth(long * pcolorDepth) const - { - return GetProperty(m_ColorDepth, pcolorDepth); - } - - virtual STDMETHODIMP IMsRdpClient::get_AdvancedSettings2(MSTSCLib::IMsRdpClientAdvancedSettings ** ppAdvSettings) const - { - return GetAdvancedSettings(ppAdvSettings); - } - - virtual STDMETHODIMP IMsRdpClient::get_SecuredSettings2(MSTSCLib::IMsRdpClientSecuredSettings ** ppSecuredSettings) const - { - return GetSecuredSettings(ppSecuredSettings); - } - - virtual STDMETHODIMP IMsRdpClient::get_ExtendedDisconnectReason(MSTSCLib::ExtendedDisconnectReasonCode * pExtendedDisconnectReason) const - { - return GetProperty(m_ExtendedDisconnectReason, pExtendedDisconnectReason); - } - - virtual STDMETHODIMP IMsRdpClient::put_FullScreen(VARIANT_BOOL pfFullScreen) - { - if(!m_Connected) - return E_FAIL; - - if(pfFullScreen && !m_SecuredSettingsEnabled) - return E_FAIL; - - // TODO - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsRdpClient::get_FullScreen(VARIANT_BOOL * pfFullScreen) const - { - return GetProperty(m_FullScreen, pfFullScreen); - } - - virtual STDMETHODIMP IMsRdpClient::SetVirtualChannelOptions(BSTR chanName, long chanOptions) - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsRdpClient::GetVirtualChannelOptions(BSTR chanName, long * pChanOptions) - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsRdpClient::RequestClose(MSTSCLib::ControlCloseStatus * pCloseStatus) - { - if(pCloseStatus == NULL) - return E_POINTER; - - if(!m_Connected) - { - *pCloseStatus = MSTSCLib::controlCloseCanProceed; - return S_OK; - } - - *pCloseStatus = MSTSCLib::controlCloseWaitForEvents; - - if(!PostMessage(m_controlWindow, RDPC_WM_REQUEST_CLOSE, 0, 0)) - return HRESULT_FROM_WIN32(GetLastError()); - - return S_OK; - } - - /* IMsRdpClient2 */ - virtual STDMETHODIMP IMsRdpClient2::get_AdvancedSettings3(MSTSCLib::IMsRdpClientAdvancedSettings2 ** ppAdvSettings) const - { - return GetAdvancedSettings(ppAdvSettings); - } - - virtual STDMETHODIMP IMsRdpClient2::put_ConnectedStatusText(BSTR pConnectedStatusText) - { - return SetProperty(m_ConnectedStatusText, pConnectedStatusText); - } - - virtual STDMETHODIMP IMsRdpClient2::get_ConnectedStatusText(BSTR * pConnectedStatusText) const - { - return GetProperty(m_ConnectedStatusText, pConnectedStatusText); - } - - /* IMsRdpClient3 */ - virtual STDMETHODIMP IMsRdpClient3::get_AdvancedSettings4(MSTSCLib::IMsRdpClientAdvancedSettings3 ** ppAdvSettings) const - { - return GetAdvancedSettings(ppAdvSettings); - } - - /* IMsRdpClient4 */ - virtual STDMETHODIMP IMsRdpClient4::get_AdvancedSettings5(MSTSCLib::IMsRdpClientAdvancedSettings4 ** ppAdvSettings5) const - { - return GetAdvancedSettings(ppAdvSettings5); - } - - /* IMsTscNonScriptable */ - virtual STDMETHODIMP IMsTscNonScriptable::put_ClearTextPassword(BSTR rhs) - { - return SetProperty(m_ClearTextPassword, rhs); - } - - virtual STDMETHODIMP IMsTscNonScriptable::put_PortablePassword(BSTR pPortablePass) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::get_PortablePassword(BSTR * pPortablePass) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::put_PortableSalt(BSTR pPortableSalt) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::get_PortableSalt(BSTR * pPortableSalt) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::put_BinaryPassword(BSTR pBinaryPassword) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::get_BinaryPassword(BSTR * pBinaryPassword) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::put_BinarySalt(BSTR pSalt) - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::get_BinarySalt(BSTR * pSalt) const - { - return E_NOTIMPL; - } - - virtual STDMETHODIMP IMsTscNonScriptable::ResetPassword() - { - return SetProperty(m_ClearTextPassword, NULL); - } - - /* IMsRdpClientNonScriptable */ // 0/2 - virtual STDMETHODIMP IMsRdpClientNonScriptable::NotifyRedirectDeviceChange(MSTSCLib::UINT_PTR wParam, MSTSCLib::LONG_PTR lParam) - { - return E_NOTIMPL; // TODO - } - - virtual STDMETHODIMP IMsRdpClientNonScriptable::SendKeys(long numKeys, VARIANT_BOOL * pbArrayKeyUp, long * plKeyData) - { - // NOTE: the keys must be sent in a single, atomic sequence - // TODO: acquire the write lock - return E_NOTIMPL; // TODO - } - - /* IMsRdpClientNonScriptable2 */ - virtual STDMETHODIMP IMsRdpClientNonScriptable2::put_UIParentWindowHandle(HWND phwndUIParentWindowHandle) - { - return SetProperty(m_UIParentWindowHandle, phwndUIParentWindowHandle); - } - - virtual STDMETHODIMP IMsRdpClientNonScriptable2::get_UIParentWindowHandle(HWND * phwndUIParentWindowHandle) const - { - return GetProperty(m_UIParentWindowHandle, phwndUIParentWindowHandle); - } -}; - -#pragma warning(pop) - -/* More glue to interface to the rdesktop code */ -extern "C" -{ - -/* Orders */ -/* support routines */ -void ui_begin_update(RDPCLIENT * This) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_BeginUpdate(); -} - -void ui_end_update(RDPCLIENT * This) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_EndUpdate(); -} - -void ui_set_clip(RDPCLIENT * This, int x, int y, int cx, int cy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_SetClip(x, y, cx, cy); -} - -void ui_reset_clip(RDPCLIENT * This) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_ResetClip(); -} - -/* blits */ -void ui_destblt(RDPCLIENT * This, uint8 opcode, int x, int y, int cx, int cy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_DestBlt(opcode, x, y, cx, cy); -} - -void ui_memblt(RDPCLIENT * This, uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_MemBlt(opcode, x, y, cx, cy, src, srcx, srcy); -} - -void ui_patblt(RDPCLIENT * This, uint8 opcode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour, int fgcolour) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_PatBlt(opcode, x, y, cx, cy, brush, bgcolour, fgcolour); -} - -void ui_screenblt(RDPCLIENT * This, uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_ScreenBlt(opcode, x, y, cx, cy, srcx, srcy); -} - -void ui_triblt(RDPCLIENT * This, uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy, BRUSH * brush, int bgcolour, int fgcolour) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_TriBlt(opcode, x, y, cx, cy, src, srcx, srcy, brush, bgcolour, fgcolour); -} - -void ui_paint_bitmap(RDPCLIENT * This, int x, int y, int cx, int cy, int width, int height, uint8 * data) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_PaintBitmap(x, y, cx, cy, width, height, data); -} - -/* shapes */ -void ui_ellipse(RDPCLIENT * This, uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour, int fgcolour) -{ - // TODO -// RdpClient::InnerToOuter(This)->GetUI()->Display_Ellipse(opcode, fillmode, x, y, cx, cy, brush, bgcolour, fgcolour); -} - -void ui_line(RDPCLIENT * This, uint8 opcode, int startx, int starty, int endx, int endy, PEN * pen) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_Line(opcode, startx, starty, endx, endy, pen); -} - -void ui_polygon(RDPCLIENT * This, uint8 opcode, uint8 fillmode, POINT * point, int npoints, BRUSH * brush, int bgcolour, int fgcolour) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_Polygon(opcode, fillmode, point, npoints, brush, bgcolour, fgcolour); -} - -void ui_polyline(RDPCLIENT * This, uint8 opcode, POINT * points, int npoints, PEN * pen) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_Polyline(opcode, points, npoints, pen); -} - -void ui_rect(RDPCLIENT * This, int x, int y, int cx, int cy, int colour) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_Rect(x, y, cx, cy, colour); -} - -/* text */ -void ui_draw_text -( - RDPCLIENT * This, - uint8 font, - uint8 flags, - uint8 opcode, - int mixmode, - int x, - int y, - int clipx, - int clipy, - int clipcx, - int clipcy, - int boxx, - int boxy, - int boxcx, - int boxcy, - BRUSH * brush, - int bgcolour, - int fgcolour, - uint8 * text, - uint8 length -) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_DrawText - ( - font, - flags, - opcode, - mixmode, - x, - y, - clipx, - clipy, - clipcx, - clipcy, - boxx, - boxy, - boxcx, - boxcy, - brush, - bgcolour, - fgcolour, - text, - length - ); -} - -/* desktop save/restore */ -void ui_desktop_save(RDPCLIENT * This, uint32 offset, int x, int y, int cx, int cy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_SaveDesktop(offset, x, y, cx, cy); -} - -void ui_desktop_restore(RDPCLIENT * This, uint32 offset, int x, int y, int cx, int cy) -{ - RdpClient::InnerToOuter(This)->GetUI()->Display_RestoreDesktop(offset, x, y, cx, cy); -} - -/* Resources */ -/* bitmaps */ -HBITMAP ui_create_bitmap(RDPCLIENT * This, int width, int height, uint8 * data) -{ - return win32_create_dib(width, height, This->server_depth, data); -} - -void ui_destroy_bitmap(RDPCLIENT *, HBITMAP bmp) -{ - DeleteObject(bmp); -} - -/* palettes */ -HCOLOURMAP ui_create_colourmap(RDPCLIENT *, COLOURMAP * colours) -{ - return NULL; -} - -void ui_set_colourmap(RDPCLIENT * This, HCOLOURMAP map) -{ - // TODO -} - -/* cursors */ -HCURSOR ui_create_cursor(RDPCLIENT * This, unsigned int x, unsigned int y, int width, int height, uint8 * andmask, uint8 * xormask) -{ - uint8 * andbuf = NULL; - uint8 * xorbuf = NULL; - - uint8 * andbits = win32_convert_scanlines(width, - height, 1, 2, 4, andmask, &andbuf); - uint8 * xorbits = win32_convert_scanlines(width, height, 24, 2, 4, xormask, &xorbuf); - - HBITMAP hbmMask = CreateBitmap(width, height, 1, 1, andbits); - HBITMAP hbmColor = win32_create_dib(width, height, 24, xorbits); - - ICONINFO iconinfo; - iconinfo.fIcon = FALSE; - iconinfo.xHotspot = x; - iconinfo.yHotspot = y; - iconinfo.hbmMask = hbmMask; - iconinfo.hbmColor = hbmColor; - - HICON icon = CreateIconIndirect(&iconinfo); - - if(icon == NULL) - error("CreateIconIndirect %dx%d failed\n", width, height); - - if(andbuf) - delete[] andbuf; - - if(xorbuf) - delete[] xorbuf; - - DeleteObject(hbmMask); - DeleteObject(hbmColor); - - return icon; -} - -void ui_destroy_cursor(RDPCLIENT *, HCURSOR cursor) -{ - DestroyIcon(cursor); -} - -/* glyphs */ -HGLYPH ui_create_glyph(RDPCLIENT * This, int width, int height, const uint8 * data) -{ - uint8 * databuf = NULL; - uint8 * databits = win32_convert_scanlines(width, height, 1, 1, 2, data, &databuf); - - HBITMAP hbm = CreateBitmap(width, height, 1, 1, databits); - - if(databuf) - delete[] databuf; - - const uint8 * p = data; - int stride = alignup(alignup(width, 8) / 8, 1); - -#ifdef _DEBUG - printf("glyph %p\n", hbm); - - for(int i = 0; i < height; ++ i, p += stride) - { - for(int j = 0; j < width; ++ j) - { - int B = p[j / 8]; - int b = 8 - j % 8 - 1; - - if(B & (1 << b)) - fputs("##", stdout); - else - fputs("..", stdout); - } - - fputc('\n', stdout); - } - - fputc('\n', stdout); -#endif - - return hbm; -} - -void ui_destroy_glyph(RDPCLIENT *, HGLYPH glyph) -{ - DeleteObject(glyph); -} - -/* Input window */ -void ui_move_pointer(RDPCLIENT * This, int x, int y) -{ - // TODO -} - -void ui_set_cursor(RDPCLIENT * This, HCURSOR cursor) -{ - // TODO -} - -void ui_set_null_cursor(RDPCLIENT * This) -{ - // TODO -} - -/* Miscellaneous */ -void ui_resize_window(RDPCLIENT * This) -{ -} - -void ui_bell(RDPCLIENT *) -{ - MessageBeep(0); -} - -int ui_select(RDPCLIENT * This, SOCKET rdp_socket) -{ - return SleepEx(0, TRUE) == WAIT_IO_COMPLETION; -} - -/* Events */ -BOOL event_pubkey(RDPCLIENT * This, unsigned char * key, unsigned int key_size) -{ - if(!RdpClient::OnPublicKey(This, key, key_size)) - return FALSE; - else - return TRUE; -} - -void event_logon(RDPCLIENT * This) -{ - RdpClient::OnLogon(This); -} - -BOOL event_redirect(RDPCLIENT * This, uint32 flags, uint32 server_len, wchar_t * server, uint32 cookie_len, char * cookie, uint32 username_len, wchar_t * username, uint32 domain_len, wchar_t * domain, uint32 password_len, wchar_t * password) -{ - if - ( - !RdpClient::OnRedirect - ( - This, - flags, - server_len, - server, - cookie_len, - cookie, - username_len, - username, - domain_len, - domain, - password_len, - password - ) - ) - return FALSE; - else - return TRUE; -} - -} - -class ClassFactory: public IClassFactory -{ -private: - LONG m_refCount; - CLSID m_classId; - unsigned m_libIndex; - -public: - ClassFactory(REFCLSID rclsid, unsigned libIndex): - m_refCount(1), - m_classId(rclsid) - { - lockServer(); - } - - ~ClassFactory() - { - unlockServer(); - } - - virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppvObject) - { - if(riid == IID_IUnknown || riid == IID_IClassFactory) - { - *ppvObject = this; - return S_OK; - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - } - - virtual STDMETHODIMP_(ULONG) AddRef() - { - return InterlockedIncrement(&m_refCount); - } - - virtual STDMETHODIMP_(ULONG) Release() - { - LONG n = InterlockedDecrement(&m_refCount); - - if(n == 0) - delete this; - - return n; - } - - virtual STDMETHODIMP CreateInstance(IUnknown * pUnkOuter, REFIID riid, void ** ppvObject) - { - if(pUnkOuter && riid != IID_IUnknown) - return CLASS_E_NOAGGREGATION; - - return RdpClient::CreateInstance(m_classId, m_libIndex, pUnkOuter, riid, ppvObject); - } - - virtual STDMETHODIMP LockServer(BOOL fLock) - { - if(fLock) - lockServer(); - else - unlockServer(); - - return S_OK; - } -}; - -extern "C" -{ - -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID * ppv) -{ - unsigned libindex; - - if - ( - rclsid == MSTSCLib::CLSID_MsTscAx || - rclsid == MSTSCLib::CLSID_MsRdpClient || - rclsid == MSTSCLib::CLSID_MsRdpClient2 || - rclsid == MSTSCLib::CLSID_MsRdpClient3 || - rclsid == MSTSCLib::CLSID_MsRdpClient4 - ) - libindex = 1; - else if - ( - rclsid == MSTSCLib_Redist::CLSID_MsTscAx || - rclsid == MSTSCLib_Redist::CLSID_MsRdpClient || - rclsid == MSTSCLib_Redist::CLSID_MsRdpClient2 || - rclsid == MSTSCLib_Redist::CLSID_MsRdpClient3 // || - // rclsid != MSTSCLib::CLSID_MsRdpClient4 - ) - libindex = 2; - else - return CLASS_E_CLASSNOTAVAILABLE; - - ClassFactory * p = new ClassFactory(rclsid, libindex); - - if(p == NULL) - return E_OUTOFMEMORY; - - HRESULT hr = p->QueryInterface(riid, ppv); - - p->Release(); - - if(FAILED(hr)) - return hr; - - return S_OK; -} - -STDAPI DllCanUnloadNow(void) -{ - return canUnloadServer() ? S_OK : S_FALSE; -} - -STDAPI_(ULONG) DllGetTscCtlVer(void) -{ - // BUGBUG: don't hardcode this - return 0x05020ECE; // 5.2.3790 -} - -DWORD WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, LPVOID lpvReserved) -{ - assert(hInstance == GetCurrentModule()); - - switch(fdwReason) - { - case DLL_PROCESS_ATTACH: - { - DisableThreadLibraryCalls(hInstance); - - if(!RdpClient::Startup()) - return FALSE; - } - - break; - - case DLL_PROCESS_DETACH: - { - // Process is terminating, no need to clean up - if(lpvReserved) - break; - - RdpClient::Shutdown(); - } - - break; - } - - return TRUE; -} - -} - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl deleted file mode 100644 index 9c78f8575f9..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl +++ /dev/null @@ -1,561 +0,0 @@ -[ -#ifdef MSTSCLIB_REDIST_ - uuid(AF586AAE-B62A-420E-B796-294E7EE64C70), -#else - uuid(8C11EFA1-92C3-11D1-BC1E-00C04FA31489), -#endif - version(1.0) -] -library MSTSCLib -{ - importlib("stdole32.tlb"); - - dispinterface IMsTscAxEvents; - - interface IMsTscAx; - interface IMsRdpClient; - interface IMsRdpClient2; - interface IMsRdpClient3; - interface IMsRdpClient4; - - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - interface IMsRdpClientNonScriptable2; - - interface IMsTscAdvancedSettings; - interface IMsRdpClientAdvancedSettings; - interface IMsRdpClientAdvancedSettings2; - interface IMsRdpClientAdvancedSettings3; - interface IMsRdpClientAdvancedSettings4; - - interface IMsTscSecuredSettings; - interface IMsRdpClientSecuredSettings; - - interface IMsTscDebug; - - typedef [public] enum __MIDL___MIDL_itf_mstsax_0275_0001 - { - autoReconnectContinueAutomatic = 0, - autoReconnectContinueStop = 1, - autoReconnectContinueManual = 2 - } - AutoReconnectContinueState; - - typedef [public] enum __MIDL_IMsRdpClient_0001 - { - exDiscReasonNoInfo = 0, - exDiscReasonAPIInitiatedDisconnect = 1, - exDiscReasonAPIInitiatedLogoff = 2, - exDiscReasonServerIdleTimeout = 3, - exDiscReasonServerLogonTimeout = 4, - exDiscReasonReplacedByOtherConnection = 5, - exDiscReasonOutOfMemory = 6, - exDiscReasonServerDeniedConnection = 7, - exDiscReasonServerDeniedConnectionFips = 8, - exDiscReasonLicenseInternal = 256, - exDiscReasonLicenseNoLicenseServer = 257, - exDiscReasonLicenseNoLicense = 258, - exDiscReasonLicenseErrClientMsg = 259, - exDiscReasonLicenseHwidDoesntMatchLicense = 260, - exDiscReasonLicenseErrClientLicense = 261, - exDiscReasonLicenseCantFinishProtocol = 262, - exDiscReasonLicenseClientEndedProtocol = 263, - exDiscReasonLicenseErrClientEncryption = 264, - exDiscReasonLicenseCantUpgradeLicense = 265, - exDiscReasonLicenseNoRemoteConnections = 266, - exDiscReasonProtocolRangeStart = 4096, - exDiscReasonProtocolRangeEnd = 32767 - } - ExtendedDisconnectReasonCode; - - typedef [public] enum __MIDL_IMsRdpClient_0002 - { - controlCloseCanProceed = 0, - controlCloseWaitForEvents = 1 - } - ControlCloseStatus; - - typedef [public] unsigned __int3264 UINT_PTR; - typedef [public] __int3264 LONG_PTR; - - [uuid(336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6)] - dispinterface IMsTscAxEvents - { - properties: - - methods: - [id(0x00000001)] void OnConnecting(); - [id(0x00000002)] void OnConnected(); - [id(0x00000003)] void OnLoginComplete(); - [id(0x00000004)] void OnDisconnected([in] long discReason); - [id(0x00000005)] void OnEnterFullScreenMode(); - [id(0x00000006)] void OnLeaveFullScreenMode(); - [id(0x00000007)] void OnChannelReceivedData([in] BSTR chanName, [in] BSTR data); - [id(0x00000008)] void OnRequestGoFullScreen(); - [id(0x00000009)] void OnRequestLeaveFullScreen(); - [id(0x0000000a)] void OnFatalError([in] long errorCode); - [id(0x0000000b)] void OnWarning([in] long warningCode); - [id(0x0000000c)] void OnRemoteDesktopSizeChange([in] long width, [in] long height); - [id(0x0000000d)] void OnIdleTimeoutNotification(); - [id(0x0000000e)] void OnRequestContainerMinimize(); - [id(0x0000000f)] void OnConfirmClose([out, retval] VARIANT_BOOL * pfAllowClose); - [id(0x00000010)] void OnReceivedTSPublicKey([in] BSTR publicKey, [out, retval] VARIANT_BOOL * pfContinueLogon); - [id(0x00000011)] void OnAutoReconnecting([in] long disconnectReason, [in] long attemptCount, [out, retval] AutoReconnectContinueState * pArcContinueStatus); - [id(0x00000012)] void OnAuthenticationWarningDisplayed(); - [id(0x00000013)] void OnAuthenticationWarningDismissed(); - }; - - [ -#ifdef MSTSCLIB_REDIST_ - uuid(327BB5CD-834E-4400-AEF2-B30E15E5D682), -#else - uuid(8C11EFAE-92C3-11D1-BC1E-00C04FA31489), -#endif - dual, - oleautomation - ] - interface IMsTscAx: IDispatch - { - [id(0x00000001), propput] HRESULT Server([in] BSTR pServer); - [id(0x00000001), propget] HRESULT Server([out, retval] BSTR * pServer); - [id(0x00000002), propput] HRESULT Domain([in] BSTR pDomain); - [id(0x00000002), propget] HRESULT Domain([out, retval] BSTR * pDomain); - [id(0x00000003), propput] HRESULT UserName([in] BSTR pUserName); - [id(0x00000003), propget] HRESULT UserName([out, retval] BSTR * pUserName); - [id(0x00000004), propput] HRESULT DisconnectedText([in] BSTR pDisconnectedText); - [id(0x00000004), propget] HRESULT DisconnectedText([out, retval] BSTR * pDisconnectedText); - [id(0x00000005), propput] HRESULT ConnectingText([in] BSTR pConnectingText); - [id(0x00000005), propget] HRESULT ConnectingText([out, retval] BSTR * pConnectingText); - [id(0x00000006), propget] HRESULT Connected([out, retval] short * pIsConnected); - [id(0x0000000c), propput] HRESULT DesktopWidth([in] long pVal); - [id(0x0000000c), propget] HRESULT DesktopWidth([out, retval] long * pVal); - [id(0x0000000d), propput] HRESULT DesktopHeight([in] long pVal); - [id(0x0000000d), propget] HRESULT DesktopHeight([out, retval] long * pVal); - [id(0x00000010), propput] HRESULT StartConnected([in] long pfStartConnected); - [id(0x00000010), propget] HRESULT StartConnected([out, retval] long * pfStartConnected); - [id(0x00000011), propget] HRESULT HorizontalScrollBarVisible([out, retval] long * pfHScrollVisible); - [id(0x00000012), propget] HRESULT VerticalScrollBarVisible([out, retval] long * pfVScrollVisible); - [id(0x00000013), propput] HRESULT FullScreenTitle([in] BSTR rhs); - [id(0x00000014), propget] HRESULT CipherStrength([out, retval] long * pCipherStrength); - [id(0x00000015), propget] HRESULT Version([out, retval] BSTR * pVersion); - [id(0x00000016), propget] HRESULT SecuredSettingsEnabled([out, retval] long * pSecuredSettingsEnabled); - [id(0x00000061), propget] HRESULT SecuredSettings([out, retval] IMsTscSecuredSettings ** ppSecuredSettings); - [id(0x00000062), propget] HRESULT AdvancedSettings([out, retval] IMsTscAdvancedSettings ** ppAdvSettings); - [id(0x00000063), propget, hidden] HRESULT Debugger([out, retval] IMsTscDebug ** ppDebugger); - [id(0x0000001e)] HRESULT Connect(); - [id(0x0000001f)] HRESULT Disconnect(); - [id(0x00000021)] HRESULT CreateVirtualChannels([in] BSTR newVal); - [id(0x00000022)] HRESULT SendOnVirtualChannel([in] BSTR chanName, [in] BSTR ChanData); - }; - - [ - uuid(92B4A539-7115-4B7C-A5A9-E5D9EFC2780A), - dual, - oleautomation - ] - interface IMsRdpClient: IMsTscAx - { - [id(0x00000064), propput] HRESULT ColorDepth([in] long pcolorDepth); - [id(0x00000064), propget] HRESULT ColorDepth([out, retval] long * pcolorDepth); - [id(0x00000065), propget] HRESULT AdvancedSettings2([out, retval] IMsRdpClientAdvancedSettings ** ppAdvSettings); - [id(0x00000066), propget] HRESULT SecuredSettings2([out, retval] IMsRdpClientSecuredSettings ** ppSecuredSettings); - [id(0x00000067), propget] HRESULT ExtendedDisconnectReason([out, retval] ExtendedDisconnectReasonCode * pExtendedDisconnectReason); - [id(0x00000068), propput] HRESULT FullScreen([in] VARIANT_BOOL pfFullScreen); - [id(0x00000068), propget] HRESULT FullScreen([out, retval] VARIANT_BOOL * pfFullScreen); - [id(0x00000023)] HRESULT SetVirtualChannelOptions([in] BSTR chanName, [in] long chanOptions); - [id(0x00000024)] HRESULT GetVirtualChannelOptions([in] BSTR chanName, [out, retval] long * pChanOptions); - [id(0x00000025)] HRESULT RequestClose([out, retval] ControlCloseStatus * pCloseStatus); - }; - - [ - uuid(E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F), - dual, - oleautomation - ] - interface IMsRdpClient2: IMsRdpClient - { - [id(0x000000c8), propget] HRESULT AdvancedSettings3([out, retval] IMsRdpClientAdvancedSettings2 ** ppAdvSettings); - [id(0x000000c9), propput] HRESULT ConnectedStatusText([in] BSTR pConnectedStatusText); - [id(0x000000c9), propget] HRESULT ConnectedStatusText([out, retval] BSTR * pConnectedStatusText); - }; - - [ - uuid(91B7CBC5-A72E-4FA0-9300-D647D7E897FF), - dual, - oleautomation - ] - interface IMsRdpClient3: IMsRdpClient2 - { - [id(0x0000012c), propget] HRESULT AdvancedSettings4([out, retval] IMsRdpClientAdvancedSettings3 ** ppAdvSettings); - }; - - [ - uuid(095E0738-D97D-488B-B9F6-DD0E8D66C0DE), - dual, - oleautomation - ] - interface IMsRdpClient4: IMsRdpClient3 - { - [id(0x00000190), propget] HRESULT AdvancedSettings5([out, retval] IMsRdpClientAdvancedSettings4 ** ppAdvSettings5); - }; - - [uuid(C1E6743A-41C1-4A74-832A-0DD06C1C7A0E)] - interface IMsTscNonScriptable: IUnknown - { - [propput] HRESULT ClearTextPassword([in] BSTR rhs); - [propput] HRESULT PortablePassword([in] BSTR pPortablePass); - [propget] HRESULT PortablePassword([out, retval] BSTR * pPortablePass); - [propput] HRESULT PortableSalt([in] BSTR pPortableSalt); - [propget] HRESULT PortableSalt([out, retval] BSTR * pPortableSalt); - [propput] HRESULT BinaryPassword([in] BSTR pBinaryPassword); - [propget] HRESULT BinaryPassword([out, retval] BSTR * pBinaryPassword); - [propput] HRESULT BinarySalt([in] BSTR pSalt); - [propget] HRESULT BinarySalt([out, retval] BSTR * pSalt); - HRESULT ResetPassword(); - }; - - [uuid(2F079C4C-87B2-4AFD-97AB-20CDB43038AE)] - interface IMsRdpClientNonScriptable: IMsTscNonScriptable - { - HRESULT NotifyRedirectDeviceChange([in] UINT_PTR wParam, [in] LONG_PTR lParam); - HRESULT SendKeys([in] long numKeys, [in] VARIANT_BOOL * pbArrayKeyUp, [in] long * plKeyData); - }; - - [uuid(17A5E535-4072-4FA4-AF32-C8D0D47345E9)] - interface IMsRdpClientNonScriptable2: IMsRdpClientNonScriptable - { - [propput] HRESULT UIParentWindowHandle([in] HWND phwndUIParentWindowHandle); - [propget] HRESULT UIParentWindowHandle([out, retval] HWND * phwndUIParentWindowHandle); - }; - - [ - uuid(809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D), - dual, - oleautomation - ] - interface IMsTscAdvancedSettings: IDispatch - { - [id(0x00000079), propput] HRESULT Compress([in] long pcompress); - [id(0x00000079), propget] HRESULT Compress([out, retval] long * pcompress); - [id(0x0000007a), propput] HRESULT BitmapPeristence([in] long pbitmapPeristence); - [id(0x0000007a), propget] HRESULT BitmapPeristence([out, retval] long * pbitmapPeristence); - [id(0x000000a1), propput] HRESULT allowBackgroundInput([in] long pallowBackgroundInput); - [id(0x000000a1), propget] HRESULT allowBackgroundInput([out, retval] long * pallowBackgroundInput); - [id(0x000000a2), propput] HRESULT KeyBoardLayoutStr([in] BSTR rhs); - [id(0x000000aa), propput] HRESULT PluginDlls([in] BSTR rhs); - [id(0x000000ab), propput] HRESULT IconFile([in] BSTR rhs); - [id(0x000000ac), propput] HRESULT IconIndex([in] long rhs); - [id(0x000000ad), propput] HRESULT ContainerHandledFullScreen([in] long pContainerHandledFullScreen); - [id(0x000000ad), propget] HRESULT ContainerHandledFullScreen([out, retval] long * pContainerHandledFullScreen); - [id(0x000000ae), propput] HRESULT DisableRdpdr([in] long pDisableRdpdr); - [id(0x000000ae), propget] HRESULT DisableRdpdr([out, retval] long * pDisableRdpdr); - }; - - [ - uuid(3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings: IMsTscAdvancedSettings - { - [id(0x00000065), propput] HRESULT SmoothScroll([in] long psmoothScroll); - [id(0x00000065), propget] HRESULT SmoothScroll([out, retval] long * psmoothScroll); - [id(0x00000066), propput] HRESULT AcceleratorPassthrough([in] long pacceleratorPassthrough); - [id(0x00000066), propget] HRESULT AcceleratorPassthrough([out, retval] long * pacceleratorPassthrough); - [id(0x00000067), propput] HRESULT ShadowBitmap([in] long pshadowBitmap); - [id(0x00000067), propget] HRESULT ShadowBitmap([out, retval] long * pshadowBitmap); - [id(0x00000068), propput] HRESULT TransportType([in] long ptransportType); - [id(0x00000068), propget] HRESULT TransportType([out, retval] long * ptransportType); - [id(0x00000069), propput] HRESULT SasSequence([in] long psasSequence); - [id(0x00000069), propget] HRESULT SasSequence([out, retval] long * psasSequence); - [id(0x0000006a), propput] HRESULT EncryptionEnabled([in] long pencryptionEnabled); - [id(0x0000006a), propget] HRESULT EncryptionEnabled([out, retval] long * pencryptionEnabled); - [id(0x0000006b), propput] HRESULT DedicatedTerminal([in] long pdedicatedTerminal); - [id(0x0000006b), propget] HRESULT DedicatedTerminal([out, retval] long * pdedicatedTerminal); - [id(0x0000006c), propput] HRESULT RDPPort([in] long prdpPort); - [id(0x0000006c), propget] HRESULT RDPPort([out, retval] long * prdpPort); - [id(0x0000006d), propput] HRESULT EnableMouse([in] long penableMouse); - [id(0x0000006d), propget] HRESULT EnableMouse([out, retval] long * penableMouse); - [id(0x0000006e), propput] HRESULT DisableCtrlAltDel([in] long pdisableCtrlAltDel); - [id(0x0000006e), propget] HRESULT DisableCtrlAltDel([out, retval] long * pdisableCtrlAltDel); - [id(0x0000006f), propput] HRESULT EnableWindowsKey([in] long penableWindowsKey); - [id(0x0000006f), propget] HRESULT EnableWindowsKey([out, retval] long * penableWindowsKey); - [id(0x00000070), propput] HRESULT DoubleClickDetect([in] long pdoubleClickDetect); - [id(0x00000070), propget] HRESULT DoubleClickDetect([out, retval] long * pdoubleClickDetect); - [id(0x00000071), propput] HRESULT MaximizeShell([in] long pmaximizeShell); - [id(0x00000071), propget] HRESULT MaximizeShell([out, retval] long * pmaximizeShell); - [id(0x00000072), propput] HRESULT HotKeyFullScreen([in] long photKeyFullScreen); - [id(0x00000072), propget] HRESULT HotKeyFullScreen([out, retval] long * photKeyFullScreen); - [id(0x00000073), propput] HRESULT HotKeyCtrlEsc([in] long photKeyCtrlEsc); - [id(0x00000073), propget] HRESULT HotKeyCtrlEsc([out, retval] long * photKeyCtrlEsc); - [id(0x00000074), propput] HRESULT HotKeyAltEsc([in] long photKeyAltEsc); - [id(0x00000074), propget] HRESULT HotKeyAltEsc([out, retval] long * photKeyAltEsc); - [id(0x00000075), propput] HRESULT HotKeyAltTab([in] long photKeyAltTab); - [id(0x00000075), propget] HRESULT HotKeyAltTab([out, retval] long * photKeyAltTab); - [id(0x00000076), propput] HRESULT HotKeyAltShiftTab([in] long photKeyAltShiftTab); - [id(0x00000076), propget] HRESULT HotKeyAltShiftTab([out, retval] long * photKeyAltShiftTab); - [id(0x00000077), propput] HRESULT HotKeyAltSpace([in] long photKeyAltSpace); - [id(0x00000077), propget] HRESULT HotKeyAltSpace([out, retval] long * photKeyAltSpace); - [id(0x00000078), propput] HRESULT HotKeyCtrlAltDel([in] long photKeyCtrlAltDel); - [id(0x00000078), propget] HRESULT HotKeyCtrlAltDel([out, retval] long * photKeyCtrlAltDel); - [id(0x0000007b), propput] HRESULT orderDrawThreshold([in] long porderDrawThreshold); - [id(0x0000007b), propget] HRESULT orderDrawThreshold([out, retval] long * porderDrawThreshold); - [id(0x0000007c), propput] HRESULT BitmapCacheSize([in] long pbitmapCacheSize); - [id(0x0000007c), propget] HRESULT BitmapCacheSize([out, retval] long * pbitmapCacheSize); - [id(0x0000007d), propput] HRESULT BitmapVirtualCacheSize([in] long pbitmapVirtualCacheSize); - [id(0x0000007d), propget] HRESULT BitmapVirtualCacheSize([out, retval] long * pbitmapVirtualCacheSize); - [id(0x000000af), propput] HRESULT ScaleBitmapCachesByBPP([in] long pbScale); - [id(0x000000af), propget] HRESULT ScaleBitmapCachesByBPP([out, retval] long * pbScale); - [id(0x0000007e), propput] HRESULT NumBitmapCaches([in] long pnumBitmapCaches); - [id(0x0000007e), propget] HRESULT NumBitmapCaches([out, retval] long * pnumBitmapCaches); - [id(0x0000007f), propput] HRESULT CachePersistenceActive([in] long pcachePersistenceActive); - [id(0x0000007f), propget] HRESULT CachePersistenceActive([out, retval] long * pcachePersistenceActive); - [id(0x0000008a), propput] HRESULT PersistCacheDirectory([in] BSTR rhs); - [id(0x0000009c), propput] HRESULT brushSupportLevel([in] long pbrushSupportLevel); - [id(0x0000009c), propget] HRESULT brushSupportLevel([out, retval] long * pbrushSupportLevel); - [id(0x0000009d), propput] HRESULT minInputSendInterval([in] long pminInputSendInterval); - [id(0x0000009d), propget] HRESULT minInputSendInterval([out, retval] long * pminInputSendInterval); - [id(0x0000009e), propput] HRESULT InputEventsAtOnce([in] long pinputEventsAtOnce); - [id(0x0000009e), propget] HRESULT InputEventsAtOnce([out, retval] long * pinputEventsAtOnce); - [id(0x0000009f), propput] HRESULT maxEventCount([in] long pmaxEventCount); - [id(0x0000009f), propget] HRESULT maxEventCount([out, retval] long * pmaxEventCount); - [id(0x000000a0), propput] HRESULT keepAliveInterval([in] long pkeepAliveInterval); - [id(0x000000a0), propget] HRESULT keepAliveInterval([out, retval] long * pkeepAliveInterval); - [id(0x000000a3), propput] HRESULT shutdownTimeout([in] long pshutdownTimeout); - [id(0x000000a3), propget] HRESULT shutdownTimeout([out, retval] long * pshutdownTimeout); - [id(0x000000a4), propput] HRESULT overallConnectionTimeout([in] long poverallConnectionTimeout); - [id(0x000000a4), propget] HRESULT overallConnectionTimeout([out, retval] long * poverallConnectionTimeout); - [id(0x000000a5), propput] HRESULT singleConnectionTimeout([in] long psingleConnectionTimeout); - [id(0x000000a5), propget] HRESULT singleConnectionTimeout([out, retval] long * psingleConnectionTimeout); - [id(0x000000a6), propput] HRESULT KeyboardType([in] long pkeyboardType); - [id(0x000000a6), propget] HRESULT KeyboardType([out, retval] long * pkeyboardType); - [id(0x000000a7), propput] HRESULT KeyboardSubType([in] long pkeyboardSubType); - [id(0x000000a7), propget] HRESULT KeyboardSubType([out, retval] long * pkeyboardSubType); - [id(0x000000a8), propput] HRESULT KeyboardFunctionKey([in] long pkeyboardFunctionKey); - [id(0x000000a8), propget] HRESULT KeyboardFunctionKey([out, retval] long * pkeyboardFunctionKey); - [id(0x000000a9), propput] HRESULT WinceFixedPalette([in] long pwinceFixedPalette); - [id(0x000000a9), propget] HRESULT WinceFixedPalette([out, retval] long * pwinceFixedPalette); - [id(0x000000b2), propput] HRESULT ConnectToServerConsole([in] VARIANT_BOOL pConnectToConsole); - [id(0x000000b2), propget] HRESULT ConnectToServerConsole([out, retval] VARIANT_BOOL * pConnectToConsole); - [id(0x000000b6), propput] HRESULT BitmapPersistence([in] long pbitmapPersistence); - [id(0x000000b6), propget] HRESULT BitmapPersistence([out, retval] long * pbitmapPersistence); - [id(0x000000b7), propput] HRESULT MinutesToIdleTimeout([in] long pminutesToIdleTimeout); - [id(0x000000b7), propget] HRESULT MinutesToIdleTimeout([out, retval] long * pminutesToIdleTimeout); - [id(0x000000b8), propput] HRESULT SmartSizing([in] VARIANT_BOOL pfSmartSizing); - [id(0x000000b8), propget] HRESULT SmartSizing([out, retval] VARIANT_BOOL * pfSmartSizing); - [id(0x000000b9), propput] HRESULT RdpdrLocalPrintingDocName([in] BSTR pLocalPrintingDocName); - [id(0x000000b9), propget] HRESULT RdpdrLocalPrintingDocName([out, retval] BSTR * pLocalPrintingDocName); - [id(0x000000c9), propput] HRESULT RdpdrClipCleanTempDirString([in] BSTR clipCleanTempDirString); - [id(0x000000c9), propget] HRESULT RdpdrClipCleanTempDirString([out, retval] BSTR * clipCleanTempDirString); - [id(0x000000ca), propput] HRESULT RdpdrClipPasteInfoString([in] BSTR clipPasteInfoString); - [id(0x000000ca), propget] HRESULT RdpdrClipPasteInfoString([out, retval] BSTR * clipPasteInfoString); - [id(0x000000ba), propput] HRESULT ClearTextPassword([in] BSTR rhs); - [id(0x000000bb), propput] HRESULT DisplayConnectionBar([in] VARIANT_BOOL pDisplayConnectionBar); - [id(0x000000bb), propget] HRESULT DisplayConnectionBar([out, retval] VARIANT_BOOL * pDisplayConnectionBar); - [id(0x000000bc), propput] HRESULT PinConnectionBar([in] VARIANT_BOOL pPinConnectionBar); - [id(0x000000bc), propget] HRESULT PinConnectionBar([out, retval] VARIANT_BOOL * pPinConnectionBar); - [id(0x000000bd), propput] HRESULT GrabFocusOnConnect([in] VARIANT_BOOL pfGrabFocusOnConnect); - [id(0x000000bd), propget] HRESULT GrabFocusOnConnect([out, retval] VARIANT_BOOL * pfGrabFocusOnConnect); - [id(0x000000be), propput] HRESULT LoadBalanceInfo([in] BSTR pLBInfo); - [id(0x000000be), propget] HRESULT LoadBalanceInfo([out, retval] BSTR * pLBInfo); - [id(0x000000bf), propput] HRESULT RedirectDrives([in] VARIANT_BOOL pRedirectDrives); - [id(0x000000bf), propget] HRESULT RedirectDrives([out, retval] VARIANT_BOOL * pRedirectDrives); - [id(0x000000c0), propput] HRESULT RedirectPrinters([in] VARIANT_BOOL pRedirectPrinters); - [id(0x000000c0), propget] HRESULT RedirectPrinters([out, retval] VARIANT_BOOL * pRedirectPrinters); - [id(0x000000c1), propput] HRESULT RedirectPorts([in] VARIANT_BOOL pRedirectPorts); - [id(0x000000c1), propget] HRESULT RedirectPorts([out, retval] VARIANT_BOOL * pRedirectPorts); - [id(0x000000c2), propput] HRESULT RedirectSmartCards([in] VARIANT_BOOL pRedirectSmartCards); - [id(0x000000c2), propget] HRESULT RedirectSmartCards([out, retval] VARIANT_BOOL * pRedirectSmartCards); - [id(0x000000c3), propput] HRESULT BitmapVirtualCache16BppSize([in] long pBitmapVirtualCache16BppSize); - [id(0x000000c3), propget] HRESULT BitmapVirtualCache16BppSize([out, retval] long * pBitmapVirtualCache16BppSize); - [id(0x000000c4), propput] HRESULT BitmapVirtualCache24BppSize([in] long pBitmapVirtualCache24BppSize); - [id(0x000000c4), propget] HRESULT BitmapVirtualCache24BppSize([out, retval] long * pBitmapVirtualCache24BppSize); - [id(0x000000c8), propput] HRESULT PerformanceFlags([in] long pDisableList); - [id(0x000000c8), propget] HRESULT PerformanceFlags([out, retval] long * pDisableList); - [id(0x000000cb), propput] HRESULT ConnectWithEndpoint([in] VARIANT * rhs); - [id(0x000000cc), propput] HRESULT NotifyTSPublicKey([in] VARIANT_BOOL pfNotify); - [id(0x000000cc), propget] HRESULT NotifyTSPublicKey([out, retval] VARIANT_BOOL * pfNotify); - }; - - [ - uuid(9AC42117-2B76-4320-AA44-0E616AB8437B), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings2: IMsRdpClientAdvancedSettings - { - [id(0x000000cd), propget] HRESULT CanAutoReconnect([out, retval] VARIANT_BOOL * pfCanAutoReconnect); - [id(0x000000ce), propput] HRESULT EnableAutoReconnect([in] VARIANT_BOOL pfEnableAutoReconnect); - [id(0x000000ce), propget] HRESULT EnableAutoReconnect([out, retval] VARIANT_BOOL * pfEnableAutoReconnect); - [id(0x000000cf), propput] HRESULT MaxReconnectAttempts([in] long pMaxReconnectAttempts); - [id(0x000000cf), propget] HRESULT MaxReconnectAttempts([out, retval] long * pMaxReconnectAttempts); - }; - - [ - uuid(19CD856B-C542-4C53-ACEE-F127E3BE1A59), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings3: IMsRdpClientAdvancedSettings2 - { - [id(0x000000d2), propput] HRESULT ConnectionBarShowMinimizeButton([in] VARIANT_BOOL pfShowMinimize); - [id(0x000000d2), propget] HRESULT ConnectionBarShowMinimizeButton([out, retval] VARIANT_BOOL * pfShowMinimize); - [id(0x000000d3), propput] HRESULT ConnectionBarShowRestoreButton([in] VARIANT_BOOL pfShowRestore); - [id(0x000000d3), propget] HRESULT ConnectionBarShowRestoreButton([out, retval] VARIANT_BOOL * pfShowRestore); - }; - - [ - uuid(FBA7F64E-7345-4405-AE50-FA4A763DC0DE), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings4: IMsRdpClientAdvancedSettings3 - { - [id(0x000000d4), propput] HRESULT AuthenticationLevel([in] unsigned int puiAuthLevel); - [id(0x000000d4), propget] HRESULT AuthenticationLevel([out, retval] unsigned int * puiAuthLevel); - }; - - [ - uuid(C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6), - dual, - oleautomation - ] - interface IMsTscSecuredSettings: IDispatch - { - [id(0x00000001), propput] HRESULT StartProgram([in] BSTR pStartProgram); - [id(0x00000001), propget] HRESULT StartProgram([out, retval] BSTR * pStartProgram); - [id(0x00000002), propput] HRESULT WorkDir([in] BSTR pWorkDir); - [id(0x00000002), propget] HRESULT WorkDir([out, retval] BSTR * pWorkDir); - [id(0x00000003), propput] HRESULT FullScreen([in] long pfFullScreen); - [id(0x00000003), propget] HRESULT FullScreen([out, retval] long * pfFullScreen); - }; - - [ - uuid(605BEFCF-39C1-45CC-A811-068FB7BE346D), - dual, - oleautomation - ] - interface IMsRdpClientSecuredSettings: IMsTscSecuredSettings - { - [id(0x00000004), propput] HRESULT KeyboardHookMode([in] long pkeyboardHookMode); - [id(0x00000004), propget] HRESULT KeyboardHookMode([out, retval] long * pkeyboardHookMode); - [id(0x00000005), propput] HRESULT AudioRedirectionMode([in] long pAudioRedirectionMode); - [id(0x00000005), propget] HRESULT AudioRedirectionMode([out, retval] long * pAudioRedirectionMode); - }; - - [ - uuid(209D0EB9-6254-47B1-9033-A98DAE55BB27), - hidden, - dual, - oleautomation - ] - interface IMsTscDebug: IDispatch - { - [id(0x000000c8), propput] HRESULT HatchBitmapPDU([in] long phatchBitmapPDU); - [id(0x000000c8), propget] HRESULT HatchBitmapPDU([out, retval] long * phatchBitmapPDU); - [id(0x000000c9), propput] HRESULT HatchSSBOrder([in] long phatchSSBOrder); - [id(0x000000c9), propget] HRESULT HatchSSBOrder([out, retval] long * phatchSSBOrder); - [id(0x000000ca), propput] HRESULT HatchMembltOrder([in] long phatchMembltOrder); - [id(0x000000ca), propget] HRESULT HatchMembltOrder([out, retval] long * phatchMembltOrder); - [id(0x000000cb), propput] HRESULT HatchIndexPDU([in] long phatchIndexPDU); - [id(0x000000cb), propget] HRESULT HatchIndexPDU([out, retval] long * phatchIndexPDU); - [id(0x000000cc), propput] HRESULT LabelMemblt([in] long plabelMemblt); - [id(0x000000cc), propget] HRESULT LabelMemblt([out, retval] long * plabelMemblt); - [id(0x000000cd), propput] HRESULT BitmapCacheMonitor([in] long pbitmapCacheMonitor); - [id(0x000000cd), propget] HRESULT BitmapCacheMonitor([out, retval] long * pbitmapCacheMonitor); - [id(0x000000ce), propput] HRESULT MallocFailuresPercent([in] long pmallocFailuresPercent); - [id(0x000000ce), propget] HRESULT MallocFailuresPercent([out, retval] long * pmallocFailuresPercent); - [id(0x000000cf), propput] HRESULT MallocHugeFailuresPercent([in] long pmallocHugeFailuresPercent); - [id(0x000000cf), propget] HRESULT MallocHugeFailuresPercent([out, retval] long * pmallocHugeFailuresPercent); - [id(0x000000d0), propput] HRESULT NetThroughput([in] long NetThroughput); - [id(0x000000d0), propget] HRESULT NetThroughput([out, retval] long * NetThroughput); - [id(0x000000d1), propput] HRESULT CLXCmdLine([in] BSTR pCLXCmdLine); - [id(0x000000d1), propget] HRESULT CLXCmdLine([out, retval] BSTR * pCLXCmdLine); - [id(0x000000d2), propput] HRESULT CLXDll([in] BSTR pCLXDll); - [id(0x000000d2), propget] HRESULT CLXDll([out, retval] BSTR * pCLXDll); - }; - - [ -#ifdef MSTSCLIB_REDIST_ - uuid(1FB464C8-09BB-4017-A2F5-EB742F04392F) -#else - uuid(A41A4187-5A86-4E26-B40A-856F9035D9CB) -#endif - ] - coclass MsTscAx - { - interface IMsRdpClient; - [default] interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; - - [ -#ifdef MSTSCLIB_REDIST_ - uuid(791FA017-2DE3-492E-ACC5-53C67A2B94D0) -#else - uuid(7CACBD7B-0D99-468F-AC33-22E495C0AFE5) -#endif - ] - coclass MsRdpClient - { - [default] interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; - - [ -#ifdef MSTSCLIB_REDIST_ - uuid(9059F30F-4EB1-4BD2-9FDC-36F43A218F4A) -#else - uuid(3523C2FB-4031-44E4-9A3B-F1E94986EE7F) -#endif - ] - coclass MsRdpClient2 - { - [default] interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; - - [ -#ifdef MSTSCLIB_REDIST_ - uuid(7584C670-2274-4EFB-B00B-D6AABA6D3850) -#else - uuid(ACE575FD-1FCF-4074-9401-EBAB990FA9DE) -#endif - ] - coclass MsRdpClient3 - { - [default] interface IMsRdpClient3; - interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; - - [uuid(6AE29350-321B-42BE-BBE5-12FB5270C0DE)] - coclass MsRdpClient4 - { - [default] interface IMsRdpClient4; - interface IMsRdpClient3; - interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - interface IMsRdpClientNonScriptable2; - }; - -}; - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc deleted file mode 100644 index fa268c7e9ea..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc +++ /dev/null @@ -1,3 +0,0 @@ -#define TYPELIB_RESOURCEID__ 1 -#include "./typelib.rh" -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h deleted file mode 100644 index 2685131f18a..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h +++ /dev/null @@ -1,8946 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0493 */ -/* at Sun Aug 13 16:46:06 2006 - */ -/* Compiler settings for .\mstsclib.idl: - Oicf, W1, Zp8, env=Win32 (32b run) - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -//@@MIDL_FILE_HEADING( ) - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __mstsclib_h_h__ -#define __mstsclib_h_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IMsTscAxEvents_FWD_DEFINED__ -#define __IMsTscAxEvents_FWD_DEFINED__ -typedef interface IMsTscAxEvents IMsTscAxEvents; -#endif /* __IMsTscAxEvents_FWD_DEFINED__ */ - - -#ifndef __IMsTscAx_FWD_DEFINED__ -#define __IMsTscAx_FWD_DEFINED__ -typedef interface IMsTscAx IMsTscAx; -#endif /* __IMsTscAx_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient_FWD_DEFINED__ -#define __IMsRdpClient_FWD_DEFINED__ -typedef interface IMsRdpClient IMsRdpClient; -#endif /* __IMsRdpClient_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient2_FWD_DEFINED__ -#define __IMsRdpClient2_FWD_DEFINED__ -typedef interface IMsRdpClient2 IMsRdpClient2; -#endif /* __IMsRdpClient2_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient3_FWD_DEFINED__ -#define __IMsRdpClient3_FWD_DEFINED__ -typedef interface IMsRdpClient3 IMsRdpClient3; -#endif /* __IMsRdpClient3_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient4_FWD_DEFINED__ -#define __IMsRdpClient4_FWD_DEFINED__ -typedef interface IMsRdpClient4 IMsRdpClient4; -#endif /* __IMsRdpClient4_FWD_DEFINED__ */ - - -#ifndef __IMsTscNonScriptable_FWD_DEFINED__ -#define __IMsTscNonScriptable_FWD_DEFINED__ -typedef interface IMsTscNonScriptable IMsTscNonScriptable; -#endif /* __IMsTscNonScriptable_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable_FWD_DEFINED__ -#define __IMsRdpClientNonScriptable_FWD_DEFINED__ -typedef interface IMsRdpClientNonScriptable IMsRdpClientNonScriptable; -#endif /* __IMsRdpClientNonScriptable_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable2_FWD_DEFINED__ -#define __IMsRdpClientNonScriptable2_FWD_DEFINED__ -typedef interface IMsRdpClientNonScriptable2 IMsRdpClientNonScriptable2; -#endif /* __IMsRdpClientNonScriptable2_FWD_DEFINED__ */ - - -#ifndef __IMsTscAdvancedSettings_FWD_DEFINED__ -#define __IMsTscAdvancedSettings_FWD_DEFINED__ -typedef interface IMsTscAdvancedSettings IMsTscAdvancedSettings; -#endif /* __IMsTscAdvancedSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings IMsRdpClientAdvancedSettings; -#endif /* __IMsRdpClientAdvancedSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings2 IMsRdpClientAdvancedSettings2; -#endif /* __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings3 IMsRdpClientAdvancedSettings3; -#endif /* __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings4 IMsRdpClientAdvancedSettings4; -#endif /* __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ */ - - -#ifndef __IMsTscSecuredSettings_FWD_DEFINED__ -#define __IMsTscSecuredSettings_FWD_DEFINED__ -typedef interface IMsTscSecuredSettings IMsTscSecuredSettings; -#endif /* __IMsTscSecuredSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientSecuredSettings_FWD_DEFINED__ -#define __IMsRdpClientSecuredSettings_FWD_DEFINED__ -typedef interface IMsRdpClientSecuredSettings IMsRdpClientSecuredSettings; -#endif /* __IMsRdpClientSecuredSettings_FWD_DEFINED__ */ - - -#ifndef __IMsTscDebug_FWD_DEFINED__ -#define __IMsTscDebug_FWD_DEFINED__ -typedef interface IMsTscDebug IMsTscDebug; -#endif /* __IMsTscDebug_FWD_DEFINED__ */ - - -#ifndef __MsTscAx_FWD_DEFINED__ -#define __MsTscAx_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsTscAx MsTscAx; -#else -typedef struct MsTscAx MsTscAx; -#endif /* __cplusplus */ - -#endif /* __MsTscAx_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient_FWD_DEFINED__ -#define __MsRdpClient_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient MsRdpClient; -#else -typedef struct MsRdpClient MsRdpClient; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient2_FWD_DEFINED__ -#define __MsRdpClient2_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient2 MsRdpClient2; -#else -typedef struct MsRdpClient2 MsRdpClient2; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient2_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient3_FWD_DEFINED__ -#define __MsRdpClient3_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient3 MsRdpClient3; -#else -typedef struct MsRdpClient3 MsRdpClient3; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient3_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient4_FWD_DEFINED__ -#define __MsRdpClient4_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient4 MsRdpClient4; -#else -typedef struct MsRdpClient4 MsRdpClient4; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient4_FWD_DEFINED__ */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - - -#ifndef __MSTSCLib_LIBRARY_DEFINED__ -#define __MSTSCLib_LIBRARY_DEFINED__ - -/* library MSTSCLib */ -/* [version][uuid] */ - - - - - - - - - - - - - - - - - - -typedef /* [public][public][public] */ -enum __MIDL___MIDL_itf_mstsax_0275_0001 - { autoReconnectContinueAutomatic = 0, - autoReconnectContinueStop = 1, - autoReconnectContinueManual = 2 - } AutoReconnectContinueState; - -typedef /* [public][public][public] */ -enum __MIDL_IMsRdpClient_0001 - { exDiscReasonNoInfo = 0, - exDiscReasonAPIInitiatedDisconnect = 1, - exDiscReasonAPIInitiatedLogoff = 2, - exDiscReasonServerIdleTimeout = 3, - exDiscReasonServerLogonTimeout = 4, - exDiscReasonReplacedByOtherConnection = 5, - exDiscReasonOutOfMemory = 6, - exDiscReasonServerDeniedConnection = 7, - exDiscReasonServerDeniedConnectionFips = 8, - exDiscReasonLicenseInternal = 256, - exDiscReasonLicenseNoLicenseServer = 257, - exDiscReasonLicenseNoLicense = 258, - exDiscReasonLicenseErrClientMsg = 259, - exDiscReasonLicenseHwidDoesntMatchLicense = 260, - exDiscReasonLicenseErrClientLicense = 261, - exDiscReasonLicenseCantFinishProtocol = 262, - exDiscReasonLicenseClientEndedProtocol = 263, - exDiscReasonLicenseErrClientEncryption = 264, - exDiscReasonLicenseCantUpgradeLicense = 265, - exDiscReasonLicenseNoRemoteConnections = 266, - exDiscReasonProtocolRangeStart = 4096, - exDiscReasonProtocolRangeEnd = 32767 - } ExtendedDisconnectReasonCode; - -typedef /* [public][public][public] */ -enum __MIDL_IMsRdpClient_0002 - { controlCloseCanProceed = 0, - controlCloseWaitForEvents = 1 - } ControlCloseStatus; - -typedef /* [custom][public] */ unsigned __int3264 UINT_PTR; - -typedef /* [custom][public] */ __int3264 LONG_PTR; - - -EXTERN_C const IID LIBID_MSTSCLib; - -#ifndef __IMsTscAxEvents_DISPINTERFACE_DEFINED__ -#define __IMsTscAxEvents_DISPINTERFACE_DEFINED__ - -/* dispinterface IMsTscAxEvents */ -/* [uuid] */ - - -EXTERN_C const IID DIID_IMsTscAxEvents; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6") - IMsTscAxEvents : public IDispatch - { - }; - -#else /* C style interface */ - - typedef struct IMsTscAxEventsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAxEvents * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAxEvents * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAxEvents * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAxEvents * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAxEvents * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAxEvents * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAxEvents * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - END_INTERFACE - } IMsTscAxEventsVtbl; - - interface IMsTscAxEvents - { - CONST_VTBL struct IMsTscAxEventsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAxEvents_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAxEvents_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAxEvents_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAxEvents_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAxEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAxEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAxEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - -#endif /* __IMsTscAxEvents_DISPINTERFACE_DEFINED__ */ - - -#ifndef __IMsTscAx_INTERFACE_DEFINED__ -#define __IMsTscAx_INTERFACE_DEFINED__ - -/* interface IMsTscAx */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscAx; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("8C11EFAE-92C3-11D1-BC1E-00C04FA31489") - IMsTscAx : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Server( - /* [in] */ BSTR pServer) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Server( - /* [retval][out] */ BSTR *pServer) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Domain( - /* [in] */ BSTR pDomain) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Domain( - /* [retval][out] */ BSTR *pDomain) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UserName( - /* [in] */ BSTR pUserName) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UserName( - /* [retval][out] */ BSTR *pUserName) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisconnectedText( - /* [in] */ BSTR pDisconnectedText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisconnectedText( - /* [retval][out] */ BSTR *pDisconnectedText) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectingText( - /* [in] */ BSTR pConnectingText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectingText( - /* [retval][out] */ BSTR *pConnectingText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Connected( - /* [retval][out] */ short *pIsConnected) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopWidth( - /* [in] */ long pVal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopWidth( - /* [retval][out] */ long *pVal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopHeight( - /* [in] */ long pVal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopHeight( - /* [retval][out] */ long *pVal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartConnected( - /* [in] */ long pfStartConnected) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartConnected( - /* [retval][out] */ long *pfStartConnected) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalScrollBarVisible( - /* [retval][out] */ long *pfHScrollVisible) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalScrollBarVisible( - /* [retval][out] */ long *pfVScrollVisible) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreenTitle( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CipherStrength( - /* [retval][out] */ long *pCipherStrength) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Version( - /* [retval][out] */ BSTR *pVersion) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettingsEnabled( - /* [retval][out] */ long *pSecuredSettingsEnabled) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings( - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings( - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings) = 0; - - virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Debugger( - /* [retval][out] */ IMsTscDebug **ppDebugger) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateVirtualChannels( - /* [in] */ BSTR newVal) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE SendOnVirtualChannel( - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscAxVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAx * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAx * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAx * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAx * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAx * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAx * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAx * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsTscAx * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsTscAx * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsTscAx * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsTscAx * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsTscAx * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsTscAx * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsTscAx * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsTscAx * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsTscAx * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsTscAx * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsTscAx * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsTscAx * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsTscAx * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsTscAx * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsTscAx * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsTscAx * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsTscAx * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsTscAx * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsTscAx * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsTscAx * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsTscAx * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsTscAx * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsTscAx * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsTscAx * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - END_INTERFACE - } IMsTscAxVtbl; - - interface IMsTscAx - { - CONST_VTBL struct IMsTscAxVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAx_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAx_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAx_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAx_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscAx_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsTscAx_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsTscAx_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsTscAx_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsTscAx_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsTscAx_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsTscAx_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsTscAx_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsTscAx_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsTscAx_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsTscAx_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsTscAx_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsTscAx_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsTscAx_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsTscAx_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsTscAx_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsTscAx_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsTscAx_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsTscAx_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsTscAx_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsTscAx_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsTscAx_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsTscAx_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsTscAx_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsTscAx_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsTscAx_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsTscAx_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsTscAx_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsTscAx_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsTscAx_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscAx_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient_INTERFACE_DEFINED__ -#define __IMsRdpClient_INTERFACE_DEFINED__ - -/* interface IMsRdpClient */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("92B4A539-7115-4B7C-A5A9-E5D9EFC2780A") - IMsRdpClient : public IMsTscAx - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorDepth( - /* [in] */ long pcolorDepth) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorDepth( - /* [retval][out] */ long *pcolorDepth) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings2( - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings2( - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ExtendedDisconnectReason( - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( - /* [in] */ VARIANT_BOOL pfFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( - /* [retval][out] */ VARIANT_BOOL *pfFullScreen) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetVirtualChannelOptions( - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetVirtualChannelOptions( - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE RequestClose( - /* [retval][out] */ ControlCloseStatus *pCloseStatus) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - END_INTERFACE - } IMsRdpClientVtbl; - - interface IMsRdpClient - { - CONST_VTBL struct IMsRdpClientVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient2_INTERFACE_DEFINED__ -#define __IMsRdpClient2_INTERFACE_DEFINED__ - -/* interface IMsRdpClient2 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F") - IMsRdpClient2 : public IMsRdpClient - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings3( - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectedStatusText( - /* [in] */ BSTR pConnectedStatusText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectedStatusText( - /* [retval][out] */ BSTR *pConnectedStatusText) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient2 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient2 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient2 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient2 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient2 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient2 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient2 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient2 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient2 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient2 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient2 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient2 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient2 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient2 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient2 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient2 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - END_INTERFACE - } IMsRdpClient2Vtbl; - - interface IMsRdpClient2 - { - CONST_VTBL struct IMsRdpClient2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient2_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient2_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient2_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient2_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient2_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient2_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient2_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient2_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient2_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient2_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient2_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient2_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient2_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient2_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient2_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient2_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient2_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient2_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient2_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient2_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient2_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient2_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient2_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient2_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient2_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient2_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient2_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient2_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient2_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient2_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient2_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient2_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient2_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient2_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient2_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient2_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient2_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient2_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient2_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient2_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient2_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient2_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient2_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient3_INTERFACE_DEFINED__ -#define __IMsRdpClient3_INTERFACE_DEFINED__ - -/* interface IMsRdpClient3 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("91B7CBC5-A72E-4FA0-9300-D647D7E897FF") - IMsRdpClient3 : public IMsRdpClient2 - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings4( - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient3 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient3 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient3 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient3 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient3 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient3 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient3 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient3 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient3 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient3 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient3 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient3 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient3 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient3 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient3 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient3 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient3 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient3 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient3 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient3 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient3 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings); - - END_INTERFACE - } IMsRdpClient3Vtbl; - - interface IMsRdpClient3 - { - CONST_VTBL struct IMsRdpClient3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient3_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient3_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient3_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient3_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient3_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient3_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient3_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient3_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient3_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient3_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient3_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient3_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient3_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient3_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient3_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient3_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient3_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient3_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient3_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient3_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient3_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient3_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient3_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient3_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient3_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient3_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient3_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient3_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient3_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient3_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient3_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient3_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient3_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient3_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient3_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient3_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient3_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient3_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient3_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient3_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient3_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient3_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient3_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient3_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - - -#define IMsRdpClient3_get_AdvancedSettings4(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient3_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient4_INTERFACE_DEFINED__ -#define __IMsRdpClient4_INTERFACE_DEFINED__ - -/* interface IMsRdpClient4 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("095E0738-D97D-488B-B9F6-DD0E8D66C0DE") - IMsRdpClient4 : public IMsRdpClient3 - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings5( - /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient4Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient4 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient4 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient4 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient4 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient4 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient4 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient4 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient4 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient4 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient4 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient4 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient4 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient4 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient4 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient4 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient4 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient4 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient4 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient4 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient4 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient4 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings5 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5); - - END_INTERFACE - } IMsRdpClient4Vtbl; - - interface IMsRdpClient4 - { - CONST_VTBL struct IMsRdpClient4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient4_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient4_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient4_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient4_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient4_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient4_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient4_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient4_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient4_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient4_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient4_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient4_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient4_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient4_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient4_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient4_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient4_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient4_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient4_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient4_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient4_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient4_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient4_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient4_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient4_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient4_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient4_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient4_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient4_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient4_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient4_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient4_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient4_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient4_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient4_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient4_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient4_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient4_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient4_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient4_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient4_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient4_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient4_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient4_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - - -#define IMsRdpClient4_get_AdvancedSettings4(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) - - -#define IMsRdpClient4_get_AdvancedSettings5(This,ppAdvSettings5) \ - ( (This)->lpVtbl -> get_AdvancedSettings5(This,ppAdvSettings5) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient4_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscNonScriptable_INTERFACE_DEFINED__ -#define __IMsTscNonScriptable_INTERFACE_DEFINED__ - -/* interface IMsTscNonScriptable */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsTscNonScriptable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C1E6743A-41C1-4A74-832A-0DD06C1C7A0E") - IMsTscNonScriptable : public IUnknown - { - public: - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortablePassword( - /* [in] */ BSTR pPortablePass) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortablePassword( - /* [retval][out] */ BSTR *pPortablePass) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortableSalt( - /* [in] */ BSTR pPortableSalt) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortableSalt( - /* [retval][out] */ BSTR *pPortableSalt) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinaryPassword( - /* [in] */ BSTR pBinaryPassword) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinaryPassword( - /* [retval][out] */ BSTR *pBinaryPassword) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinarySalt( - /* [in] */ BSTR pSalt) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinarySalt( - /* [retval][out] */ BSTR *pSalt) = 0; - - virtual HRESULT STDMETHODCALLTYPE ResetPassword( void) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscNonScriptableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscNonScriptable * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscNonScriptable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscNonScriptable * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsTscNonScriptable * This); - - END_INTERFACE - } IMsTscNonScriptableVtbl; - - interface IMsTscNonScriptable - { - CONST_VTBL struct IMsTscNonScriptableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscNonScriptable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscNonScriptable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscNonScriptable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscNonScriptable_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsTscNonScriptable_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsTscNonScriptable_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsTscNonScriptable_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsTscNonScriptable_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsTscNonScriptable_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsTscNonScriptable_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsTscNonScriptable_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsTscNonScriptable_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsTscNonScriptable_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscNonScriptable_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ -#define __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ - -/* interface IMsRdpClientNonScriptable */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientNonScriptable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2F079C4C-87B2-4AFD-97AB-20CDB43038AE") - IMsRdpClientNonScriptable : public IMsTscNonScriptable - { - public: - virtual HRESULT STDMETHODCALLTYPE NotifyRedirectDeviceChange( - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam) = 0; - - virtual HRESULT STDMETHODCALLTYPE SendKeys( - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientNonScriptableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientNonScriptable * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientNonScriptable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientNonScriptable * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsRdpClientNonScriptable * This); - - HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( - IMsRdpClientNonScriptable * This, - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam); - - HRESULT ( STDMETHODCALLTYPE *SendKeys )( - IMsRdpClientNonScriptable * This, - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData); - - END_INTERFACE - } IMsRdpClientNonScriptableVtbl; - - interface IMsRdpClientNonScriptable - { - CONST_VTBL struct IMsRdpClientNonScriptableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientNonScriptable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientNonScriptable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientNonScriptable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientNonScriptable_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientNonScriptable_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - - -#define IMsRdpClientNonScriptable_NotifyRedirectDeviceChange(This,wParam,lParam) \ - ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) - -#define IMsRdpClientNonScriptable_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) \ - ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ -#define __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ - -/* interface IMsRdpClientNonScriptable2 */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientNonScriptable2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("17A5E535-4072-4FA4-AF32-C8D0D47345E9") - IMsRdpClientNonScriptable2 : public IMsRdpClientNonScriptable - { - public: - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UIParentWindowHandle( - /* [in] */ HWND phwndUIParentWindowHandle) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UIParentWindowHandle( - /* [retval][out] */ HWND *phwndUIParentWindowHandle) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientNonScriptable2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientNonScriptable2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientNonScriptable2 * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsRdpClientNonScriptable2 * This); - - HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam); - - HRESULT ( STDMETHODCALLTYPE *SendKeys )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIParentWindowHandle )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ HWND phwndUIParentWindowHandle); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIParentWindowHandle )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ HWND *phwndUIParentWindowHandle); - - END_INTERFACE - } IMsRdpClientNonScriptable2Vtbl; - - interface IMsRdpClientNonScriptable2 - { - CONST_VTBL struct IMsRdpClientNonScriptable2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientNonScriptable2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientNonScriptable2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientNonScriptable2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientNonScriptable2_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientNonScriptable2_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable2_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable2_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable2_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable2_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable2_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable2_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable2_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable2_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - - -#define IMsRdpClientNonScriptable2_NotifyRedirectDeviceChange(This,wParam,lParam) \ - ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) - -#define IMsRdpClientNonScriptable2_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) \ - ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) - - -#define IMsRdpClientNonScriptable2_put_UIParentWindowHandle(This,phwndUIParentWindowHandle) \ - ( (This)->lpVtbl -> put_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) - -#define IMsRdpClientNonScriptable2_get_UIParentWindowHandle(This,phwndUIParentWindowHandle) \ - ( (This)->lpVtbl -> get_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscAdvancedSettings_INTERFACE_DEFINED__ -#define __IMsTscAdvancedSettings_INTERFACE_DEFINED__ - -/* interface IMsTscAdvancedSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscAdvancedSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D") - IMsTscAdvancedSettings : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Compress( - /* [in] */ long pcompress) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Compress( - /* [retval][out] */ long *pcompress) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPeristence( - /* [in] */ long pbitmapPeristence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPeristence( - /* [retval][out] */ long *pbitmapPeristence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_allowBackgroundInput( - /* [in] */ long pallowBackgroundInput) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_allowBackgroundInput( - /* [retval][out] */ long *pallowBackgroundInput) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyBoardLayoutStr( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PluginDlls( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconFile( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconIndex( - /* [in] */ long rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ContainerHandledFullScreen( - /* [in] */ long pContainerHandledFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ContainerHandledFullScreen( - /* [retval][out] */ long *pContainerHandledFullScreen) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableRdpdr( - /* [in] */ long pDisableRdpdr) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableRdpdr( - /* [retval][out] */ long *pDisableRdpdr) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscAdvancedSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAdvancedSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAdvancedSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAdvancedSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAdvancedSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAdvancedSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsTscAdvancedSettings * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsTscAdvancedSettings * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsTscAdvancedSettings * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsTscAdvancedSettings * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsTscAdvancedSettings * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsTscAdvancedSettings * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pDisableRdpdr); - - END_INTERFACE - } IMsTscAdvancedSettingsVtbl; - - interface IMsTscAdvancedSettings - { - CONST_VTBL struct IMsTscAdvancedSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAdvancedSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAdvancedSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAdvancedSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAdvancedSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscAdvancedSettings_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsTscAdvancedSettings_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsTscAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsTscAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsTscAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsTscAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsTscAdvancedSettings_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsTscAdvancedSettings_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsTscAdvancedSettings_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsTscAdvancedSettings_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsTscAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsTscAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsTscAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsTscAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscAdvancedSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2") - IMsRdpClientAdvancedSettings : public IMsTscAdvancedSettings - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmoothScroll( - /* [in] */ long psmoothScroll) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmoothScroll( - /* [retval][out] */ long *psmoothScroll) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AcceleratorPassthrough( - /* [in] */ long pacceleratorPassthrough) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AcceleratorPassthrough( - /* [retval][out] */ long *pacceleratorPassthrough) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShadowBitmap( - /* [in] */ long pshadowBitmap) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShadowBitmap( - /* [retval][out] */ long *pshadowBitmap) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TransportType( - /* [in] */ long ptransportType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TransportType( - /* [retval][out] */ long *ptransportType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SasSequence( - /* [in] */ long psasSequence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SasSequence( - /* [retval][out] */ long *psasSequence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EncryptionEnabled( - /* [in] */ long pencryptionEnabled) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EncryptionEnabled( - /* [retval][out] */ long *pencryptionEnabled) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DedicatedTerminal( - /* [in] */ long pdedicatedTerminal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DedicatedTerminal( - /* [retval][out] */ long *pdedicatedTerminal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RDPPort( - /* [in] */ long prdpPort) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RDPPort( - /* [retval][out] */ long *prdpPort) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableMouse( - /* [in] */ long penableMouse) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableMouse( - /* [retval][out] */ long *penableMouse) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableCtrlAltDel( - /* [in] */ long pdisableCtrlAltDel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableCtrlAltDel( - /* [retval][out] */ long *pdisableCtrlAltDel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableWindowsKey( - /* [in] */ long penableWindowsKey) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableWindowsKey( - /* [retval][out] */ long *penableWindowsKey) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DoubleClickDetect( - /* [in] */ long pdoubleClickDetect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DoubleClickDetect( - /* [retval][out] */ long *pdoubleClickDetect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaximizeShell( - /* [in] */ long pmaximizeShell) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaximizeShell( - /* [retval][out] */ long *pmaximizeShell) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyFullScreen( - /* [in] */ long photKeyFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyFullScreen( - /* [retval][out] */ long *photKeyFullScreen) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlEsc( - /* [in] */ long photKeyCtrlEsc) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlEsc( - /* [retval][out] */ long *photKeyCtrlEsc) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltEsc( - /* [in] */ long photKeyAltEsc) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltEsc( - /* [retval][out] */ long *photKeyAltEsc) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltTab( - /* [in] */ long photKeyAltTab) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltTab( - /* [retval][out] */ long *photKeyAltTab) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltShiftTab( - /* [in] */ long photKeyAltShiftTab) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltShiftTab( - /* [retval][out] */ long *photKeyAltShiftTab) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltSpace( - /* [in] */ long photKeyAltSpace) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltSpace( - /* [retval][out] */ long *photKeyAltSpace) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlAltDel( - /* [in] */ long photKeyCtrlAltDel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlAltDel( - /* [retval][out] */ long *photKeyCtrlAltDel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_orderDrawThreshold( - /* [in] */ long porderDrawThreshold) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_orderDrawThreshold( - /* [retval][out] */ long *porderDrawThreshold) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheSize( - /* [in] */ long pbitmapCacheSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheSize( - /* [retval][out] */ long *pbitmapCacheSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCacheSize( - /* [in] */ long pbitmapVirtualCacheSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCacheSize( - /* [retval][out] */ long *pbitmapVirtualCacheSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ScaleBitmapCachesByBPP( - /* [in] */ long pbScale) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ScaleBitmapCachesByBPP( - /* [retval][out] */ long *pbScale) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumBitmapCaches( - /* [in] */ long pnumBitmapCaches) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumBitmapCaches( - /* [retval][out] */ long *pnumBitmapCaches) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CachePersistenceActive( - /* [in] */ long pcachePersistenceActive) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CachePersistenceActive( - /* [retval][out] */ long *pcachePersistenceActive) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PersistCacheDirectory( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_brushSupportLevel( - /* [in] */ long pbrushSupportLevel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_brushSupportLevel( - /* [retval][out] */ long *pbrushSupportLevel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_minInputSendInterval( - /* [in] */ long pminInputSendInterval) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_minInputSendInterval( - /* [retval][out] */ long *pminInputSendInterval) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_InputEventsAtOnce( - /* [in] */ long pinputEventsAtOnce) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_InputEventsAtOnce( - /* [retval][out] */ long *pinputEventsAtOnce) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_maxEventCount( - /* [in] */ long pmaxEventCount) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_maxEventCount( - /* [retval][out] */ long *pmaxEventCount) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_keepAliveInterval( - /* [in] */ long pkeepAliveInterval) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_keepAliveInterval( - /* [retval][out] */ long *pkeepAliveInterval) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_shutdownTimeout( - /* [in] */ long pshutdownTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_shutdownTimeout( - /* [retval][out] */ long *pshutdownTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_overallConnectionTimeout( - /* [in] */ long poverallConnectionTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_overallConnectionTimeout( - /* [retval][out] */ long *poverallConnectionTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_singleConnectionTimeout( - /* [in] */ long psingleConnectionTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_singleConnectionTimeout( - /* [retval][out] */ long *psingleConnectionTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardType( - /* [in] */ long pkeyboardType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardType( - /* [retval][out] */ long *pkeyboardType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardSubType( - /* [in] */ long pkeyboardSubType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardSubType( - /* [retval][out] */ long *pkeyboardSubType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardFunctionKey( - /* [in] */ long pkeyboardFunctionKey) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardFunctionKey( - /* [retval][out] */ long *pkeyboardFunctionKey) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WinceFixedPalette( - /* [in] */ long pwinceFixedPalette) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WinceFixedPalette( - /* [retval][out] */ long *pwinceFixedPalette) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectToServerConsole( - /* [in] */ VARIANT_BOOL pConnectToConsole) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectToServerConsole( - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPersistence( - /* [in] */ long pbitmapPersistence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPersistence( - /* [retval][out] */ long *pbitmapPersistence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinutesToIdleTimeout( - /* [in] */ long pminutesToIdleTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinutesToIdleTimeout( - /* [retval][out] */ long *pminutesToIdleTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmartSizing( - /* [in] */ VARIANT_BOOL pfSmartSizing) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmartSizing( - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrLocalPrintingDocName( - /* [in] */ BSTR pLocalPrintingDocName) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrLocalPrintingDocName( - /* [retval][out] */ BSTR *pLocalPrintingDocName) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipCleanTempDirString( - /* [in] */ BSTR clipCleanTempDirString) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipCleanTempDirString( - /* [retval][out] */ BSTR *clipCleanTempDirString) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipPasteInfoString( - /* [in] */ BSTR clipPasteInfoString) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipPasteInfoString( - /* [retval][out] */ BSTR *clipPasteInfoString) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayConnectionBar( - /* [in] */ VARIANT_BOOL pDisplayConnectionBar) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayConnectionBar( - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PinConnectionBar( - /* [in] */ VARIANT_BOOL pPinConnectionBar) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PinConnectionBar( - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GrabFocusOnConnect( - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GrabFocusOnConnect( - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LoadBalanceInfo( - /* [in] */ BSTR pLBInfo) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LoadBalanceInfo( - /* [retval][out] */ BSTR *pLBInfo) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectDrives( - /* [in] */ VARIANT_BOOL pRedirectDrives) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectDrives( - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPrinters( - /* [in] */ VARIANT_BOOL pRedirectPrinters) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPrinters( - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPorts( - /* [in] */ VARIANT_BOOL pRedirectPorts) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPorts( - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectSmartCards( - /* [in] */ VARIANT_BOOL pRedirectSmartCards) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectSmartCards( - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache16BppSize( - /* [in] */ long pBitmapVirtualCache16BppSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache16BppSize( - /* [retval][out] */ long *pBitmapVirtualCache16BppSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache24BppSize( - /* [in] */ long pBitmapVirtualCache24BppSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache24BppSize( - /* [retval][out] */ long *pBitmapVirtualCache24BppSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PerformanceFlags( - /* [in] */ long pDisableList) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PerformanceFlags( - /* [retval][out] */ long *pDisableList) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectWithEndpoint( - /* [in] */ VARIANT *rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NotifyTSPublicKey( - /* [in] */ VARIANT_BOOL pfNotify) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NotifyTSPublicKey( - /* [retval][out] */ VARIANT_BOOL *pfNotify) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - END_INTERFACE - } IMsRdpClientAdvancedSettingsVtbl; - - interface IMsRdpClientAdvancedSettings - { - CONST_VTBL struct IMsRdpClientAdvancedSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_PerformanceFlags_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableList); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_PerformanceFlags_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_PerformanceFlags_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableList); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_PerformanceFlags_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT *rhs); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfNotify); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings2 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("9AC42117-2B76-4320-AA44-0E616AB8437B") - IMsRdpClientAdvancedSettings2 : public IMsRdpClientAdvancedSettings - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CanAutoReconnect( - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableAutoReconnect( - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableAutoReconnect( - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxReconnectAttempts( - /* [in] */ long pMaxReconnectAttempts) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxReconnectAttempts( - /* [retval][out] */ long *pMaxReconnectAttempts) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - END_INTERFACE - } IMsRdpClientAdvancedSettings2Vtbl; - - interface IMsRdpClientAdvancedSettings2 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings2_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings2_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings2_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings2_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings2_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings2_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings2_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings2_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings2_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings2_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings2_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings2_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings2_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings2_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings2_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings2_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings2_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings2_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings2_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings2_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings2_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings2_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings2_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings2_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings2_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings2_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings2_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings2_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings2_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings2_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings2_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings2_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings2_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings2_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings2_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings2_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings2_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings2_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings2_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings2_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings2_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings2_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings2_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings2_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings2_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings2_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings2_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings2_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings2_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings2_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings2_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings2_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings2_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings2_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings2_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings2_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings2_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings2_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pMaxReconnectAttempts); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings3 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("19CD856B-C542-4C53-ACEE-F127E3BE1A59") - IMsRdpClientAdvancedSettings3 : public IMsRdpClientAdvancedSettings2 - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowMinimizeButton( - /* [in] */ VARIANT_BOOL pfShowMinimize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowMinimizeButton( - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowRestoreButton( - /* [in] */ VARIANT_BOOL pfShowRestore) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowRestoreButton( - /* [retval][out] */ VARIANT_BOOL *pfShowRestore) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - END_INTERFACE - } IMsRdpClientAdvancedSettings3Vtbl; - - interface IMsRdpClientAdvancedSettings3 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings3_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings3_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings3_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings3_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings3_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings3_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings3_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings3_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings3_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings3_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings3_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings3_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings3_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings3_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings3_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings3_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings3_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings3_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings3_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings3_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings3_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings3_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings3_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings3_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings3_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings3_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings3_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings3_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings3_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings3_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings3_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings3_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings3_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings3_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings3_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings3_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings3_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings3_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings3_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings3_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings3_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings3_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings3_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings3_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings3_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings3_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings3_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings3_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings3_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings3_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings3_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings3_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings3_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings3_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings3_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings3_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings3_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - - -#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings4 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FBA7F64E-7345-4405-AE50-FA4A763DC0DE") - IMsRdpClientAdvancedSettings4 : public IMsRdpClientAdvancedSettings3 - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AuthenticationLevel( - /* [in] */ unsigned int puiAuthLevel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AuthenticationLevel( - /* [retval][out] */ unsigned int *puiAuthLevel) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings4Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AuthenticationLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ unsigned int puiAuthLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AuthenticationLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ unsigned int *puiAuthLevel); - - END_INTERFACE - } IMsRdpClientAdvancedSettings4Vtbl; - - interface IMsRdpClientAdvancedSettings4 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings4_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings4_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings4_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings4_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings4_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings4_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings4_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings4_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings4_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings4_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings4_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings4_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings4_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings4_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings4_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings4_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings4_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings4_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings4_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings4_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings4_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings4_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings4_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings4_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings4_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings4_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings4_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings4_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings4_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings4_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings4_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings4_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings4_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings4_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings4_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings4_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings4_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings4_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings4_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings4_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings4_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings4_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings4_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings4_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings4_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings4_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings4_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings4_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings4_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings4_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings4_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings4_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings4_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings4_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings4_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings4_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings4_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - - -#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - - -#define IMsRdpClientAdvancedSettings4_put_AuthenticationLevel(This,puiAuthLevel) \ - ( (This)->lpVtbl -> put_AuthenticationLevel(This,puiAuthLevel) ) - -#define IMsRdpClientAdvancedSettings4_get_AuthenticationLevel(This,puiAuthLevel) \ - ( (This)->lpVtbl -> get_AuthenticationLevel(This,puiAuthLevel) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Proxy( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ unsigned int puiAuthLevel); - - -void __RPC_STUB IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Proxy( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ unsigned int *puiAuthLevel); - - -void __RPC_STUB IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscSecuredSettings_INTERFACE_DEFINED__ -#define __IMsTscSecuredSettings_INTERFACE_DEFINED__ - -/* interface IMsTscSecuredSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscSecuredSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6") - IMsTscSecuredSettings : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartProgram( - /* [in] */ BSTR pStartProgram) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartProgram( - /* [retval][out] */ BSTR *pStartProgram) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WorkDir( - /* [in] */ BSTR pWorkDir) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WorkDir( - /* [retval][out] */ BSTR *pWorkDir) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( - /* [in] */ long pfFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( - /* [retval][out] */ long *pfFullScreen) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscSecuredSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscSecuredSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscSecuredSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscSecuredSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscSecuredSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscSecuredSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscSecuredSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscSecuredSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( - IMsTscSecuredSettings * This, - /* [in] */ BSTR pStartProgram); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( - IMsTscSecuredSettings * This, - /* [retval][out] */ BSTR *pStartProgram); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( - IMsTscSecuredSettings * This, - /* [in] */ BSTR pWorkDir); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( - IMsTscSecuredSettings * This, - /* [retval][out] */ BSTR *pWorkDir); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsTscSecuredSettings * This, - /* [in] */ long pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsTscSecuredSettings * This, - /* [retval][out] */ long *pfFullScreen); - - END_INTERFACE - } IMsTscSecuredSettingsVtbl; - - interface IMsTscSecuredSettings - { - CONST_VTBL struct IMsTscSecuredSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscSecuredSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscSecuredSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscSecuredSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscSecuredSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscSecuredSettings_put_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) - -#define IMsTscSecuredSettings_get_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) - -#define IMsTscSecuredSettings_put_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) - -#define IMsTscSecuredSettings_get_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) - -#define IMsTscSecuredSettings_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsTscSecuredSettings_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscSecuredSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ -#define __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ - -/* interface IMsRdpClientSecuredSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientSecuredSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("605BEFCF-39C1-45CC-A811-068FB7BE346D") - IMsRdpClientSecuredSettings : public IMsTscSecuredSettings - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardHookMode( - /* [in] */ long pkeyboardHookMode) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardHookMode( - /* [retval][out] */ long *pkeyboardHookMode) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AudioRedirectionMode( - /* [in] */ long pAudioRedirectionMode) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AudioRedirectionMode( - /* [retval][out] */ long *pAudioRedirectionMode) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientSecuredSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientSecuredSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientSecuredSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientSecuredSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientSecuredSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientSecuredSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientSecuredSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientSecuredSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( - IMsRdpClientSecuredSettings * This, - /* [in] */ BSTR pStartProgram); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ BSTR *pStartProgram); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( - IMsRdpClientSecuredSettings * This, - /* [in] */ BSTR pWorkDir); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ BSTR *pWorkDir); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pfFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardHookMode )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pkeyboardHookMode); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardHookMode )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pkeyboardHookMode); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRedirectionMode )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pAudioRedirectionMode); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRedirectionMode )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pAudioRedirectionMode); - - END_INTERFACE - } IMsRdpClientSecuredSettingsVtbl; - - interface IMsRdpClientSecuredSettings - { - CONST_VTBL struct IMsRdpClientSecuredSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientSecuredSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientSecuredSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientSecuredSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientSecuredSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientSecuredSettings_put_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) - -#define IMsRdpClientSecuredSettings_get_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) - -#define IMsRdpClientSecuredSettings_put_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) - -#define IMsRdpClientSecuredSettings_get_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) - -#define IMsRdpClientSecuredSettings_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClientSecuredSettings_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - - -#define IMsRdpClientSecuredSettings_put_KeyboardHookMode(This,pkeyboardHookMode) \ - ( (This)->lpVtbl -> put_KeyboardHookMode(This,pkeyboardHookMode) ) - -#define IMsRdpClientSecuredSettings_get_KeyboardHookMode(This,pkeyboardHookMode) \ - ( (This)->lpVtbl -> get_KeyboardHookMode(This,pkeyboardHookMode) ) - -#define IMsRdpClientSecuredSettings_put_AudioRedirectionMode(This,pAudioRedirectionMode) \ - ( (This)->lpVtbl -> put_AudioRedirectionMode(This,pAudioRedirectionMode) ) - -#define IMsRdpClientSecuredSettings_get_AudioRedirectionMode(This,pAudioRedirectionMode) \ - ( (This)->lpVtbl -> get_AudioRedirectionMode(This,pAudioRedirectionMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscDebug_INTERFACE_DEFINED__ -#define __IMsTscDebug_INTERFACE_DEFINED__ - -/* interface IMsTscDebug */ -/* [object][oleautomation][dual][hidden][uuid] */ - - -EXTERN_C const IID IID_IMsTscDebug; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("209D0EB9-6254-47B1-9033-A98DAE55BB27") - IMsTscDebug : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchBitmapPDU( - /* [in] */ long phatchBitmapPDU) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchBitmapPDU( - /* [retval][out] */ long *phatchBitmapPDU) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchSSBOrder( - /* [in] */ long phatchSSBOrder) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchSSBOrder( - /* [retval][out] */ long *phatchSSBOrder) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchMembltOrder( - /* [in] */ long phatchMembltOrder) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchMembltOrder( - /* [retval][out] */ long *phatchMembltOrder) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchIndexPDU( - /* [in] */ long phatchIndexPDU) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchIndexPDU( - /* [retval][out] */ long *phatchIndexPDU) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LabelMemblt( - /* [in] */ long plabelMemblt) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LabelMemblt( - /* [retval][out] */ long *plabelMemblt) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheMonitor( - /* [in] */ long pbitmapCacheMonitor) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheMonitor( - /* [retval][out] */ long *pbitmapCacheMonitor) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocFailuresPercent( - /* [in] */ long pmallocFailuresPercent) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocFailuresPercent( - /* [retval][out] */ long *pmallocFailuresPercent) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocHugeFailuresPercent( - /* [in] */ long pmallocHugeFailuresPercent) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocHugeFailuresPercent( - /* [retval][out] */ long *pmallocHugeFailuresPercent) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NetThroughput( - /* [in] */ long NetThroughput) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NetThroughput( - /* [retval][out] */ long *NetThroughput) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXCmdLine( - /* [in] */ BSTR pCLXCmdLine) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXCmdLine( - /* [retval][out] */ BSTR *pCLXCmdLine) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXDll( - /* [in] */ BSTR pCLXDll) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXDll( - /* [retval][out] */ BSTR *pCLXDll) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscDebugVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscDebug * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscDebug * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscDebug * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscDebug * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscDebug * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscDebug * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscDebug * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchBitmapPDU )( - IMsTscDebug * This, - /* [in] */ long phatchBitmapPDU); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchBitmapPDU )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchBitmapPDU); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchSSBOrder )( - IMsTscDebug * This, - /* [in] */ long phatchSSBOrder); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchSSBOrder )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchSSBOrder); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchMembltOrder )( - IMsTscDebug * This, - /* [in] */ long phatchMembltOrder); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchMembltOrder )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchMembltOrder); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchIndexPDU )( - IMsTscDebug * This, - /* [in] */ long phatchIndexPDU); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchIndexPDU )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchIndexPDU); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LabelMemblt )( - IMsTscDebug * This, - /* [in] */ long plabelMemblt); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LabelMemblt )( - IMsTscDebug * This, - /* [retval][out] */ long *plabelMemblt); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheMonitor )( - IMsTscDebug * This, - /* [in] */ long pbitmapCacheMonitor); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheMonitor )( - IMsTscDebug * This, - /* [retval][out] */ long *pbitmapCacheMonitor); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocFailuresPercent )( - IMsTscDebug * This, - /* [in] */ long pmallocFailuresPercent); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocFailuresPercent )( - IMsTscDebug * This, - /* [retval][out] */ long *pmallocFailuresPercent); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocHugeFailuresPercent )( - IMsTscDebug * This, - /* [in] */ long pmallocHugeFailuresPercent); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocHugeFailuresPercent )( - IMsTscDebug * This, - /* [retval][out] */ long *pmallocHugeFailuresPercent); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NetThroughput )( - IMsTscDebug * This, - /* [in] */ long NetThroughput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NetThroughput )( - IMsTscDebug * This, - /* [retval][out] */ long *NetThroughput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXCmdLine )( - IMsTscDebug * This, - /* [in] */ BSTR pCLXCmdLine); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXCmdLine )( - IMsTscDebug * This, - /* [retval][out] */ BSTR *pCLXCmdLine); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXDll )( - IMsTscDebug * This, - /* [in] */ BSTR pCLXDll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXDll )( - IMsTscDebug * This, - /* [retval][out] */ BSTR *pCLXDll); - - END_INTERFACE - } IMsTscDebugVtbl; - - interface IMsTscDebug - { - CONST_VTBL struct IMsTscDebugVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscDebug_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscDebug_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscDebug_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscDebug_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscDebug_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscDebug_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscDebug_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscDebug_put_HatchBitmapPDU(This,phatchBitmapPDU) \ - ( (This)->lpVtbl -> put_HatchBitmapPDU(This,phatchBitmapPDU) ) - -#define IMsTscDebug_get_HatchBitmapPDU(This,phatchBitmapPDU) \ - ( (This)->lpVtbl -> get_HatchBitmapPDU(This,phatchBitmapPDU) ) - -#define IMsTscDebug_put_HatchSSBOrder(This,phatchSSBOrder) \ - ( (This)->lpVtbl -> put_HatchSSBOrder(This,phatchSSBOrder) ) - -#define IMsTscDebug_get_HatchSSBOrder(This,phatchSSBOrder) \ - ( (This)->lpVtbl -> get_HatchSSBOrder(This,phatchSSBOrder) ) - -#define IMsTscDebug_put_HatchMembltOrder(This,phatchMembltOrder) \ - ( (This)->lpVtbl -> put_HatchMembltOrder(This,phatchMembltOrder) ) - -#define IMsTscDebug_get_HatchMembltOrder(This,phatchMembltOrder) \ - ( (This)->lpVtbl -> get_HatchMembltOrder(This,phatchMembltOrder) ) - -#define IMsTscDebug_put_HatchIndexPDU(This,phatchIndexPDU) \ - ( (This)->lpVtbl -> put_HatchIndexPDU(This,phatchIndexPDU) ) - -#define IMsTscDebug_get_HatchIndexPDU(This,phatchIndexPDU) \ - ( (This)->lpVtbl -> get_HatchIndexPDU(This,phatchIndexPDU) ) - -#define IMsTscDebug_put_LabelMemblt(This,plabelMemblt) \ - ( (This)->lpVtbl -> put_LabelMemblt(This,plabelMemblt) ) - -#define IMsTscDebug_get_LabelMemblt(This,plabelMemblt) \ - ( (This)->lpVtbl -> get_LabelMemblt(This,plabelMemblt) ) - -#define IMsTscDebug_put_BitmapCacheMonitor(This,pbitmapCacheMonitor) \ - ( (This)->lpVtbl -> put_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) - -#define IMsTscDebug_get_BitmapCacheMonitor(This,pbitmapCacheMonitor) \ - ( (This)->lpVtbl -> get_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) - -#define IMsTscDebug_put_MallocFailuresPercent(This,pmallocFailuresPercent) \ - ( (This)->lpVtbl -> put_MallocFailuresPercent(This,pmallocFailuresPercent) ) - -#define IMsTscDebug_get_MallocFailuresPercent(This,pmallocFailuresPercent) \ - ( (This)->lpVtbl -> get_MallocFailuresPercent(This,pmallocFailuresPercent) ) - -#define IMsTscDebug_put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) \ - ( (This)->lpVtbl -> put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) - -#define IMsTscDebug_get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) \ - ( (This)->lpVtbl -> get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) - -#define IMsTscDebug_put_NetThroughput(This,NetThroughput) \ - ( (This)->lpVtbl -> put_NetThroughput(This,NetThroughput) ) - -#define IMsTscDebug_get_NetThroughput(This,NetThroughput) \ - ( (This)->lpVtbl -> get_NetThroughput(This,NetThroughput) ) - -#define IMsTscDebug_put_CLXCmdLine(This,pCLXCmdLine) \ - ( (This)->lpVtbl -> put_CLXCmdLine(This,pCLXCmdLine) ) - -#define IMsTscDebug_get_CLXCmdLine(This,pCLXCmdLine) \ - ( (This)->lpVtbl -> get_CLXCmdLine(This,pCLXCmdLine) ) - -#define IMsTscDebug_put_CLXDll(This,pCLXDll) \ - ( (This)->lpVtbl -> put_CLXDll(This,pCLXDll) ) - -#define IMsTscDebug_get_CLXDll(This,pCLXDll) \ - ( (This)->lpVtbl -> get_CLXDll(This,pCLXDll) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscDebug_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_MsTscAx; - -#ifdef __cplusplus - -class DECLSPEC_UUID("A41A4187-5A86-4E26-B40A-856F9035D9CB") -MsTscAx; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient; - -#ifdef __cplusplus - -class DECLSPEC_UUID("7CACBD7B-0D99-468F-AC33-22E495C0AFE5") -MsRdpClient; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient2; - -#ifdef __cplusplus - -class DECLSPEC_UUID("3523C2FB-4031-44E4-9A3B-F1E94986EE7F") -MsRdpClient2; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient3; - -#ifdef __cplusplus - -class DECLSPEC_UUID("ACE575FD-1FCF-4074-9401-EBAB990FA9DE") -MsRdpClient3; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient4; - -#ifdef __cplusplus - -class DECLSPEC_UUID("6AE29350-321B-42BE-BBE5-12FB5270C0DE") -MsRdpClient4; -#endif -#endif /* __MSTSCLib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c deleted file mode 100644 index b66a1a51b68..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c +++ /dev/null @@ -1,145 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0493 */ -/* at Sun Aug 13 16:46:06 2006 - */ -/* Compiler settings for .\mstsclib.idl: - Oicf, W1, Zp8, env=Win32 (32b run) - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -//@@MIDL_FILE_HEADING( ) - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, LIBID_MSTSCLib,0x8C11EFA1,0x92C3,0x11D1,0xBC,0x1E,0x00,0xC0,0x4F,0xA3,0x14,0x89); - - -MIDL_DEFINE_GUID(IID, DIID_IMsTscAxEvents,0x336D5562,0xEFA8,0x482E,0x8C,0xB3,0xC5,0xC0,0xFC,0x7A,0x7D,0xB6); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscAx,0x8C11EFAE,0x92C3,0x11D1,0xBC,0x1E,0x00,0xC0,0x4F,0xA3,0x14,0x89); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient,0x92B4A539,0x7115,0x4B7C,0xA5,0xA9,0xE5,0xD9,0xEF,0xC2,0x78,0x0A); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient2,0xE7E17DC4,0x3B71,0x4BA7,0xA8,0xE6,0x28,0x1F,0xFA,0xDC,0xA2,0x8F); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient3,0x91B7CBC5,0xA72E,0x4FA0,0x93,0x00,0xD6,0x47,0xD7,0xE8,0x97,0xFF); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient4,0x095E0738,0xD97D,0x488B,0xB9,0xF6,0xDD,0x0E,0x8D,0x66,0xC0,0xDE); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscNonScriptable,0xC1E6743A,0x41C1,0x4A74,0x83,0x2A,0x0D,0xD0,0x6C,0x1C,0x7A,0x0E); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable,0x2F079C4C,0x87B2,0x4AFD,0x97,0xAB,0x20,0xCD,0xB4,0x30,0x38,0xAE); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable2,0x17A5E535,0x4072,0x4FA4,0xAF,0x32,0xC8,0xD0,0xD4,0x73,0x45,0xE9); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscAdvancedSettings,0x809945CC,0x4B3B,0x4A92,0xA6,0xB0,0xDB,0xF9,0xB5,0xF2,0xEF,0x2D); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings,0x3C65B4AB,0x12B3,0x465B,0xAC,0xD4,0xB8,0xDA,0xD3,0xBF,0xF9,0xE2); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings2,0x9AC42117,0x2B76,0x4320,0xAA,0x44,0x0E,0x61,0x6A,0xB8,0x43,0x7B); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings3,0x19CD856B,0xC542,0x4C53,0xAC,0xEE,0xF1,0x27,0xE3,0xBE,0x1A,0x59); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings4,0xFBA7F64E,0x7345,0x4405,0xAE,0x50,0xFA,0x4A,0x76,0x3D,0xC0,0xDE); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscSecuredSettings,0xC9D65442,0xA0F9,0x45B2,0x8F,0x73,0xD6,0x1D,0x2D,0xB8,0xCB,0xB6); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientSecuredSettings,0x605BEFCF,0x39C1,0x45CC,0xA8,0x11,0x06,0x8F,0xB7,0xBE,0x34,0x6D); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscDebug,0x209D0EB9,0x6254,0x47B1,0x90,0x33,0xA9,0x8D,0xAE,0x55,0xBB,0x27); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsTscAx,0xA41A4187,0x5A86,0x4E26,0xB4,0x0A,0x85,0x6F,0x90,0x35,0xD9,0xCB); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient,0x7CACBD7B,0x0D99,0x468F,0xAC,0x33,0x22,0xE4,0x95,0xC0,0xAF,0xE5); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient2,0x3523C2FB,0x4031,0x44E4,0x9A,0x3B,0xF1,0xE9,0x49,0x86,0xEE,0x7F); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient3,0xACE575FD,0x1FCF,0x4074,0x94,0x01,0xEB,0xAB,0x99,0x0F,0xA9,0xDE); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient4,0x6AE29350,0x321B,0x42BE,0xBB,0xE5,0x12,0xFB,0x52,0x70,0xC0,0xDE); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl deleted file mode 100644 index 8a2421bc5e5..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl +++ /dev/null @@ -1,3 +0,0 @@ -#define MSTSCLIB_REDIST_ -#include "./mstsclib.idl" -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc deleted file mode 100644 index 3cbb8ee6746..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc +++ /dev/null @@ -1,3 +0,0 @@ -#define TYPELIB_RESOURCEID__ 2 -#include "./typelib.rh" -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h deleted file mode 100644 index 3ee3213df53..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h +++ /dev/null @@ -1,8946 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0493 */ -/* at Sun Aug 13 16:46:05 2006 - */ -/* Compiler settings for .\mstsclib_redist.idl: - Oicf, W1, Zp8, env=Win32 (32b run) - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -//@@MIDL_FILE_HEADING( ) - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __mstsclib_redist_h_h__ -#define __mstsclib_redist_h_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IMsTscAxEvents_FWD_DEFINED__ -#define __IMsTscAxEvents_FWD_DEFINED__ -typedef interface IMsTscAxEvents IMsTscAxEvents; -#endif /* __IMsTscAxEvents_FWD_DEFINED__ */ - - -#ifndef __IMsTscAx_FWD_DEFINED__ -#define __IMsTscAx_FWD_DEFINED__ -typedef interface IMsTscAx IMsTscAx; -#endif /* __IMsTscAx_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient_FWD_DEFINED__ -#define __IMsRdpClient_FWD_DEFINED__ -typedef interface IMsRdpClient IMsRdpClient; -#endif /* __IMsRdpClient_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient2_FWD_DEFINED__ -#define __IMsRdpClient2_FWD_DEFINED__ -typedef interface IMsRdpClient2 IMsRdpClient2; -#endif /* __IMsRdpClient2_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient3_FWD_DEFINED__ -#define __IMsRdpClient3_FWD_DEFINED__ -typedef interface IMsRdpClient3 IMsRdpClient3; -#endif /* __IMsRdpClient3_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClient4_FWD_DEFINED__ -#define __IMsRdpClient4_FWD_DEFINED__ -typedef interface IMsRdpClient4 IMsRdpClient4; -#endif /* __IMsRdpClient4_FWD_DEFINED__ */ - - -#ifndef __IMsTscNonScriptable_FWD_DEFINED__ -#define __IMsTscNonScriptable_FWD_DEFINED__ -typedef interface IMsTscNonScriptable IMsTscNonScriptable; -#endif /* __IMsTscNonScriptable_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable_FWD_DEFINED__ -#define __IMsRdpClientNonScriptable_FWD_DEFINED__ -typedef interface IMsRdpClientNonScriptable IMsRdpClientNonScriptable; -#endif /* __IMsRdpClientNonScriptable_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable2_FWD_DEFINED__ -#define __IMsRdpClientNonScriptable2_FWD_DEFINED__ -typedef interface IMsRdpClientNonScriptable2 IMsRdpClientNonScriptable2; -#endif /* __IMsRdpClientNonScriptable2_FWD_DEFINED__ */ - - -#ifndef __IMsTscAdvancedSettings_FWD_DEFINED__ -#define __IMsTscAdvancedSettings_FWD_DEFINED__ -typedef interface IMsTscAdvancedSettings IMsTscAdvancedSettings; -#endif /* __IMsTscAdvancedSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings IMsRdpClientAdvancedSettings; -#endif /* __IMsRdpClientAdvancedSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings2 IMsRdpClientAdvancedSettings2; -#endif /* __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings3 IMsRdpClientAdvancedSettings3; -#endif /* __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ -#define __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ -typedef interface IMsRdpClientAdvancedSettings4 IMsRdpClientAdvancedSettings4; -#endif /* __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ */ - - -#ifndef __IMsTscSecuredSettings_FWD_DEFINED__ -#define __IMsTscSecuredSettings_FWD_DEFINED__ -typedef interface IMsTscSecuredSettings IMsTscSecuredSettings; -#endif /* __IMsTscSecuredSettings_FWD_DEFINED__ */ - - -#ifndef __IMsRdpClientSecuredSettings_FWD_DEFINED__ -#define __IMsRdpClientSecuredSettings_FWD_DEFINED__ -typedef interface IMsRdpClientSecuredSettings IMsRdpClientSecuredSettings; -#endif /* __IMsRdpClientSecuredSettings_FWD_DEFINED__ */ - - -#ifndef __IMsTscDebug_FWD_DEFINED__ -#define __IMsTscDebug_FWD_DEFINED__ -typedef interface IMsTscDebug IMsTscDebug; -#endif /* __IMsTscDebug_FWD_DEFINED__ */ - - -#ifndef __MsTscAx_FWD_DEFINED__ -#define __MsTscAx_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsTscAx MsTscAx; -#else -typedef struct MsTscAx MsTscAx; -#endif /* __cplusplus */ - -#endif /* __MsTscAx_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient_FWD_DEFINED__ -#define __MsRdpClient_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient MsRdpClient; -#else -typedef struct MsRdpClient MsRdpClient; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient2_FWD_DEFINED__ -#define __MsRdpClient2_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient2 MsRdpClient2; -#else -typedef struct MsRdpClient2 MsRdpClient2; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient2_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient3_FWD_DEFINED__ -#define __MsRdpClient3_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient3 MsRdpClient3; -#else -typedef struct MsRdpClient3 MsRdpClient3; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient3_FWD_DEFINED__ */ - - -#ifndef __MsRdpClient4_FWD_DEFINED__ -#define __MsRdpClient4_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class MsRdpClient4 MsRdpClient4; -#else -typedef struct MsRdpClient4 MsRdpClient4; -#endif /* __cplusplus */ - -#endif /* __MsRdpClient4_FWD_DEFINED__ */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - - -#ifndef __MSTSCLib_LIBRARY_DEFINED__ -#define __MSTSCLib_LIBRARY_DEFINED__ - -/* library MSTSCLib */ -/* [version][uuid] */ - - - - - - - - - - - - - - - - - - -typedef /* [public][public][public] */ -enum __MIDL___MIDL_itf_mstsax_0275_0001 - { autoReconnectContinueAutomatic = 0, - autoReconnectContinueStop = 1, - autoReconnectContinueManual = 2 - } AutoReconnectContinueState; - -typedef /* [public][public][public] */ -enum __MIDL_IMsRdpClient_0001 - { exDiscReasonNoInfo = 0, - exDiscReasonAPIInitiatedDisconnect = 1, - exDiscReasonAPIInitiatedLogoff = 2, - exDiscReasonServerIdleTimeout = 3, - exDiscReasonServerLogonTimeout = 4, - exDiscReasonReplacedByOtherConnection = 5, - exDiscReasonOutOfMemory = 6, - exDiscReasonServerDeniedConnection = 7, - exDiscReasonServerDeniedConnectionFips = 8, - exDiscReasonLicenseInternal = 256, - exDiscReasonLicenseNoLicenseServer = 257, - exDiscReasonLicenseNoLicense = 258, - exDiscReasonLicenseErrClientMsg = 259, - exDiscReasonLicenseHwidDoesntMatchLicense = 260, - exDiscReasonLicenseErrClientLicense = 261, - exDiscReasonLicenseCantFinishProtocol = 262, - exDiscReasonLicenseClientEndedProtocol = 263, - exDiscReasonLicenseErrClientEncryption = 264, - exDiscReasonLicenseCantUpgradeLicense = 265, - exDiscReasonLicenseNoRemoteConnections = 266, - exDiscReasonProtocolRangeStart = 4096, - exDiscReasonProtocolRangeEnd = 32767 - } ExtendedDisconnectReasonCode; - -typedef /* [public][public][public] */ -enum __MIDL_IMsRdpClient_0002 - { controlCloseCanProceed = 0, - controlCloseWaitForEvents = 1 - } ControlCloseStatus; - -typedef /* [custom][public] */ unsigned __int3264 UINT_PTR; - -typedef /* [custom][public] */ __int3264 LONG_PTR; - - -EXTERN_C const IID LIBID_MSTSCLib; - -#ifndef __IMsTscAxEvents_DISPINTERFACE_DEFINED__ -#define __IMsTscAxEvents_DISPINTERFACE_DEFINED__ - -/* dispinterface IMsTscAxEvents */ -/* [uuid] */ - - -EXTERN_C const IID DIID_IMsTscAxEvents; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6") - IMsTscAxEvents : public IDispatch - { - }; - -#else /* C style interface */ - - typedef struct IMsTscAxEventsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAxEvents * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAxEvents * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAxEvents * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAxEvents * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAxEvents * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAxEvents * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAxEvents * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - END_INTERFACE - } IMsTscAxEventsVtbl; - - interface IMsTscAxEvents - { - CONST_VTBL struct IMsTscAxEventsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAxEvents_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAxEvents_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAxEvents_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAxEvents_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAxEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAxEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAxEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - -#endif /* __IMsTscAxEvents_DISPINTERFACE_DEFINED__ */ - - -#ifndef __IMsTscAx_INTERFACE_DEFINED__ -#define __IMsTscAx_INTERFACE_DEFINED__ - -/* interface IMsTscAx */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscAx; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("327BB5CD-834E-4400-AEF2-B30E15E5D682") - IMsTscAx : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Server( - /* [in] */ BSTR pServer) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Server( - /* [retval][out] */ BSTR *pServer) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Domain( - /* [in] */ BSTR pDomain) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Domain( - /* [retval][out] */ BSTR *pDomain) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UserName( - /* [in] */ BSTR pUserName) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UserName( - /* [retval][out] */ BSTR *pUserName) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisconnectedText( - /* [in] */ BSTR pDisconnectedText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisconnectedText( - /* [retval][out] */ BSTR *pDisconnectedText) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectingText( - /* [in] */ BSTR pConnectingText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectingText( - /* [retval][out] */ BSTR *pConnectingText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Connected( - /* [retval][out] */ short *pIsConnected) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopWidth( - /* [in] */ long pVal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopWidth( - /* [retval][out] */ long *pVal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopHeight( - /* [in] */ long pVal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopHeight( - /* [retval][out] */ long *pVal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartConnected( - /* [in] */ long pfStartConnected) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartConnected( - /* [retval][out] */ long *pfStartConnected) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalScrollBarVisible( - /* [retval][out] */ long *pfHScrollVisible) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalScrollBarVisible( - /* [retval][out] */ long *pfVScrollVisible) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreenTitle( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CipherStrength( - /* [retval][out] */ long *pCipherStrength) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Version( - /* [retval][out] */ BSTR *pVersion) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettingsEnabled( - /* [retval][out] */ long *pSecuredSettingsEnabled) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings( - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings( - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings) = 0; - - virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Debugger( - /* [retval][out] */ IMsTscDebug **ppDebugger) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateVirtualChannels( - /* [in] */ BSTR newVal) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE SendOnVirtualChannel( - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscAxVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAx * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAx * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAx * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAx * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAx * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAx * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAx * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsTscAx * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsTscAx * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsTscAx * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsTscAx * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsTscAx * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsTscAx * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsTscAx * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsTscAx * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsTscAx * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsTscAx * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsTscAx * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsTscAx * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsTscAx * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsTscAx * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsTscAx * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsTscAx * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsTscAx * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsTscAx * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsTscAx * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsTscAx * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsTscAx * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsTscAx * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsTscAx * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsTscAx * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsTscAx * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - END_INTERFACE - } IMsTscAxVtbl; - - interface IMsTscAx - { - CONST_VTBL struct IMsTscAxVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAx_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAx_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAx_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAx_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscAx_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsTscAx_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsTscAx_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsTscAx_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsTscAx_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsTscAx_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsTscAx_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsTscAx_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsTscAx_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsTscAx_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsTscAx_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsTscAx_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsTscAx_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsTscAx_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsTscAx_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsTscAx_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsTscAx_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsTscAx_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsTscAx_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsTscAx_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsTscAx_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsTscAx_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsTscAx_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsTscAx_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsTscAx_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsTscAx_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsTscAx_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsTscAx_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsTscAx_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsTscAx_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscAx_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient_INTERFACE_DEFINED__ -#define __IMsRdpClient_INTERFACE_DEFINED__ - -/* interface IMsRdpClient */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("92B4A539-7115-4B7C-A5A9-E5D9EFC2780A") - IMsRdpClient : public IMsTscAx - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorDepth( - /* [in] */ long pcolorDepth) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorDepth( - /* [retval][out] */ long *pcolorDepth) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings2( - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings2( - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ExtendedDisconnectReason( - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( - /* [in] */ VARIANT_BOOL pfFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( - /* [retval][out] */ VARIANT_BOOL *pfFullScreen) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetVirtualChannelOptions( - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetVirtualChannelOptions( - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions) = 0; - - virtual /* [id] */ HRESULT STDMETHODCALLTYPE RequestClose( - /* [retval][out] */ ControlCloseStatus *pCloseStatus) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - END_INTERFACE - } IMsRdpClientVtbl; - - interface IMsRdpClient - { - CONST_VTBL struct IMsRdpClientVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient2_INTERFACE_DEFINED__ -#define __IMsRdpClient2_INTERFACE_DEFINED__ - -/* interface IMsRdpClient2 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F") - IMsRdpClient2 : public IMsRdpClient - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings3( - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectedStatusText( - /* [in] */ BSTR pConnectedStatusText) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectedStatusText( - /* [retval][out] */ BSTR *pConnectedStatusText) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient2 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient2 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient2 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient2 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient2 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient2 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient2 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient2 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient2 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient2 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient2 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient2 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient2 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient2 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient2 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient2 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient2 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient2 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient2 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient2 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient2 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - END_INTERFACE - } IMsRdpClient2Vtbl; - - interface IMsRdpClient2 - { - CONST_VTBL struct IMsRdpClient2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient2_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient2_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient2_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient2_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient2_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient2_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient2_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient2_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient2_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient2_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient2_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient2_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient2_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient2_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient2_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient2_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient2_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient2_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient2_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient2_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient2_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient2_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient2_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient2_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient2_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient2_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient2_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient2_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient2_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient2_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient2_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient2_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient2_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient2_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient2_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient2_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient2_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient2_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient2_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient2_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient2_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient2_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient2_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient3_INTERFACE_DEFINED__ -#define __IMsRdpClient3_INTERFACE_DEFINED__ - -/* interface IMsRdpClient3 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("91B7CBC5-A72E-4FA0-9300-D647D7E897FF") - IMsRdpClient3 : public IMsRdpClient2 - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings4( - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient3 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient3 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient3 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient3 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient3 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient3 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient3 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient3 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient3 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient3 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient3 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient3 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient3 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient3 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient3 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient3 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient3 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient3 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient3 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient3 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient3 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient3 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient3 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient3 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient3 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( - IMsRdpClient3 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings); - - END_INTERFACE - } IMsRdpClient3Vtbl; - - interface IMsRdpClient3 - { - CONST_VTBL struct IMsRdpClient3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient3_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient3_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient3_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient3_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient3_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient3_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient3_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient3_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient3_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient3_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient3_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient3_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient3_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient3_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient3_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient3_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient3_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient3_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient3_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient3_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient3_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient3_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient3_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient3_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient3_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient3_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient3_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient3_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient3_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient3_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient3_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient3_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient3_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient3_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient3_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient3_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient3_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient3_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient3_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient3_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient3_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient3_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient3_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient3_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - - -#define IMsRdpClient3_get_AdvancedSettings4(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient3_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClient4_INTERFACE_DEFINED__ -#define __IMsRdpClient4_INTERFACE_DEFINED__ - -/* interface IMsRdpClient4 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClient4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("095E0738-D97D-488B-B9F6-DD0E8D66C0DE") - IMsRdpClient4 : public IMsRdpClient3 - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings5( - /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClient4Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClient4 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClient4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClient4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClient4 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClient4 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClient4 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClient4 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( - IMsRdpClient4 * This, - /* [in] */ BSTR pServer); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pServer); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( - IMsRdpClient4 * This, - /* [in] */ BSTR pDomain); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pDomain); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( - IMsRdpClient4 * This, - /* [in] */ BSTR pUserName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pUserName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pDisconnectedText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pDisconnectedText); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pConnectingText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( - IMsRdpClient4 * This, - /* [retval][out] */ short *pIsConnected); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( - IMsRdpClient4 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( - IMsRdpClient4 * This, - /* [in] */ long pVal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pVal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( - IMsRdpClient4 * This, - /* [in] */ long pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfStartConnected); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfHScrollVisible); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pfVScrollVisible); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( - IMsRdpClient4 * This, - /* [in] */ BSTR rhs); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pCipherStrength); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pVersion); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pSecuredSettingsEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings); - - /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsTscDebug **ppDebugger); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( - IMsRdpClient4 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( - IMsRdpClient4 * This); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( - IMsRdpClient4 * This, - /* [in] */ BSTR newVal); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [in] */ BSTR ChanData); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( - IMsRdpClient4 * This, - /* [in] */ long pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( - IMsRdpClient4 * This, - /* [retval][out] */ long *pcolorDepth); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( - IMsRdpClient4 * This, - /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClient4 * This, - /* [in] */ VARIANT_BOOL pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClient4 * This, - /* [retval][out] */ VARIANT_BOOL *pfFullScreen); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [in] */ long chanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( - IMsRdpClient4 * This, - /* [in] */ BSTR chanName, - /* [retval][out] */ long *pChanOptions); - - /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( - IMsRdpClient4 * This, - /* [retval][out] */ ControlCloseStatus *pCloseStatus); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( - IMsRdpClient4 * This, - /* [in] */ BSTR pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( - IMsRdpClient4 * This, - /* [retval][out] */ BSTR *pConnectedStatusText); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings5 )( - IMsRdpClient4 * This, - /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5); - - END_INTERFACE - } IMsRdpClient4Vtbl; - - interface IMsRdpClient4 - { - CONST_VTBL struct IMsRdpClient4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClient4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClient4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClient4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClient4_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClient4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClient4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClient4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClient4_put_Server(This,pServer) \ - ( (This)->lpVtbl -> put_Server(This,pServer) ) - -#define IMsRdpClient4_get_Server(This,pServer) \ - ( (This)->lpVtbl -> get_Server(This,pServer) ) - -#define IMsRdpClient4_put_Domain(This,pDomain) \ - ( (This)->lpVtbl -> put_Domain(This,pDomain) ) - -#define IMsRdpClient4_get_Domain(This,pDomain) \ - ( (This)->lpVtbl -> get_Domain(This,pDomain) ) - -#define IMsRdpClient4_put_UserName(This,pUserName) \ - ( (This)->lpVtbl -> put_UserName(This,pUserName) ) - -#define IMsRdpClient4_get_UserName(This,pUserName) \ - ( (This)->lpVtbl -> get_UserName(This,pUserName) ) - -#define IMsRdpClient4_put_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient4_get_DisconnectedText(This,pDisconnectedText) \ - ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) - -#define IMsRdpClient4_put_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient4_get_ConnectingText(This,pConnectingText) \ - ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) - -#define IMsRdpClient4_get_Connected(This,pIsConnected) \ - ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) - -#define IMsRdpClient4_put_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) - -#define IMsRdpClient4_get_DesktopWidth(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) - -#define IMsRdpClient4_put_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) - -#define IMsRdpClient4_get_DesktopHeight(This,pVal) \ - ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) - -#define IMsRdpClient4_put_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient4_get_StartConnected(This,pfStartConnected) \ - ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) - -#define IMsRdpClient4_get_HorizontalScrollBarVisible(This,pfHScrollVisible) \ - ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) - -#define IMsRdpClient4_get_VerticalScrollBarVisible(This,pfVScrollVisible) \ - ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) - -#define IMsRdpClient4_put_FullScreenTitle(This,rhs) \ - ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) - -#define IMsRdpClient4_get_CipherStrength(This,pCipherStrength) \ - ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) - -#define IMsRdpClient4_get_Version(This,pVersion) \ - ( (This)->lpVtbl -> get_Version(This,pVersion) ) - -#define IMsRdpClient4_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) \ - ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) - -#define IMsRdpClient4_get_SecuredSettings(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) - -#define IMsRdpClient4_get_AdvancedSettings(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) - -#define IMsRdpClient4_get_Debugger(This,ppDebugger) \ - ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) - -#define IMsRdpClient4_Connect(This) \ - ( (This)->lpVtbl -> Connect(This) ) - -#define IMsRdpClient4_Disconnect(This) \ - ( (This)->lpVtbl -> Disconnect(This) ) - -#define IMsRdpClient4_CreateVirtualChannels(This,newVal) \ - ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) - -#define IMsRdpClient4_SendOnVirtualChannel(This,chanName,ChanData) \ - ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) - - -#define IMsRdpClient4_put_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient4_get_ColorDepth(This,pcolorDepth) \ - ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) - -#define IMsRdpClient4_get_AdvancedSettings2(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) - -#define IMsRdpClient4_get_SecuredSettings2(This,ppSecuredSettings) \ - ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) - -#define IMsRdpClient4_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) \ - ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) - -#define IMsRdpClient4_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient4_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClient4_SetVirtualChannelOptions(This,chanName,chanOptions) \ - ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) - -#define IMsRdpClient4_GetVirtualChannelOptions(This,chanName,pChanOptions) \ - ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) - -#define IMsRdpClient4_RequestClose(This,pCloseStatus) \ - ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) - - -#define IMsRdpClient4_get_AdvancedSettings3(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) - -#define IMsRdpClient4_put_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) - -#define IMsRdpClient4_get_ConnectedStatusText(This,pConnectedStatusText) \ - ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) - - -#define IMsRdpClient4_get_AdvancedSettings4(This,ppAdvSettings) \ - ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) - - -#define IMsRdpClient4_get_AdvancedSettings5(This,ppAdvSettings5) \ - ( (This)->lpVtbl -> get_AdvancedSettings5(This,ppAdvSettings5) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClient4_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscNonScriptable_INTERFACE_DEFINED__ -#define __IMsTscNonScriptable_INTERFACE_DEFINED__ - -/* interface IMsTscNonScriptable */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsTscNonScriptable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C1E6743A-41C1-4A74-832A-0DD06C1C7A0E") - IMsTscNonScriptable : public IUnknown - { - public: - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortablePassword( - /* [in] */ BSTR pPortablePass) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortablePassword( - /* [retval][out] */ BSTR *pPortablePass) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortableSalt( - /* [in] */ BSTR pPortableSalt) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortableSalt( - /* [retval][out] */ BSTR *pPortableSalt) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinaryPassword( - /* [in] */ BSTR pBinaryPassword) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinaryPassword( - /* [retval][out] */ BSTR *pBinaryPassword) = 0; - - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinarySalt( - /* [in] */ BSTR pSalt) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinarySalt( - /* [retval][out] */ BSTR *pSalt) = 0; - - virtual HRESULT STDMETHODCALLTYPE ResetPassword( void) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscNonScriptableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscNonScriptable * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscNonScriptable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscNonScriptable * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsTscNonScriptable * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsTscNonScriptable * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsTscNonScriptable * This); - - END_INTERFACE - } IMsTscNonScriptableVtbl; - - interface IMsTscNonScriptable - { - CONST_VTBL struct IMsTscNonScriptableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscNonScriptable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscNonScriptable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscNonScriptable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscNonScriptable_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsTscNonScriptable_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsTscNonScriptable_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsTscNonScriptable_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsTscNonScriptable_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsTscNonScriptable_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsTscNonScriptable_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsTscNonScriptable_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsTscNonScriptable_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsTscNonScriptable_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscNonScriptable_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ -#define __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ - -/* interface IMsRdpClientNonScriptable */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientNonScriptable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2F079C4C-87B2-4AFD-97AB-20CDB43038AE") - IMsRdpClientNonScriptable : public IMsTscNonScriptable - { - public: - virtual HRESULT STDMETHODCALLTYPE NotifyRedirectDeviceChange( - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam) = 0; - - virtual HRESULT STDMETHODCALLTYPE SendKeys( - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientNonScriptableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientNonScriptable * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientNonScriptable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientNonScriptable * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsRdpClientNonScriptable * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsRdpClientNonScriptable * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsRdpClientNonScriptable * This); - - HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( - IMsRdpClientNonScriptable * This, - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam); - - HRESULT ( STDMETHODCALLTYPE *SendKeys )( - IMsRdpClientNonScriptable * This, - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData); - - END_INTERFACE - } IMsRdpClientNonScriptableVtbl; - - interface IMsRdpClientNonScriptable - { - CONST_VTBL struct IMsRdpClientNonScriptableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientNonScriptable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientNonScriptable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientNonScriptable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientNonScriptable_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientNonScriptable_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - - -#define IMsRdpClientNonScriptable_NotifyRedirectDeviceChange(This,wParam,lParam) \ - ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) - -#define IMsRdpClientNonScriptable_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) \ - ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ -#define __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ - -/* interface IMsRdpClientNonScriptable2 */ -/* [object][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientNonScriptable2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("17A5E535-4072-4FA4-AF32-C8D0D47345E9") - IMsRdpClientNonScriptable2 : public IMsRdpClientNonScriptable - { - public: - virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UIParentWindowHandle( - /* [in] */ HWND phwndUIParentWindowHandle) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UIParentWindowHandle( - /* [retval][out] */ HWND *phwndUIParentWindowHandle) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientNonScriptable2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientNonScriptable2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientNonScriptable2 * This); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR rhs); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pPortablePass); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pPortablePass); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pPortableSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pPortableSalt); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pBinaryPassword); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pBinaryPassword); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ BSTR pSalt); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ BSTR *pSalt); - - HRESULT ( STDMETHODCALLTYPE *ResetPassword )( - IMsRdpClientNonScriptable2 * This); - - HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ UINT_PTR wParam, - /* [in] */ LONG_PTR lParam); - - HRESULT ( STDMETHODCALLTYPE *SendKeys )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ long numKeys, - /* [in] */ VARIANT_BOOL *pbArrayKeyUp, - /* [in] */ long *plKeyData); - - /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIParentWindowHandle )( - IMsRdpClientNonScriptable2 * This, - /* [in] */ HWND phwndUIParentWindowHandle); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIParentWindowHandle )( - IMsRdpClientNonScriptable2 * This, - /* [retval][out] */ HWND *phwndUIParentWindowHandle); - - END_INTERFACE - } IMsRdpClientNonScriptable2Vtbl; - - interface IMsRdpClientNonScriptable2 - { - CONST_VTBL struct IMsRdpClientNonScriptable2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientNonScriptable2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientNonScriptable2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientNonScriptable2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientNonScriptable2_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientNonScriptable2_put_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable2_get_PortablePassword(This,pPortablePass) \ - ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) - -#define IMsRdpClientNonScriptable2_put_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable2_get_PortableSalt(This,pPortableSalt) \ - ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) - -#define IMsRdpClientNonScriptable2_put_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable2_get_BinaryPassword(This,pBinaryPassword) \ - ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) - -#define IMsRdpClientNonScriptable2_put_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable2_get_BinarySalt(This,pSalt) \ - ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) - -#define IMsRdpClientNonScriptable2_ResetPassword(This) \ - ( (This)->lpVtbl -> ResetPassword(This) ) - - -#define IMsRdpClientNonScriptable2_NotifyRedirectDeviceChange(This,wParam,lParam) \ - ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) - -#define IMsRdpClientNonScriptable2_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) \ - ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) - - -#define IMsRdpClientNonScriptable2_put_UIParentWindowHandle(This,phwndUIParentWindowHandle) \ - ( (This)->lpVtbl -> put_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) - -#define IMsRdpClientNonScriptable2_get_UIParentWindowHandle(This,phwndUIParentWindowHandle) \ - ( (This)->lpVtbl -> get_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscAdvancedSettings_INTERFACE_DEFINED__ -#define __IMsTscAdvancedSettings_INTERFACE_DEFINED__ - -/* interface IMsTscAdvancedSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscAdvancedSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D") - IMsTscAdvancedSettings : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Compress( - /* [in] */ long pcompress) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Compress( - /* [retval][out] */ long *pcompress) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPeristence( - /* [in] */ long pbitmapPeristence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPeristence( - /* [retval][out] */ long *pbitmapPeristence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_allowBackgroundInput( - /* [in] */ long pallowBackgroundInput) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_allowBackgroundInput( - /* [retval][out] */ long *pallowBackgroundInput) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyBoardLayoutStr( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PluginDlls( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconFile( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconIndex( - /* [in] */ long rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ContainerHandledFullScreen( - /* [in] */ long pContainerHandledFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ContainerHandledFullScreen( - /* [retval][out] */ long *pContainerHandledFullScreen) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableRdpdr( - /* [in] */ long pDisableRdpdr) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableRdpdr( - /* [retval][out] */ long *pDisableRdpdr) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscAdvancedSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscAdvancedSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscAdvancedSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscAdvancedSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscAdvancedSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscAdvancedSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsTscAdvancedSettings * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsTscAdvancedSettings * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsTscAdvancedSettings * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsTscAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsTscAdvancedSettings * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsTscAdvancedSettings * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsTscAdvancedSettings * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsTscAdvancedSettings * This, - /* [retval][out] */ long *pDisableRdpdr); - - END_INTERFACE - } IMsTscAdvancedSettingsVtbl; - - interface IMsTscAdvancedSettings - { - CONST_VTBL struct IMsTscAdvancedSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscAdvancedSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscAdvancedSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscAdvancedSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscAdvancedSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscAdvancedSettings_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsTscAdvancedSettings_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsTscAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsTscAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsTscAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsTscAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsTscAdvancedSettings_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsTscAdvancedSettings_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsTscAdvancedSettings_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsTscAdvancedSettings_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsTscAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsTscAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsTscAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsTscAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscAdvancedSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2") - IMsRdpClientAdvancedSettings : public IMsTscAdvancedSettings - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmoothScroll( - /* [in] */ long psmoothScroll) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmoothScroll( - /* [retval][out] */ long *psmoothScroll) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AcceleratorPassthrough( - /* [in] */ long pacceleratorPassthrough) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AcceleratorPassthrough( - /* [retval][out] */ long *pacceleratorPassthrough) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShadowBitmap( - /* [in] */ long pshadowBitmap) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShadowBitmap( - /* [retval][out] */ long *pshadowBitmap) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TransportType( - /* [in] */ long ptransportType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TransportType( - /* [retval][out] */ long *ptransportType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SasSequence( - /* [in] */ long psasSequence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SasSequence( - /* [retval][out] */ long *psasSequence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EncryptionEnabled( - /* [in] */ long pencryptionEnabled) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EncryptionEnabled( - /* [retval][out] */ long *pencryptionEnabled) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DedicatedTerminal( - /* [in] */ long pdedicatedTerminal) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DedicatedTerminal( - /* [retval][out] */ long *pdedicatedTerminal) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RDPPort( - /* [in] */ long prdpPort) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RDPPort( - /* [retval][out] */ long *prdpPort) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableMouse( - /* [in] */ long penableMouse) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableMouse( - /* [retval][out] */ long *penableMouse) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableCtrlAltDel( - /* [in] */ long pdisableCtrlAltDel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableCtrlAltDel( - /* [retval][out] */ long *pdisableCtrlAltDel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableWindowsKey( - /* [in] */ long penableWindowsKey) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableWindowsKey( - /* [retval][out] */ long *penableWindowsKey) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DoubleClickDetect( - /* [in] */ long pdoubleClickDetect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DoubleClickDetect( - /* [retval][out] */ long *pdoubleClickDetect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaximizeShell( - /* [in] */ long pmaximizeShell) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaximizeShell( - /* [retval][out] */ long *pmaximizeShell) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyFullScreen( - /* [in] */ long photKeyFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyFullScreen( - /* [retval][out] */ long *photKeyFullScreen) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlEsc( - /* [in] */ long photKeyCtrlEsc) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlEsc( - /* [retval][out] */ long *photKeyCtrlEsc) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltEsc( - /* [in] */ long photKeyAltEsc) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltEsc( - /* [retval][out] */ long *photKeyAltEsc) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltTab( - /* [in] */ long photKeyAltTab) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltTab( - /* [retval][out] */ long *photKeyAltTab) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltShiftTab( - /* [in] */ long photKeyAltShiftTab) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltShiftTab( - /* [retval][out] */ long *photKeyAltShiftTab) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltSpace( - /* [in] */ long photKeyAltSpace) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltSpace( - /* [retval][out] */ long *photKeyAltSpace) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlAltDel( - /* [in] */ long photKeyCtrlAltDel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlAltDel( - /* [retval][out] */ long *photKeyCtrlAltDel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_orderDrawThreshold( - /* [in] */ long porderDrawThreshold) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_orderDrawThreshold( - /* [retval][out] */ long *porderDrawThreshold) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheSize( - /* [in] */ long pbitmapCacheSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheSize( - /* [retval][out] */ long *pbitmapCacheSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCacheSize( - /* [in] */ long pbitmapVirtualCacheSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCacheSize( - /* [retval][out] */ long *pbitmapVirtualCacheSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ScaleBitmapCachesByBPP( - /* [in] */ long pbScale) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ScaleBitmapCachesByBPP( - /* [retval][out] */ long *pbScale) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumBitmapCaches( - /* [in] */ long pnumBitmapCaches) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumBitmapCaches( - /* [retval][out] */ long *pnumBitmapCaches) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CachePersistenceActive( - /* [in] */ long pcachePersistenceActive) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CachePersistenceActive( - /* [retval][out] */ long *pcachePersistenceActive) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PersistCacheDirectory( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_brushSupportLevel( - /* [in] */ long pbrushSupportLevel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_brushSupportLevel( - /* [retval][out] */ long *pbrushSupportLevel) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_minInputSendInterval( - /* [in] */ long pminInputSendInterval) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_minInputSendInterval( - /* [retval][out] */ long *pminInputSendInterval) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_InputEventsAtOnce( - /* [in] */ long pinputEventsAtOnce) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_InputEventsAtOnce( - /* [retval][out] */ long *pinputEventsAtOnce) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_maxEventCount( - /* [in] */ long pmaxEventCount) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_maxEventCount( - /* [retval][out] */ long *pmaxEventCount) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_keepAliveInterval( - /* [in] */ long pkeepAliveInterval) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_keepAliveInterval( - /* [retval][out] */ long *pkeepAliveInterval) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_shutdownTimeout( - /* [in] */ long pshutdownTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_shutdownTimeout( - /* [retval][out] */ long *pshutdownTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_overallConnectionTimeout( - /* [in] */ long poverallConnectionTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_overallConnectionTimeout( - /* [retval][out] */ long *poverallConnectionTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_singleConnectionTimeout( - /* [in] */ long psingleConnectionTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_singleConnectionTimeout( - /* [retval][out] */ long *psingleConnectionTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardType( - /* [in] */ long pkeyboardType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardType( - /* [retval][out] */ long *pkeyboardType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardSubType( - /* [in] */ long pkeyboardSubType) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardSubType( - /* [retval][out] */ long *pkeyboardSubType) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardFunctionKey( - /* [in] */ long pkeyboardFunctionKey) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardFunctionKey( - /* [retval][out] */ long *pkeyboardFunctionKey) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WinceFixedPalette( - /* [in] */ long pwinceFixedPalette) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WinceFixedPalette( - /* [retval][out] */ long *pwinceFixedPalette) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectToServerConsole( - /* [in] */ VARIANT_BOOL pConnectToConsole) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectToServerConsole( - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPersistence( - /* [in] */ long pbitmapPersistence) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPersistence( - /* [retval][out] */ long *pbitmapPersistence) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinutesToIdleTimeout( - /* [in] */ long pminutesToIdleTimeout) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinutesToIdleTimeout( - /* [retval][out] */ long *pminutesToIdleTimeout) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmartSizing( - /* [in] */ VARIANT_BOOL pfSmartSizing) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmartSizing( - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrLocalPrintingDocName( - /* [in] */ BSTR pLocalPrintingDocName) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrLocalPrintingDocName( - /* [retval][out] */ BSTR *pLocalPrintingDocName) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipCleanTempDirString( - /* [in] */ BSTR clipCleanTempDirString) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipCleanTempDirString( - /* [retval][out] */ BSTR *clipCleanTempDirString) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipPasteInfoString( - /* [in] */ BSTR clipPasteInfoString) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipPasteInfoString( - /* [retval][out] */ BSTR *clipPasteInfoString) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( - /* [in] */ BSTR rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayConnectionBar( - /* [in] */ VARIANT_BOOL pDisplayConnectionBar) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayConnectionBar( - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PinConnectionBar( - /* [in] */ VARIANT_BOOL pPinConnectionBar) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PinConnectionBar( - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GrabFocusOnConnect( - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GrabFocusOnConnect( - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LoadBalanceInfo( - /* [in] */ BSTR pLBInfo) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LoadBalanceInfo( - /* [retval][out] */ BSTR *pLBInfo) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectDrives( - /* [in] */ VARIANT_BOOL pRedirectDrives) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectDrives( - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPrinters( - /* [in] */ VARIANT_BOOL pRedirectPrinters) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPrinters( - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPorts( - /* [in] */ VARIANT_BOOL pRedirectPorts) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPorts( - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectSmartCards( - /* [in] */ VARIANT_BOOL pRedirectSmartCards) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectSmartCards( - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache16BppSize( - /* [in] */ long pBitmapVirtualCache16BppSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache16BppSize( - /* [retval][out] */ long *pBitmapVirtualCache16BppSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache24BppSize( - /* [in] */ long pBitmapVirtualCache24BppSize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache24BppSize( - /* [retval][out] */ long *pBitmapVirtualCache24BppSize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PerformanceFlags( - /* [in] */ long pDisableList) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PerformanceFlags( - /* [retval][out] */ long *pDisableList) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectWithEndpoint( - /* [in] */ VARIANT *rhs) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NotifyTSPublicKey( - /* [in] */ VARIANT_BOOL pfNotify) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NotifyTSPublicKey( - /* [retval][out] */ VARIANT_BOOL *pfNotify) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - END_INTERFACE - } IMsRdpClientAdvancedSettingsVtbl; - - interface IMsRdpClientAdvancedSettings - { - CONST_VTBL struct IMsRdpClientAdvancedSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_PerformanceFlags_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ long pDisableList); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_PerformanceFlags_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_PerformanceFlags_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ long *pDisableList); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_PerformanceFlags_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT *rhs); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [in] */ VARIANT_BOOL pfNotify); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Proxy( - IMsRdpClientAdvancedSettings * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - -void __RPC_STUB IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings2 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("9AC42117-2B76-4320-AA44-0E616AB8437B") - IMsRdpClientAdvancedSettings2 : public IMsRdpClientAdvancedSettings - { - public: - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CanAutoReconnect( - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableAutoReconnect( - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableAutoReconnect( - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxReconnectAttempts( - /* [in] */ long pMaxReconnectAttempts) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxReconnectAttempts( - /* [retval][out] */ long *pMaxReconnectAttempts) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - END_INTERFACE - } IMsRdpClientAdvancedSettings2Vtbl; - - interface IMsRdpClientAdvancedSettings2 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings2_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings2_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings2_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings2_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings2_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings2_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings2_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings2_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings2_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings2_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings2_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings2_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings2_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings2_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings2_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings2_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings2_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings2_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings2_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings2_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings2_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings2_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings2_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings2_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings2_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings2_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings2_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings2_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings2_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings2_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings2_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings2_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings2_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings2_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings2_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings2_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings2_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings2_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings2_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings2_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings2_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings2_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings2_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings2_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings2_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings2_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings2_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings2_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings2_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings2_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings2_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings2_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings2_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings2_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings2_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings2_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings2_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings2_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings2_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings2_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings2_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings2_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings2_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings2_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings2_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings2_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings2_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings2_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings2_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings2_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [in] */ long pMaxReconnectAttempts); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Proxy( - IMsRdpClientAdvancedSettings2 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - -void __RPC_STUB IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings3 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("19CD856B-C542-4C53-ACEE-F127E3BE1A59") - IMsRdpClientAdvancedSettings3 : public IMsRdpClientAdvancedSettings2 - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowMinimizeButton( - /* [in] */ VARIANT_BOOL pfShowMinimize) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowMinimizeButton( - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowRestoreButton( - /* [in] */ VARIANT_BOOL pfShowRestore) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowRestoreButton( - /* [retval][out] */ VARIANT_BOOL *pfShowRestore) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - END_INTERFACE - } IMsRdpClientAdvancedSettings3Vtbl; - - interface IMsRdpClientAdvancedSettings3 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings3_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings3_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings3_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings3_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings3_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings3_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings3_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings3_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings3_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings3_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings3_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings3_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings3_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings3_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings3_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings3_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings3_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings3_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings3_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings3_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings3_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings3_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings3_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings3_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings3_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings3_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings3_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings3_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings3_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings3_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings3_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings3_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings3_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings3_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings3_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings3_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings3_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings3_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings3_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings3_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings3_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings3_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings3_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings3_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings3_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings3_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings3_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings3_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings3_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings3_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings3_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings3_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings3_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings3_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings3_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings3_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings3_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings3_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings3_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings3_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings3_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings3_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings3_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings3_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings3_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings3_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings3_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings3_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings3_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings3_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - - -#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Proxy( - IMsRdpClientAdvancedSettings3 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - -void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ -#define __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ - -/* interface IMsRdpClientAdvancedSettings4 */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientAdvancedSettings4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FBA7F64E-7345-4405-AE50-FA4A763DC0DE") - IMsRdpClientAdvancedSettings4 : public IMsRdpClientAdvancedSettings3 - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AuthenticationLevel( - /* [in] */ unsigned int puiAuthLevel) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AuthenticationLevel( - /* [retval][out] */ unsigned int *puiAuthLevel) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientAdvancedSettings4Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientAdvancedSettings4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientAdvancedSettings4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pcompress); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pcompress); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapPeristence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapPeristence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pallowBackgroundInput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pallowBackgroundInput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pContainerHandledFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pContainerHandledFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pDisableRdpdr); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pDisableRdpdr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psmoothScroll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psmoothScroll); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pacceleratorPassthrough); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pacceleratorPassthrough); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pshadowBitmap); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pshadowBitmap); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long ptransportType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *ptransportType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psasSequence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psasSequence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pencryptionEnabled); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pencryptionEnabled); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdedicatedTerminal); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdedicatedTerminal); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long prdpPort); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *prdpPort); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long penableMouse); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *penableMouse); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdisableCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdisableCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long penableWindowsKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *penableWindowsKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pdoubleClickDetect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pdoubleClickDetect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pmaximizeShell); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pmaximizeShell); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyCtrlEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyCtrlEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltEsc); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltEsc); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltShiftTab); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltShiftTab); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyAltSpace); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyAltSpace); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long photKeyCtrlAltDel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *photKeyCtrlAltDel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long porderDrawThreshold); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *porderDrawThreshold); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapVirtualCacheSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapVirtualCacheSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbScale); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbScale); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pnumBitmapCaches); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pnumBitmapCaches); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pcachePersistenceActive); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pcachePersistenceActive); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbrushSupportLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbrushSupportLevel); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pminInputSendInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pminInputSendInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pinputEventsAtOnce); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pinputEventsAtOnce); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pmaxEventCount); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pmaxEventCount); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeepAliveInterval); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeepAliveInterval); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pshutdownTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pshutdownTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long poverallConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *poverallConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long psingleConnectionTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *psingleConnectionTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardSubType); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardSubType); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pkeyboardFunctionKey); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pkeyboardFunctionKey); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pwinceFixedPalette); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pwinceFixedPalette); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pConnectToConsole); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pConnectToConsole); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pbitmapPersistence); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pbitmapPersistence); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pminutesToIdleTimeout); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pminutesToIdleTimeout); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfSmartSizing); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfSmartSizing); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR pLocalPrintingDocName); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *pLocalPrintingDocName); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR clipCleanTempDirString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *clipCleanTempDirString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR clipPasteInfoString); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *clipPasteInfoString); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pDisplayConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pPinConnectionBar); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ BSTR pLBInfo); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ BSTR *pLBInfo); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectDrives); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectDrives); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectPrinters); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectPorts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectPorts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pRedirectSmartCards); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pBitmapVirtualCache16BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pBitmapVirtualCache16BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pBitmapVirtualCache24BppSize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pBitmapVirtualCache24BppSize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pDisableList); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pDisableList); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT *rhs); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfNotify); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfEnableAutoReconnect); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ long pMaxReconnectAttempts); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ long *pMaxReconnectAttempts); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfShowMinimize); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowMinimize); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ VARIANT_BOOL pfShowRestore); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ VARIANT_BOOL *pfShowRestore); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AuthenticationLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ unsigned int puiAuthLevel); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AuthenticationLevel )( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ unsigned int *puiAuthLevel); - - END_INTERFACE - } IMsRdpClientAdvancedSettings4Vtbl; - - interface IMsRdpClientAdvancedSettings4 - { - CONST_VTBL struct IMsRdpClientAdvancedSettings4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientAdvancedSettings4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientAdvancedSettings4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientAdvancedSettings4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientAdvancedSettings4_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientAdvancedSettings4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientAdvancedSettings4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientAdvancedSettings4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientAdvancedSettings4_put_Compress(This,pcompress) \ - ( (This)->lpVtbl -> put_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings4_get_Compress(This,pcompress) \ - ( (This)->lpVtbl -> get_Compress(This,pcompress) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapPeristence(This,pbitmapPeristence) \ - ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) - -#define IMsRdpClientAdvancedSettings4_put_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings4_get_allowBackgroundInput(This,pallowBackgroundInput) \ - ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyBoardLayoutStr(This,rhs) \ - ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_PluginDlls(This,rhs) \ - ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_IconFile(This,rhs) \ - ( (This)->lpVtbl -> put_IconFile(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_IconIndex(This,rhs) \ - ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) \ - ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_put_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) - -#define IMsRdpClientAdvancedSettings4_get_DisableRdpdr(This,pDisableRdpdr) \ - ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) - - -#define IMsRdpClientAdvancedSettings4_put_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings4_get_SmoothScroll(This,psmoothScroll) \ - ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) - -#define IMsRdpClientAdvancedSettings4_put_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings4_get_AcceleratorPassthrough(This,pacceleratorPassthrough) \ - ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) - -#define IMsRdpClientAdvancedSettings4_put_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings4_get_ShadowBitmap(This,pshadowBitmap) \ - ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) - -#define IMsRdpClientAdvancedSettings4_put_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings4_get_TransportType(This,ptransportType) \ - ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) - -#define IMsRdpClientAdvancedSettings4_put_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings4_get_SasSequence(This,psasSequence) \ - ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) - -#define IMsRdpClientAdvancedSettings4_put_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings4_get_EncryptionEnabled(This,pencryptionEnabled) \ - ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) - -#define IMsRdpClientAdvancedSettings4_put_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings4_get_DedicatedTerminal(This,pdedicatedTerminal) \ - ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) - -#define IMsRdpClientAdvancedSettings4_put_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings4_get_RDPPort(This,prdpPort) \ - ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableMouse(This,penableMouse) \ - ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) - -#define IMsRdpClientAdvancedSettings4_put_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_get_DisableCtrlAltDel(This,pdisableCtrlAltDel) \ - ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableWindowsKey(This,penableWindowsKey) \ - ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) - -#define IMsRdpClientAdvancedSettings4_put_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings4_get_DoubleClickDetect(This,pdoubleClickDetect) \ - ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) - -#define IMsRdpClientAdvancedSettings4_put_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings4_get_MaximizeShell(This,pmaximizeShell) \ - ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyFullScreen(This,photKeyFullScreen) \ - ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlEsc(This,photKeyCtrlEsc) \ - ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltEsc(This,photKeyAltEsc) \ - ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltTab(This,photKeyAltTab) \ - ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltShiftTab(This,photKeyAltShiftTab) \ - ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyAltSpace(This,photKeyAltSpace) \ - ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) - -#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) \ - ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) - -#define IMsRdpClientAdvancedSettings4_put_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings4_get_orderDrawThreshold(This,porderDrawThreshold) \ - ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapCacheSize(This,pbitmapCacheSize) \ - ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) - -#define IMsRdpClientAdvancedSettings4_put_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings4_get_ScaleBitmapCachesByBPP(This,pbScale) \ - ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) - -#define IMsRdpClientAdvancedSettings4_put_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings4_get_NumBitmapCaches(This,pnumBitmapCaches) \ - ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) - -#define IMsRdpClientAdvancedSettings4_put_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings4_get_CachePersistenceActive(This,pcachePersistenceActive) \ - ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) - -#define IMsRdpClientAdvancedSettings4_put_PersistCacheDirectory(This,rhs) \ - ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings4_get_brushSupportLevel(This,pbrushSupportLevel) \ - ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) - -#define IMsRdpClientAdvancedSettings4_put_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings4_get_minInputSendInterval(This,pminInputSendInterval) \ - ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) - -#define IMsRdpClientAdvancedSettings4_put_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings4_get_InputEventsAtOnce(This,pinputEventsAtOnce) \ - ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) - -#define IMsRdpClientAdvancedSettings4_put_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings4_get_maxEventCount(This,pmaxEventCount) \ - ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) - -#define IMsRdpClientAdvancedSettings4_put_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings4_get_keepAliveInterval(This,pkeepAliveInterval) \ - ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) - -#define IMsRdpClientAdvancedSettings4_put_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_shutdownTimeout(This,pshutdownTimeout) \ - ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_overallConnectionTimeout(This,poverallConnectionTimeout) \ - ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_singleConnectionTimeout(This,psingleConnectionTimeout) \ - ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardType(This,pkeyboardType) \ - ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardSubType(This,pkeyboardSubType) \ - ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) - -#define IMsRdpClientAdvancedSettings4_put_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings4_get_KeyboardFunctionKey(This,pkeyboardFunctionKey) \ - ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) - -#define IMsRdpClientAdvancedSettings4_put_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings4_get_WinceFixedPalette(This,pwinceFixedPalette) \ - ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectToServerConsole(This,pConnectToConsole) \ - ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapPersistence(This,pbitmapPersistence) \ - ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) - -#define IMsRdpClientAdvancedSettings4_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings4_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) \ - ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) - -#define IMsRdpClientAdvancedSettings4_put_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings4_get_SmartSizing(This,pfSmartSizing) \ - ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) \ - ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) \ - ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) - -#define IMsRdpClientAdvancedSettings4_put_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings4_get_RdpdrClipPasteInfoString(This,clipPasteInfoString) \ - ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) - -#define IMsRdpClientAdvancedSettings4_put_ClearTextPassword(This,rhs) \ - ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_get_DisplayConnectionBar(This,pDisplayConnectionBar) \ - ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_put_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_get_PinConnectionBar(This,pPinConnectionBar) \ - ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) - -#define IMsRdpClientAdvancedSettings4_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings4_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) \ - ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) - -#define IMsRdpClientAdvancedSettings4_put_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings4_get_LoadBalanceInfo(This,pLBInfo) \ - ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectDrives(This,pRedirectDrives) \ - ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectPrinters(This,pRedirectPrinters) \ - ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectPorts(This,pRedirectPorts) \ - ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) - -#define IMsRdpClientAdvancedSettings4_put_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings4_get_RedirectSmartCards(This,pRedirectSmartCards) \ - ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) - -#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) \ - ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) - -#define IMsRdpClientAdvancedSettings4_put_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings4_get_PerformanceFlags(This,pDisableList) \ - ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectWithEndpoint(This,rhs) \ - ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) - -#define IMsRdpClientAdvancedSettings4_put_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) - -#define IMsRdpClientAdvancedSettings4_get_NotifyTSPublicKey(This,pfNotify) \ - ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) - - -#define IMsRdpClientAdvancedSettings4_get_CanAutoReconnect(This,pfCanAutoReconnect) \ - ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_put_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_get_EnableAutoReconnect(This,pfEnableAutoReconnect) \ - ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) - -#define IMsRdpClientAdvancedSettings4_put_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - -#define IMsRdpClientAdvancedSettings4_get_MaxReconnectAttempts(This,pMaxReconnectAttempts) \ - ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) - - -#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) \ - ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) - -#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - -#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowRestoreButton(This,pfShowRestore) \ - ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) - - -#define IMsRdpClientAdvancedSettings4_put_AuthenticationLevel(This,puiAuthLevel) \ - ( (This)->lpVtbl -> put_AuthenticationLevel(This,puiAuthLevel) ) - -#define IMsRdpClientAdvancedSettings4_get_AuthenticationLevel(This,puiAuthLevel) \ - ( (This)->lpVtbl -> get_AuthenticationLevel(This,puiAuthLevel) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - -/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Proxy( - IMsRdpClientAdvancedSettings4 * This, - /* [in] */ unsigned int puiAuthLevel); - - -void __RPC_STUB IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - -/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Proxy( - IMsRdpClientAdvancedSettings4 * This, - /* [retval][out] */ unsigned int *puiAuthLevel); - - -void __RPC_STUB IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Stub( - IRpcStubBuffer *This, - IRpcChannelBuffer *_pRpcChannelBuffer, - PRPC_MESSAGE _pRpcMessage, - DWORD *_pdwStubPhase); - - - -#endif /* __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscSecuredSettings_INTERFACE_DEFINED__ -#define __IMsTscSecuredSettings_INTERFACE_DEFINED__ - -/* interface IMsTscSecuredSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsTscSecuredSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6") - IMsTscSecuredSettings : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartProgram( - /* [in] */ BSTR pStartProgram) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartProgram( - /* [retval][out] */ BSTR *pStartProgram) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WorkDir( - /* [in] */ BSTR pWorkDir) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WorkDir( - /* [retval][out] */ BSTR *pWorkDir) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( - /* [in] */ long pfFullScreen) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( - /* [retval][out] */ long *pfFullScreen) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscSecuredSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscSecuredSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscSecuredSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscSecuredSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscSecuredSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscSecuredSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscSecuredSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscSecuredSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( - IMsTscSecuredSettings * This, - /* [in] */ BSTR pStartProgram); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( - IMsTscSecuredSettings * This, - /* [retval][out] */ BSTR *pStartProgram); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( - IMsTscSecuredSettings * This, - /* [in] */ BSTR pWorkDir); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( - IMsTscSecuredSettings * This, - /* [retval][out] */ BSTR *pWorkDir); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsTscSecuredSettings * This, - /* [in] */ long pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsTscSecuredSettings * This, - /* [retval][out] */ long *pfFullScreen); - - END_INTERFACE - } IMsTscSecuredSettingsVtbl; - - interface IMsTscSecuredSettings - { - CONST_VTBL struct IMsTscSecuredSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscSecuredSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscSecuredSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscSecuredSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscSecuredSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscSecuredSettings_put_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) - -#define IMsTscSecuredSettings_get_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) - -#define IMsTscSecuredSettings_put_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) - -#define IMsTscSecuredSettings_get_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) - -#define IMsTscSecuredSettings_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsTscSecuredSettings_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscSecuredSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ -#define __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ - -/* interface IMsRdpClientSecuredSettings */ -/* [object][oleautomation][dual][uuid] */ - - -EXTERN_C const IID IID_IMsRdpClientSecuredSettings; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("605BEFCF-39C1-45CC-A811-068FB7BE346D") - IMsRdpClientSecuredSettings : public IMsTscSecuredSettings - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardHookMode( - /* [in] */ long pkeyboardHookMode) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardHookMode( - /* [retval][out] */ long *pkeyboardHookMode) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AudioRedirectionMode( - /* [in] */ long pAudioRedirectionMode) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AudioRedirectionMode( - /* [retval][out] */ long *pAudioRedirectionMode) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsRdpClientSecuredSettingsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsRdpClientSecuredSettings * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsRdpClientSecuredSettings * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsRdpClientSecuredSettings * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsRdpClientSecuredSettings * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsRdpClientSecuredSettings * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsRdpClientSecuredSettings * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsRdpClientSecuredSettings * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( - IMsRdpClientSecuredSettings * This, - /* [in] */ BSTR pStartProgram); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ BSTR *pStartProgram); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( - IMsRdpClientSecuredSettings * This, - /* [in] */ BSTR pWorkDir); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ BSTR *pWorkDir); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pfFullScreen); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pfFullScreen); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardHookMode )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pkeyboardHookMode); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardHookMode )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pkeyboardHookMode); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRedirectionMode )( - IMsRdpClientSecuredSettings * This, - /* [in] */ long pAudioRedirectionMode); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRedirectionMode )( - IMsRdpClientSecuredSettings * This, - /* [retval][out] */ long *pAudioRedirectionMode); - - END_INTERFACE - } IMsRdpClientSecuredSettingsVtbl; - - interface IMsRdpClientSecuredSettings - { - CONST_VTBL struct IMsRdpClientSecuredSettingsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsRdpClientSecuredSettings_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsRdpClientSecuredSettings_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsRdpClientSecuredSettings_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsRdpClientSecuredSettings_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsRdpClientSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsRdpClientSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsRdpClientSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsRdpClientSecuredSettings_put_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) - -#define IMsRdpClientSecuredSettings_get_StartProgram(This,pStartProgram) \ - ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) - -#define IMsRdpClientSecuredSettings_put_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) - -#define IMsRdpClientSecuredSettings_get_WorkDir(This,pWorkDir) \ - ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) - -#define IMsRdpClientSecuredSettings_put_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) - -#define IMsRdpClientSecuredSettings_get_FullScreen(This,pfFullScreen) \ - ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) - - -#define IMsRdpClientSecuredSettings_put_KeyboardHookMode(This,pkeyboardHookMode) \ - ( (This)->lpVtbl -> put_KeyboardHookMode(This,pkeyboardHookMode) ) - -#define IMsRdpClientSecuredSettings_get_KeyboardHookMode(This,pkeyboardHookMode) \ - ( (This)->lpVtbl -> get_KeyboardHookMode(This,pkeyboardHookMode) ) - -#define IMsRdpClientSecuredSettings_put_AudioRedirectionMode(This,pAudioRedirectionMode) \ - ( (This)->lpVtbl -> put_AudioRedirectionMode(This,pAudioRedirectionMode) ) - -#define IMsRdpClientSecuredSettings_get_AudioRedirectionMode(This,pAudioRedirectionMode) \ - ( (This)->lpVtbl -> get_AudioRedirectionMode(This,pAudioRedirectionMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ */ - - -#ifndef __IMsTscDebug_INTERFACE_DEFINED__ -#define __IMsTscDebug_INTERFACE_DEFINED__ - -/* interface IMsTscDebug */ -/* [object][oleautomation][dual][hidden][uuid] */ - - -EXTERN_C const IID IID_IMsTscDebug; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("209D0EB9-6254-47B1-9033-A98DAE55BB27") - IMsTscDebug : public IDispatch - { - public: - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchBitmapPDU( - /* [in] */ long phatchBitmapPDU) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchBitmapPDU( - /* [retval][out] */ long *phatchBitmapPDU) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchSSBOrder( - /* [in] */ long phatchSSBOrder) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchSSBOrder( - /* [retval][out] */ long *phatchSSBOrder) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchMembltOrder( - /* [in] */ long phatchMembltOrder) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchMembltOrder( - /* [retval][out] */ long *phatchMembltOrder) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchIndexPDU( - /* [in] */ long phatchIndexPDU) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchIndexPDU( - /* [retval][out] */ long *phatchIndexPDU) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LabelMemblt( - /* [in] */ long plabelMemblt) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LabelMemblt( - /* [retval][out] */ long *plabelMemblt) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheMonitor( - /* [in] */ long pbitmapCacheMonitor) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheMonitor( - /* [retval][out] */ long *pbitmapCacheMonitor) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocFailuresPercent( - /* [in] */ long pmallocFailuresPercent) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocFailuresPercent( - /* [retval][out] */ long *pmallocFailuresPercent) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocHugeFailuresPercent( - /* [in] */ long pmallocHugeFailuresPercent) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocHugeFailuresPercent( - /* [retval][out] */ long *pmallocHugeFailuresPercent) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NetThroughput( - /* [in] */ long NetThroughput) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NetThroughput( - /* [retval][out] */ long *NetThroughput) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXCmdLine( - /* [in] */ BSTR pCLXCmdLine) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXCmdLine( - /* [retval][out] */ BSTR *pCLXCmdLine) = 0; - - virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXDll( - /* [in] */ BSTR pCLXDll) = 0; - - virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXDll( - /* [retval][out] */ BSTR *pCLXDll) = 0; - - }; - -#else /* C style interface */ - - typedef struct IMsTscDebugVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IMsTscDebug * This, - /* [in] */ REFIID riid, - /* [iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IMsTscDebug * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IMsTscDebug * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IMsTscDebug * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IMsTscDebug * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IMsTscDebug * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IMsTscDebug * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchBitmapPDU )( - IMsTscDebug * This, - /* [in] */ long phatchBitmapPDU); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchBitmapPDU )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchBitmapPDU); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchSSBOrder )( - IMsTscDebug * This, - /* [in] */ long phatchSSBOrder); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchSSBOrder )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchSSBOrder); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchMembltOrder )( - IMsTscDebug * This, - /* [in] */ long phatchMembltOrder); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchMembltOrder )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchMembltOrder); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchIndexPDU )( - IMsTscDebug * This, - /* [in] */ long phatchIndexPDU); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchIndexPDU )( - IMsTscDebug * This, - /* [retval][out] */ long *phatchIndexPDU); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LabelMemblt )( - IMsTscDebug * This, - /* [in] */ long plabelMemblt); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LabelMemblt )( - IMsTscDebug * This, - /* [retval][out] */ long *plabelMemblt); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheMonitor )( - IMsTscDebug * This, - /* [in] */ long pbitmapCacheMonitor); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheMonitor )( - IMsTscDebug * This, - /* [retval][out] */ long *pbitmapCacheMonitor); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocFailuresPercent )( - IMsTscDebug * This, - /* [in] */ long pmallocFailuresPercent); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocFailuresPercent )( - IMsTscDebug * This, - /* [retval][out] */ long *pmallocFailuresPercent); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocHugeFailuresPercent )( - IMsTscDebug * This, - /* [in] */ long pmallocHugeFailuresPercent); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocHugeFailuresPercent )( - IMsTscDebug * This, - /* [retval][out] */ long *pmallocHugeFailuresPercent); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NetThroughput )( - IMsTscDebug * This, - /* [in] */ long NetThroughput); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NetThroughput )( - IMsTscDebug * This, - /* [retval][out] */ long *NetThroughput); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXCmdLine )( - IMsTscDebug * This, - /* [in] */ BSTR pCLXCmdLine); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXCmdLine )( - IMsTscDebug * This, - /* [retval][out] */ BSTR *pCLXCmdLine); - - /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXDll )( - IMsTscDebug * This, - /* [in] */ BSTR pCLXDll); - - /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXDll )( - IMsTscDebug * This, - /* [retval][out] */ BSTR *pCLXDll); - - END_INTERFACE - } IMsTscDebugVtbl; - - interface IMsTscDebug - { - CONST_VTBL struct IMsTscDebugVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IMsTscDebug_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IMsTscDebug_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IMsTscDebug_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IMsTscDebug_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IMsTscDebug_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IMsTscDebug_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IMsTscDebug_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IMsTscDebug_put_HatchBitmapPDU(This,phatchBitmapPDU) \ - ( (This)->lpVtbl -> put_HatchBitmapPDU(This,phatchBitmapPDU) ) - -#define IMsTscDebug_get_HatchBitmapPDU(This,phatchBitmapPDU) \ - ( (This)->lpVtbl -> get_HatchBitmapPDU(This,phatchBitmapPDU) ) - -#define IMsTscDebug_put_HatchSSBOrder(This,phatchSSBOrder) \ - ( (This)->lpVtbl -> put_HatchSSBOrder(This,phatchSSBOrder) ) - -#define IMsTscDebug_get_HatchSSBOrder(This,phatchSSBOrder) \ - ( (This)->lpVtbl -> get_HatchSSBOrder(This,phatchSSBOrder) ) - -#define IMsTscDebug_put_HatchMembltOrder(This,phatchMembltOrder) \ - ( (This)->lpVtbl -> put_HatchMembltOrder(This,phatchMembltOrder) ) - -#define IMsTscDebug_get_HatchMembltOrder(This,phatchMembltOrder) \ - ( (This)->lpVtbl -> get_HatchMembltOrder(This,phatchMembltOrder) ) - -#define IMsTscDebug_put_HatchIndexPDU(This,phatchIndexPDU) \ - ( (This)->lpVtbl -> put_HatchIndexPDU(This,phatchIndexPDU) ) - -#define IMsTscDebug_get_HatchIndexPDU(This,phatchIndexPDU) \ - ( (This)->lpVtbl -> get_HatchIndexPDU(This,phatchIndexPDU) ) - -#define IMsTscDebug_put_LabelMemblt(This,plabelMemblt) \ - ( (This)->lpVtbl -> put_LabelMemblt(This,plabelMemblt) ) - -#define IMsTscDebug_get_LabelMemblt(This,plabelMemblt) \ - ( (This)->lpVtbl -> get_LabelMemblt(This,plabelMemblt) ) - -#define IMsTscDebug_put_BitmapCacheMonitor(This,pbitmapCacheMonitor) \ - ( (This)->lpVtbl -> put_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) - -#define IMsTscDebug_get_BitmapCacheMonitor(This,pbitmapCacheMonitor) \ - ( (This)->lpVtbl -> get_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) - -#define IMsTscDebug_put_MallocFailuresPercent(This,pmallocFailuresPercent) \ - ( (This)->lpVtbl -> put_MallocFailuresPercent(This,pmallocFailuresPercent) ) - -#define IMsTscDebug_get_MallocFailuresPercent(This,pmallocFailuresPercent) \ - ( (This)->lpVtbl -> get_MallocFailuresPercent(This,pmallocFailuresPercent) ) - -#define IMsTscDebug_put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) \ - ( (This)->lpVtbl -> put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) - -#define IMsTscDebug_get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) \ - ( (This)->lpVtbl -> get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) - -#define IMsTscDebug_put_NetThroughput(This,NetThroughput) \ - ( (This)->lpVtbl -> put_NetThroughput(This,NetThroughput) ) - -#define IMsTscDebug_get_NetThroughput(This,NetThroughput) \ - ( (This)->lpVtbl -> get_NetThroughput(This,NetThroughput) ) - -#define IMsTscDebug_put_CLXCmdLine(This,pCLXCmdLine) \ - ( (This)->lpVtbl -> put_CLXCmdLine(This,pCLXCmdLine) ) - -#define IMsTscDebug_get_CLXCmdLine(This,pCLXCmdLine) \ - ( (This)->lpVtbl -> get_CLXCmdLine(This,pCLXCmdLine) ) - -#define IMsTscDebug_put_CLXDll(This,pCLXDll) \ - ( (This)->lpVtbl -> put_CLXDll(This,pCLXDll) ) - -#define IMsTscDebug_get_CLXDll(This,pCLXDll) \ - ( (This)->lpVtbl -> get_CLXDll(This,pCLXDll) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IMsTscDebug_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_MsTscAx; - -#ifdef __cplusplus - -class DECLSPEC_UUID("1FB464C8-09BB-4017-A2F5-EB742F04392F") -MsTscAx; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient; - -#ifdef __cplusplus - -class DECLSPEC_UUID("791FA017-2DE3-492E-ACC5-53C67A2B94D0") -MsRdpClient; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient2; - -#ifdef __cplusplus - -class DECLSPEC_UUID("9059F30F-4EB1-4BD2-9FDC-36F43A218F4A") -MsRdpClient2; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient3; - -#ifdef __cplusplus - -class DECLSPEC_UUID("7584C670-2274-4EFB-B00B-D6AABA6D3850") -MsRdpClient3; -#endif - -EXTERN_C const CLSID CLSID_MsRdpClient4; - -#ifdef __cplusplus - -class DECLSPEC_UUID("6AE29350-321B-42BE-BBE5-12FB5270C0DE") -MsRdpClient4; -#endif -#endif /* __MSTSCLib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c deleted file mode 100644 index eb8092fc8e4..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c +++ /dev/null @@ -1,145 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0493 */ -/* at Sun Aug 13 16:46:05 2006 - */ -/* Compiler settings for .\mstsclib_redist.idl: - Oicf, W1, Zp8, env=Win32 (32b run) - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -//@@MIDL_FILE_HEADING( ) - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, LIBID_MSTSCLib,0xAF586AAE,0xB62A,0x420E,0xB7,0x96,0x29,0x4E,0x7E,0xE6,0x4C,0x70); - - -MIDL_DEFINE_GUID(IID, DIID_IMsTscAxEvents,0x336D5562,0xEFA8,0x482E,0x8C,0xB3,0xC5,0xC0,0xFC,0x7A,0x7D,0xB6); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscAx,0x327BB5CD,0x834E,0x4400,0xAE,0xF2,0xB3,0x0E,0x15,0xE5,0xD6,0x82); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient,0x92B4A539,0x7115,0x4B7C,0xA5,0xA9,0xE5,0xD9,0xEF,0xC2,0x78,0x0A); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient2,0xE7E17DC4,0x3B71,0x4BA7,0xA8,0xE6,0x28,0x1F,0xFA,0xDC,0xA2,0x8F); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient3,0x91B7CBC5,0xA72E,0x4FA0,0x93,0x00,0xD6,0x47,0xD7,0xE8,0x97,0xFF); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClient4,0x095E0738,0xD97D,0x488B,0xB9,0xF6,0xDD,0x0E,0x8D,0x66,0xC0,0xDE); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscNonScriptable,0xC1E6743A,0x41C1,0x4A74,0x83,0x2A,0x0D,0xD0,0x6C,0x1C,0x7A,0x0E); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable,0x2F079C4C,0x87B2,0x4AFD,0x97,0xAB,0x20,0xCD,0xB4,0x30,0x38,0xAE); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable2,0x17A5E535,0x4072,0x4FA4,0xAF,0x32,0xC8,0xD0,0xD4,0x73,0x45,0xE9); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscAdvancedSettings,0x809945CC,0x4B3B,0x4A92,0xA6,0xB0,0xDB,0xF9,0xB5,0xF2,0xEF,0x2D); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings,0x3C65B4AB,0x12B3,0x465B,0xAC,0xD4,0xB8,0xDA,0xD3,0xBF,0xF9,0xE2); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings2,0x9AC42117,0x2B76,0x4320,0xAA,0x44,0x0E,0x61,0x6A,0xB8,0x43,0x7B); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings3,0x19CD856B,0xC542,0x4C53,0xAC,0xEE,0xF1,0x27,0xE3,0xBE,0x1A,0x59); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings4,0xFBA7F64E,0x7345,0x4405,0xAE,0x50,0xFA,0x4A,0x76,0x3D,0xC0,0xDE); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscSecuredSettings,0xC9D65442,0xA0F9,0x45B2,0x8F,0x73,0xD6,0x1D,0x2D,0xB8,0xCB,0xB6); - - -MIDL_DEFINE_GUID(IID, IID_IMsRdpClientSecuredSettings,0x605BEFCF,0x39C1,0x45CC,0xA8,0x11,0x06,0x8F,0xB7,0xBE,0x34,0x6D); - - -MIDL_DEFINE_GUID(IID, IID_IMsTscDebug,0x209D0EB9,0x6254,0x47B1,0x90,0x33,0xA9,0x8D,0xAE,0x55,0xBB,0x27); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsTscAx,0x1FB464C8,0x09BB,0x4017,0xA2,0xF5,0xEB,0x74,0x2F,0x04,0x39,0x2F); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient,0x791FA017,0x2DE3,0x492E,0xAC,0xC5,0x53,0xC6,0x7A,0x2B,0x94,0xD0); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient2,0x9059F30F,0x4EB1,0x4BD2,0x9F,0xDC,0x36,0xF4,0x3A,0x21,0x8F,0x4A); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient3,0x7584C670,0x2274,0x4EFB,0xB0,0x0B,0xD6,0xAA,0xBA,0x6D,0x38,0x50); - - -MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient4,0x6AE29350,0x321B,0x42BE,0xBB,0xE5,0x12,0xFB,0x52,0x70,0xC0,0xDE); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp deleted file mode 100644 index 29992767db0..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp +++ /dev/null @@ -1,653 +0,0 @@ -#include "stdafx.h" - -#include - -#include "rdesktop/rdesktop.h" -#include "rdesktop/proto.h" - -extern "C" -{ - /* ==== BEGIN POOP ==== */ - // Temporary implementations of stuff we totally positively need to make the Real Thing happy - /* produce a hex dump */ - void - hexdump(unsigned char *p, unsigned int len) - { - unsigned char *line = p; - int i, thisline; - unsigned int offset = 0; - - while (offset < len) - { - printf("%04x ", offset); - thisline = len - offset; - if (thisline > 16) - thisline = 16; - - for (i = 0; i < thisline; i++) - printf("%02x ", line[i]); - - for (; i < 16; i++) - printf(" "); - - for (i = 0; i < thisline; i++) - printf("%c", (line[i] >= 0x20 && line[i] < 0x7f) ? line[i] : '.'); - - printf("\n"); - offset += thisline; - line += thisline; - } - } - - void generate_random(uint8 * random) - { - memcpy(random, "12345678901234567890123456789012", 32); - } - - /* report an error */ - void - error(char *format, ...) - { - va_list ap; - - fprintf(stderr, "ERROR: "); - - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - } - - /* report a warning */ - void - warning(char *format, ...) - { - va_list ap; - - fprintf(stderr, "WARNING: "); - - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - } - - /* report an unimplemented protocol feature */ - void - unimpl(char *format, ...) - { - va_list ap; - - fprintf(stderr, "NOT IMPLEMENTED: "); - - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - } - - /* Create the bitmap cache directory */ - BOOL - rd_pstcache_mkdir(void) - { - char *home; - char bmpcache_dir[256]; - - home = getenv("HOME"); - - if (home == NULL) - return False; - - sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop"); - - if ((_mkdir(bmpcache_dir) == -1) && errno != EEXIST) - { - perror(bmpcache_dir); - return False; - } - - sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop/cache"); - - if ((_mkdir(bmpcache_dir) == -1) && errno != EEXIST) - { - perror(bmpcache_dir); - return False; - } - - return True; - } - - /* open a file in the .rdesktop directory */ - int - rd_open_file(char *filename) - { - char *home; - char fn[256]; - int fd; - - home = getenv("HOME"); - if (home == NULL) - return -1; - sprintf(fn, "%s/.rdesktop/%s", home, filename); - fd = _open(fn, _O_RDWR | _O_CREAT, 0); - if (fd == -1) - perror(fn); - return fd; - } - - /* close file */ - void - rd_close_file(int fd) - { - _close(fd); - } - - /* read from file*/ - int - rd_read_file(int fd, void *ptr, int len) - { - return _read(fd, ptr, len); - } - - /* write to file */ - int - rd_write_file(int fd, void *ptr, int len) - { - return _write(fd, ptr, len); - } - - /* move file pointer */ - int - rd_lseek_file(int fd, int offset) - { - return _lseek(fd, offset, SEEK_SET); - } - - /* do a write lock on a file */ - BOOL - rd_lock_file(int fd, int start, int len) - { - // TODOOO... - return False; - } - - int - load_licence(RDPCLIENT * This, unsigned char **data) - { - return -1; - } - - void - save_licence(RDPCLIENT * This, unsigned char *data, int length) - { - } - - /* ==== END POOP ==== */ - - /* ==== UI ==== */ - // Globals are totally teh evil, but cut me some slack here - HWND hwnd; - HBITMAP hbmBuffer; - PVOID pBuffer; - HDC hdcBuffer; - UINT wmZMouseWheel; - -}; - -static -void -mstsc_mousewheel(RDPCLIENT * This, int value, LPARAM lparam) -{ - uint16 button; - - if(value < 0) - button = MOUSE_FLAG_BUTTON5; - else - button = MOUSE_FLAG_BUTTON4; - - if(value < 0) - value = - value; - - for(int click = 0; click < value; click += WHEEL_DELTA) - rdp_send_input(This, GetTickCount(), RDP_INPUT_MOUSE, button | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); -} - -static -LRESULT -CALLBACK -mstsc_WndProc(HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam) -{ - // BUGBUG: LongToPtr & PtrToLong will break on Win64 - - RDPCLIENT * This = reinterpret_cast(LongToPtr(GetWindowLongPtr(hwnd, GWLP_USERDATA))); - - switch(uMsg) - { - case WM_CLOSE: - DestroyWindow(hwnd); - break; - - // FIXME: temporary - case WM_DESTROY: - PostQuitMessage(0); - break; - - /* Initialization */ - case WM_CREATE: - This = static_cast(reinterpret_cast(lparam)->lpCreateParams); - SetWindowLongPtr(hwnd, GWLP_USERDATA, PtrToLong(This)); - break; - - /* Painting */ - case WM_PRINTCLIENT: - if(wparam == 0) - break; - - case WM_PAINT: - { - HDC hdc = (HDC)wparam; - - // A DC was provided: print the whole client area into it - if(hdc) - { - RECT rc; - GetClientRect(hwnd, &rc); - BitBlt(hdc, 0, 0, rc.right, rc.bottom, hdcBuffer, 0, 0, SRCCOPY); - } - // Otherwise, we're refreshing to screen - else - { - PAINTSTRUCT ps; - hdc = BeginPaint(hwnd, &ps); - - BitBlt - ( - hdc, - ps.rcPaint.left, - ps.rcPaint.top, - ps.rcPaint.right - ps.rcPaint.left, - ps.rcPaint.bottom - ps.rcPaint.top, - hdcBuffer, - ps.rcPaint.left, - ps.rcPaint.top, - SRCCOPY - ); - - EndPaint(hwnd, &ps); - } - } - - break; - - /* Keyboard stuff */ - case WM_SYSKEYDOWN: - case WM_KEYDOWN: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_SCANCODE, RDP_KEYPRESS | (lparam & 0x1000000 ? KBD_FLAG_EXT : 0), LOBYTE(HIWORD(lparam)), 0); - break; - - case WM_SYSKEYUP: - case WM_KEYUP: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_SCANCODE, RDP_KEYRELEASE | (lparam & 0x1000000 ? KBD_FLAG_EXT : 0), LOBYTE(HIWORD(lparam)), 0); - break; - - /* Mouse stuff */ - // Cursor shape - case WM_SETCURSOR: - if(LOWORD(lparam) == HTCLIENT) - { - //SetCursor(hcursor); - return TRUE; - } - - break; - - // Movement - case WM_MOUSEMOVE: - //if(This->sendmotion || wparam & (MK_LBUTTON | MK_RBUTTON | MK_MBUTTON | MK_XBUTTON1 | MK_XBUTTON2)) - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_MOVE, LOWORD(lparam), HIWORD(lparam)); - - break; - - // Buttons - // TODO: X buttons - case WM_LBUTTONDOWN: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON1 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_RBUTTONDOWN: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON2 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_MBUTTONDOWN: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON3 | MOUSE_FLAG_DOWN, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_LBUTTONUP: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON1, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_RBUTTONUP: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON2, LOWORD(lparam), HIWORD(lparam)); - break; - - case WM_MBUTTONUP: - rdp_send_input(This, GetMessageTime(), RDP_INPUT_MOUSE, MOUSE_FLAG_BUTTON3, LOWORD(lparam), HIWORD(lparam)); - break; - - // Wheel - case WM_MOUSEWHEEL: - mstsc_mousewheel(This, (SHORT)HIWORD(wparam), lparam); - break; - - default: - /* Registered messages */ - // Z-Mouse wheel support - you know, just in case - if(uMsg == wmZMouseWheel) - { - mstsc_mousewheel(This, (int)wparam, lparam); - break; - } - - /* Unhandled messages */ - return DefWindowProc(hwnd, uMsg, wparam, lparam); - } - - return 0; -} - -static -DWORD -WINAPI -mstsc_ProtocolIOThread -( - LPVOID lpArgument -) -{ - RDPCLIENT * This = static_cast(lpArgument); - - WCHAR hostname[MAX_COMPUTERNAME_LENGTH + 1]; - DWORD dw = ARRAYSIZE(hostname); - GetComputerNameW(hostname, &dw); - - uint32 flags = RDP_LOGON_NORMAL | RDP_LOGON_COMPRESSION | RDP_LOGON_COMPRESSION2; - - rdp_connect(This, "10.0.0.3", flags, L"Administrator", L"", L"", L"", L"", hostname, ""); - //rdp_connect(This, "192.168.7.232", flags, "", "", "", ""); - - hdcBuffer = CreateCompatibleDC(NULL); - - BITMAPINFO bmi; - bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader); - bmi.bmiHeader.biWidth = This->width; - bmi.bmiHeader.biHeight = This->height; - bmi.bmiHeader.biPlanes = 1; - bmi.bmiHeader.biBitCount = This->server_depth; - bmi.bmiHeader.biCompression = BI_RGB; - bmi.bmiHeader.biSizeImage = 0; - bmi.bmiHeader.biXPelsPerMeter = 0; - bmi.bmiHeader.biYPelsPerMeter = 0; - bmi.bmiHeader.biClrUsed = 0; // TODO! palette displays - bmi.bmiHeader.biClrImportant = 0; // TODO! palette displays - - hbmBuffer = CreateDIBSection(hdcBuffer, &bmi, DIB_RGB_COLORS, &pBuffer, NULL, 0); - - SelectObject(hdcBuffer, hbmBuffer); - -#if 0 - rcClip.left = 0; - rcClip.top = 0; - rcClip.right = This->width + 1; - rcClip.bottom = This->height + 1; -#endif - - BOOL deactivated; - uint32 ext_disc_reason; - - rdp_main_loop(This, &deactivated, &ext_disc_reason); - // TODO: handle redirection - // EVENT: OnDisconnect - - SendMessage(hwnd, WM_CLOSE, 0, 0); - - return 0; -} - -/* Virtual channel stuff */ -extern "C" void channel_process(RDPCLIENT * This, STREAM s, uint16 mcs_channel) -{ -} - -DWORD tlsIndex; - -typedef struct CHANNEL_HANDLE_ -{ - RDPCLIENT * client; - int channel; -} -CHANNEL_HANDLE; - -static -UINT -VCAPITYPE -VirtualChannelInit -( - LPVOID * ppInitHandle, - PCHANNEL_DEF pChannel, - INT channelCount, - ULONG versionRequested, - PCHANNEL_INIT_EVENT_FN pChannelInitEventProc -) -{ - if(channelCount <= 0) - return CHANNEL_RC_BAD_CHANNEL; - - if(ppInitHandle == NULL) - return CHANNEL_RC_BAD_INIT_HANDLE; - - if(pChannel == NULL) - return CHANNEL_RC_BAD_CHANNEL; - - if(pChannelInitEventProc == NULL) - return CHANNEL_RC_BAD_PROC; - - RDPCLIENT * This = (RDPCLIENT *)TlsGetValue(tlsIndex); - - if(This == NULL) - return CHANNEL_RC_NOT_IN_VIRTUALCHANNELENTRY; - - if(This->num_channels + channelCount > CHANNEL_MAX_COUNT) - return CHANNEL_RC_TOO_MANY_CHANNELS; - - for(INT i = 0; i < channelCount; ++ i) - { - if(strlen(pChannel[i].name) > CHANNEL_NAME_LEN) - return CHANNEL_RC_BAD_CHANNEL; - } - - memcpy(This->channel_defs + This->num_channels, pChannel, sizeof(*pChannel) * channelCount); - -#if 0 // TODO - for(INT i = 0; i < channelCount; ++ i) - { - pChannel[i].options |= CHANNEL_OPTION_INITIALIZED; - - int j = This->num_channels + i; - This->channel_data[j].opened = 0; - This->channel_data[j].pChannelInitEventProc = pChannelInitEventProc; - This->channel_data[j].pChannelOpenEventProc = NULL; - } -#endif - - This->num_channels += channelCount; - - *ppInitHandle = This; - - return CHANNEL_RC_OK; -} - -UINT -VCAPITYPE -VirtualChannelOpen -( - LPVOID pInitHandle, - LPDWORD pOpenHandle, - PCHAR pChannelName, - PCHANNEL_OPEN_EVENT_FN pChannelOpenEventProc -) -{ - if(pInitHandle == NULL) - return CHANNEL_RC_BAD_INIT_HANDLE; - - if(pOpenHandle == NULL) - return CHANNEL_RC_BAD_CHANNEL_HANDLE; - - if(pChannelName == NULL) - return CHANNEL_RC_UNKNOWN_CHANNEL_NAME; - - if(pChannelOpenEventProc == NULL) - return CHANNEL_RC_BAD_PROC; - - RDPCLIENT * This = (RDPCLIENT *)pInitHandle; - -#if 0 // TODO - for(unsigned i = 0; i < This->num_channels; ++ i) - { - if(strcmp(pChannelName, This->channel_defs[i].name) == 0) - { - if(This->channel_data[i].opened) - return CHANNEL_RC_ALREADY_OPEN; - - This->channel_data[i].opened = 1; - This->channel_data[i].pChannelOpenEventProc = pChannelOpenEventProc; - - // TODO: allocate a handle here - *pOpenHandle = 0; - - break; - } - } -#endif - - return CHANNEL_RC_OK; -} - -UINT VCAPITYPE VirtualChannelClose -( - DWORD openHandle -) -{ - // TODO: channel handle management - return CHANNEL_RC_BAD_CHANNEL_HANDLE; -} - -UINT VCAPITYPE VirtualChannelWrite -( - DWORD openHandle, - LPVOID pData, - ULONG dataLength, - LPVOID pUserData -) -{ - // TODO - return CHANNEL_RC_BAD_CHANNEL_HANDLE; -} - -int wmain() -{ - WSADATA wsd; - WSAStartup(MAKEWORD(2, 2), &wsd); - - static RDPCLIENT This_; // NOTE: this is HUGE and would overflow the stack! - ZeroMemory(&This_, sizeof(This_)); - - RDPCLIENT * This = &This_; - - /* - Threading model for MissTosca: - - main thread is the GUI thread. Message loop maintained by caller - - protocol I/O is handled in an I/O thread (or thread pool) - - extra threads maintained by virtual channel handlers. Virtual channel writes are thread-neutral - - How we handle drawing: at the moment just an off-screen buffer we dump on-screen when asked to. - Still considering how to draw on-screen directly and *then* buffering off-screen (for example, - when running inside another remote session) - */ - - // FIXME: keyboard mess - This->keylayout = 0x409; - This->keyboard_type = 0x4; - This->keyboard_subtype = 0x0; - This->keyboard_functionkeys = 0xc; - This->width = 800; - This->height = 600; - This->server_depth = 24; - This->bitmap_compression = True; - //This->sendmotion = True; - This->bitmap_cache = True; - This->bitmap_cache_persist_enable = False; - This->bitmap_cache_precache = True; - This->encryption = True; - This->packet_encryption = True; - This->desktop_save = True; - This->polygon_ellipse_orders = False; // = True; - //This->fullscreen = False; - //This->grab_keyboard = True; - //This->hide_decorations = False; - This->use_rdp5 = True; - //This->rdpclip = True; - This->console_session = False; - //This->numlock_sync = False; - //This->seamless_rdp = False; - This->rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS; - This->tcp_port_rdp = TCP_PORT_RDP; - -#define NOT_SET -1 - This->cache.bmpcache_lru[0] = NOT_SET; - This->cache.bmpcache_lru[1] = NOT_SET; - This->cache.bmpcache_lru[2] = NOT_SET; - This->cache.bmpcache_mru[0] = NOT_SET; - This->cache.bmpcache_mru[1] = NOT_SET; - This->cache.bmpcache_mru[2] = NOT_SET; - - This->rdp.current_status = 1; - - //hcursor = NULL; - - WNDCLASS wc; - ZeroMemory(&wc, sizeof(wc)); - - wc.lpfnWndProc = mstsc_WndProc; - wc.hbrBackground = static_cast(GetStockObject(HOLLOW_BRUSH)); - wc.lpszClassName = TEXT("MissTosca_Desktop"); - - wmZMouseWheel = RegisterWindowMessage(MSH_MOUSEWHEEL); - - ATOM a = RegisterClass(&wc); - - hwnd = CreateWindow - ( - MAKEINTATOM(a), - NULL, - WS_POPUP | WS_VISIBLE, - CW_USEDEFAULT, - CW_USEDEFAULT, - This->width, - This->height, - NULL, - NULL, - NULL, - This - ); - - // The righ time to start the protocol thread - DWORD dwThreadId; - HANDLE hThread = CreateThread(NULL, 0, mstsc_ProtocolIOThread, This, 0, &dwThreadId); - - // Your standard, garden variety message loop - MSG msg; - - while(GetMessage(&msg, NULL, 0, 0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } -} - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj deleted file mode 100644 index 3e91425b3b5..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.cpp b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.cpp deleted file mode 100644 index 1e9dbf2c515..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "stdafx.h" - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h deleted file mode 100644 index 87956e633cb..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#define _CRT_SECURE_NO_DEPRECATE -#define _SECURE_SCL 0 - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#define WIN32_LEAN_AND_MEAN -#include -#include - -#include -#include -#include -#include -#include - -#include - -// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh deleted file mode 100644 index e14a7da2c05..00000000000 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh +++ /dev/null @@ -1,21 +0,0 @@ -#define TOSTRING_(X) #X -#define TOSTRING(X) TOSTRING_(X) - -LANGUAGE 0, 0 - -#ifndef TYPELIB_PATH__ -#error TYPELIB_PATH__ not defined -#endif - -#ifndef TYPELIB_RESOURCEID__ -#error TYPELIB_RESOURCEID__ not defined -#endif - -/* - NOTE: - TYPELIB_PATH__ is defined on the command line (-D TYPELIB_PATH__=) - TYPELIB_RESOURCEID__ is defined before this file is included -*/ -TYPELIB_RESOURCEID__ TYPELIB TOSTRING(TYPELIB_PATH__) - -// EOF diff --git a/reactos/base/applications/tsclient/rdesktop/COPYING b/reactos/base/applications/tsclient/rdesktop/COPYING deleted file mode 100644 index 416ee71e5ba..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/COPYING +++ /dev/null @@ -1,346 +0,0 @@ -This software is released under the GNU General Public License -(reproduced below) with the additional exemption that compiling, -linking, and/or using OpenSSL together with this software is -allowed. - ---- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/reactos/base/applications/tsclient/rdesktop/Makefile.in b/reactos/base/applications/tsclient/rdesktop/Makefile.in deleted file mode 100644 index 17d5522fac3..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/Makefile.in +++ /dev/null @@ -1,158 +0,0 @@ -# -# rdesktop: A Remote Desktop Protocol client -# Makefile.in -# Copyright (C) Matthew Chapman 1999-2005 -# - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -mandir = @mandir@ -datadir = @datadir@ - -VERSION = @PACKAGE_VERSION@ -KEYMAP_PATH = $(datadir)/rdesktop/keymaps/ - -CC = @CC@ -INSTALL = @INSTALL@ -CFLAGS = @CFLAGS@ @X_CFLAGS@ @DEFS@ -DKEYMAP_PATH=\"$(KEYMAP_PATH)\" -LDFLAGS = @LDFLAGS@ @LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ -STRIP = @STRIP@ - -TARGETS = rdesktop @RDP2VNCTARGET@ -VNCINC = @VNCINC@ -LDVNC = @LDVNC@ -VNCLINK = @VNCLINK@ -SOUNDOBJ = @SOUNDOBJ@ - -RDPOBJ = tcp.o iso.o mcs.o secure.o licence.o rdp.o orders.o bitmap.o cache.o rdp5.o channels.o rdpdr.o serial.o printer.o disk.o parallel.o printercache.o mppc.o pstcache.o lspci.o seamless.o -X11OBJ = rdesktop.o xwin.o xkeymap.o ewmhints.o xclip.o cliprdr.o -VNCOBJ = vnc/rdp2vnc.o vnc/vnc.o vnc/xkeymap.o vnc/x11stubs.o - -.PHONY: all -all: $(TARGETS) - -rdesktop: $(X11OBJ) $(SOUNDOBJ) $(RDPOBJ) - $(CC) $(CFLAGS) -o rdesktop $(X11OBJ) $(SOUNDOBJ) $(RDPOBJ) $(LDFLAGS) -lX11 - -rdp2vnc: $(VNCOBJ) $(SOUNDOBJ) $(RDPOBJ) - $(VNCLINK) $(CFLAGS) -o rdp2vnc $(VNCOBJ) $(SOUNDOBJ) $(RDPOBJ) $(LDFLAGS) $(LDVNC) - -vnc/rdp2vnc.o: rdesktop.c - $(CC) $(CFLAGS) $(VNCINC) -DRDP2VNC -o vnc/rdp2vnc.o -c rdesktop.c - -vnc/vnc.o: vnc/vnc.c - $(CC) $(CFLAGS) $(VNCINC) -DRDP2VNC -o vnc/vnc.o -c vnc/vnc.c - -vnc/xkeymap.o: xkeymap.c - $(CC) $(CFLAGS) $(VNCINC) -DRDP2VNC -o vnc/xkeymap.o -c xkeymap.c - -vnc/x11stubs.o: vnc/x11stubs.c - $(CC) $(CFLAGS) $(VNCINC) -o vnc/x11stubs.o -c vnc/x11stubs.c - -.PHONY: install -install: installbin installkeymaps installman - -.PHONY: installbin -installbin: rdesktop - mkdir -p $(DESTDIR)$(bindir) - $(INSTALL) rdesktop $(DESTDIR)$(bindir) - $(STRIP) $(DESTDIR)$(bindir)/rdesktop - chmod 755 $(DESTDIR)$(bindir)/rdesktop - -.PHONY: installman -installman: doc/rdesktop.1 - mkdir -p $(DESTDIR)$(mandir)/man1 - cp doc/rdesktop.1 $(DESTDIR)$(mandir)/man1 - chmod 644 $(DESTDIR)$(mandir)/man1/rdesktop.1 - -.PHONY: installkeymaps -installkeymaps: - mkdir -p $(DESTDIR)$(KEYMAP_PATH) -# Prevent copying the CVS directory - cp keymaps/?? keymaps/??-?? $(DESTDIR)$(KEYMAP_PATH) - cp keymaps/common $(DESTDIR)$(KEYMAP_PATH) - cp keymaps/modifiers $(DESTDIR)$(KEYMAP_PATH) - chmod 644 $(DESTDIR)$(KEYMAP_PATH)/* - -.PHONY: proto -proto: - cat proto.head > proto.h - cproto -DMAKE_PROTO \ - bitmap.c cache.c channels.c cliprdr.c disk.c mppc.c ewmhints.c \ - iso.c licence.c mcs.c orders.c parallel.c printer.c printercache.c \ - pstcache.c rdesktop.c rdp5.c rdp.c rdpdr.c rdpsnd.c rdpsnd_oss.c \ - secure.c serial.c tcp.c xclip.c xkeymap.c xwin.c lspci.c seamless.c >> proto.h - cat proto.tail >> proto.h - -.PHONY: clean -clean: - rm -f *.o *~ vnc/*.o vnc/*~ rdesktop rdp2vnc - -.PHONY: distclean -distclean: clean - rm -rf autom4te.cache config.log config.status Makefile - -.PHONY: dist -dist: rdesktop-$(VERSION).tar.gz - -rdesktop-$(VERSION).tar.gz: Makefile configure - mkdir -p /tmp/rdesktop-make-dist-dir - ln -sf `pwd` /tmp/rdesktop-make-dist-dir/rdesktop-$(VERSION) - (cd /tmp/rdesktop-make-dist-dir; \ - tar zcvf rdesktop-$(VERSION)/rdesktop-$(VERSION).tar.gz \ - rdesktop-$(VERSION)/COPYING \ - rdesktop-$(VERSION)/README \ - rdesktop-$(VERSION)/configure \ - rdesktop-$(VERSION)/configure.ac \ - rdesktop-$(VERSION)/config.sub \ - rdesktop-$(VERSION)/config.guess \ - rdesktop-$(VERSION)/bootstrap \ - rdesktop-$(VERSION)/install-sh \ - rdesktop-$(VERSION)/Makefile.in \ - rdesktop-$(VERSION)/rdesktop.spec \ - rdesktop-$(VERSION)/*.c \ - rdesktop-$(VERSION)/*.h \ - rdesktop-$(VERSION)/proto.head \ - rdesktop-$(VERSION)/proto.tail \ - rdesktop-$(VERSION)/keymaps/?? \ - rdesktop-$(VERSION)/keymaps/??-?? \ - rdesktop-$(VERSION)/keymaps/common \ - rdesktop-$(VERSION)/keymaps/modifiers \ - rdesktop-$(VERSION)/keymaps/convert-map \ - rdesktop-$(VERSION)/doc/HACKING \ - rdesktop-$(VERSION)/doc/AUTHORS \ - rdesktop-$(VERSION)/doc/TODO \ - rdesktop-$(VERSION)/doc/ChangeLog \ - rdesktop-$(VERSION)/doc/keymapping.txt \ - rdesktop-$(VERSION)/doc/keymap-names.txt \ - rdesktop-$(VERSION)/doc/ipv6.txt \ - rdesktop-$(VERSION)/doc/licensing.txt \ - rdesktop-$(VERSION)/doc/patches.txt \ - rdesktop-$(VERSION)/doc/redirection.txt \ - rdesktop-$(VERSION)/doc/rdesktop.1 ) - rm -rf /tmp/rdesktop-make-dist-dir - -.PHONY: dist-noversion -dist-noversion: rdesktop.tar.gz - -rdesktop.tar.gz: rdesktop-$(VERSION).tar.gz - mkdir -p /tmp/rdesktop-make-dist-dir - tar zxvf $< -C /tmp/rdesktop-make-dist-dir - mv /tmp/rdesktop-make-dist-dir/rdesktop-$(VERSION) /tmp/rdesktop-make-dist-dir/rdesktop - ls /tmp/rdesktop-make-dist-dir/rdesktop - tar zcvf $@ -C /tmp/rdesktop-make-dist-dir rdesktop - rm -rf /tmp/rdesktop-make-dist-dir - -Makefile: Makefile.in configure - ./config.status - -configure: configure.ac - ./bootstrap - -.SUFFIXES: -.SUFFIXES: .c .o - -.c.o: - $(CC) $(CFLAGS) -o $@ -c $< - diff --git a/reactos/base/applications/tsclient/rdesktop/README b/reactos/base/applications/tsclient/rdesktop/README deleted file mode 100644 index d554582ba6d..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/README +++ /dev/null @@ -1,32 +0,0 @@ -=========================================== -rdesktop: A Remote Desktop Protocol client. -=========================================== - -rdesktop is a client for Microsoft Windows NT Terminal Server, Windows 2000 -Terminal Services, Windows 2003 Terminal Services/Remote Desktop, Windows XP -Remote Desktop, and possibly other Terminal Services products. -rdesktop currently implements the RDP version 4 and 5 protocols. - -Installation ------------- -rdesktop uses a typical GNU-style build procedure: - - % ./configure [options] - % make - % make install - -where documentation for [options] can be found by running "./configure --help". -Usually no options are necessary. The default is to install under /usr/local, -this can be changed with --prefix=directory. - -Invocation ----------- - - % rdesktop [options] server - -where server is the name of the Terminal Services machine. Note: if you -receive "Connection refused", this probably means that the server does not have -Terminal Services enabled, or there is a firewall blocking access. - -The rdesktop manual page lists the possible options ("man rdesktop"). - diff --git a/reactos/base/applications/tsclient/rdesktop/bitmap.c b/reactos/base/applications/tsclient/rdesktop/bitmap.c deleted file mode 100644 index d23a77c7c15..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/bitmap.c +++ /dev/null @@ -1,1112 +0,0 @@ -/* -*- c-basic-offset: 8 -*- - rdesktop: A Remote Desktop Protocol client. - Bitmap decompression routines - Copyright (C) Matthew Chapman 1999-2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* three seperate function for speed when decompressing the bitmaps */ -/* when modifing one function make the change in the others */ -/* comment out #define BITMAP_SPEED_OVER_SIZE below for one slower function */ -/* j@american-data.com */ - -#define BITMAP_SPEED_OVER_SIZE - -/* indent is confused by this file */ -/* *INDENT-OFF* */ - -#include "rdesktop.h" - -#define CVAL(p) (*(p++)) -#ifdef NEED_ALIGN -#ifdef L_ENDIAN -#define CVAL2(p, v) { v = (*(p++)); v |= (*(p++)) << 8; } -#else -#define CVAL2(p, v) { v = (*(p++)) << 8; v |= (*(p++)); } -#endif /* L_ENDIAN */ -#else -#define CVAL2(p, v) { v = (*((uint16*)p)); p += 2; } -#endif /* NEED_ALIGN */ - -#define UNROLL8(exp) { exp exp exp exp exp exp exp exp } - -#define REPEAT(statement) \ -{ \ - while((count & ~0x7) && ((x+8) < width)) \ - UNROLL8( statement; count--; x++; ); \ - \ - while((count > 0) && (x < width)) \ - { \ - statement; \ - count--; \ - x++; \ - } \ -} - -#define MASK_UPDATE() \ -{ \ - mixmask <<= 1; \ - if (mixmask == 0) \ - { \ - mask = fom_mask ? fom_mask : CVAL(input); \ - mixmask = 1; \ - } \ -} - -#ifdef BITMAP_SPEED_OVER_SIZE - -/* 1 byte bitmap decompress */ -static BOOL -bitmap_decompress1(uint8 * output, int width, int height, uint8 * input, int size) -{ - uint8 *end = input + size; - uint8 *prevline = NULL; - int opcode, count, offset, isfillormix; - int lastopcode = -1, insertmix = False, bicolour = False; - uint8 code; - uint8 colour1 = 0, colour2 = 0; - uint8 mixmask, mask = 0; - uint8 mix = 0xff; - int fom_mask = 0; -#if 0 - uint8 *line = NULL; - int x = width; -#else - uint8 *line = output; - int x = 0; - int y = 0; -#endif - - while (input < end) - { - fom_mask = 0; - code = CVAL(input); - opcode = code >> 4; - /* Handle different opcode forms */ - switch (opcode) - { - case 0xc: - case 0xd: - case 0xe: - opcode -= 6; - count = code & 0xf; - offset = 16; - break; - case 0xf: - opcode = code & 0xf; - if (opcode < 9) - { - count = CVAL(input); - count |= CVAL(input) << 8; - } - else - { - count = (opcode < 0xb) ? 8 : 1; - } - offset = 0; - break; - default: - opcode >>= 1; - count = code & 0x1f; - offset = 32; - break; - } - /* Handle strange cases for counts */ - if (offset != 0) - { - isfillormix = ((opcode == 2) || (opcode == 7)); - if (count == 0) - { - if (isfillormix) - count = CVAL(input) + 1; - else - count = CVAL(input) + offset; - } - else if (isfillormix) - { - count <<= 3; - } - } - /* Read preliminary data */ - switch (opcode) - { - case 0: /* Fill */ - if ((lastopcode == opcode) && !((x == width) && (prevline == NULL))) - insertmix = True; - break; - case 8: /* Bicolour */ - colour1 = CVAL(input); - case 3: /* Colour */ - colour2 = CVAL(input); - break; - case 6: /* SetMix/Mix */ - case 7: /* SetMix/FillOrMix */ - mix = CVAL(input); - opcode -= 5; - break; - case 9: /* FillOrMix_1 */ - mask = 0x03; - opcode = 0x02; - fom_mask = 3; - break; - case 0x0a: /* FillOrMix_2 */ - mask = 0x05; - opcode = 0x02; - fom_mask = 5; - break; - } - lastopcode = opcode; - mixmask = 0; - /* Output body */ - while (count > 0) - { - if (x >= width) - { -#if 0 - if (height <= 0) -#else - if (y >= height) -#endif - return False; - x = 0; - -#if 0 - height--; -#else - y ++; -#endif - - prevline = line; - -#if 0 - line = output + height * width; -#else - line = output + y * width; -#endif - } - switch (opcode) - { - case 0: /* Fill */ - if (insertmix) - { - if (prevline == NULL) - line[x] = mix; - else - line[x] = prevline[x] ^ mix; - insertmix = False; - count--; - x++; - } - if (prevline == NULL) - { - REPEAT(line[x] = 0) - } - else - { - REPEAT(line[x] = prevline[x]) - } - break; - case 1: /* Mix */ - if (prevline == NULL) - { - REPEAT(line[x] = mix) - } - else - { - REPEAT(line[x] = prevline[x] ^ mix) - } - break; - case 2: /* Fill or Mix */ - if (prevline == NULL) - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - line[x] = mix; - else - line[x] = 0; - ) - } - else - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - line[x] = prevline[x] ^ mix; - else - line[x] = prevline[x]; - ) - } - break; - case 3: /* Colour */ - REPEAT(line[x] = colour2) - break; - case 4: /* Copy */ - REPEAT(line[x] = CVAL(input)) - break; - case 8: /* Bicolour */ - REPEAT - ( - if (bicolour) - { - line[x] = colour2; - bicolour = False; - } - else - { - line[x] = colour1; - bicolour = True; count++; - } - ) - break; - case 0xd: /* White */ - REPEAT(line[x] = 0xff) - break; - case 0xe: /* Black */ - REPEAT(line[x] = 0) - break; - default: - unimpl("bitmap opcode 0x%x\n", opcode); - return False; - } - } - } - return True; -} - -/* 2 byte bitmap decompress */ -static BOOL -bitmap_decompress2(uint8 * output, int width, int height, uint8 * input, int size) -{ - uint8 *end = input + size; - uint16 *prevline = NULL; - int opcode, count, offset, isfillormix; - int lastopcode = -1, insertmix = False, bicolour = False; - uint8 code; - uint16 colour1 = 0, colour2 = 0; - uint8 mixmask, mask = 0; - uint16 mix = 0xffff; - int fom_mask = 0; -#if 0 - uint8 *line = NULL; - int x = width; -#else - uint8 *line = output; - int x = 0; - int y = 0; -#endif - - while (input < end) - { - fom_mask = 0; - code = CVAL(input); - opcode = code >> 4; - /* Handle different opcode forms */ - switch (opcode) - { - case 0xc: - case 0xd: - case 0xe: - opcode -= 6; - count = code & 0xf; - offset = 16; - break; - case 0xf: - opcode = code & 0xf; - if (opcode < 9) - { - count = CVAL(input); - count |= CVAL(input) << 8; - } - else - { - count = (opcode < 0xb) ? 8 : 1; - } - offset = 0; - break; - default: - opcode >>= 1; - count = code & 0x1f; - offset = 32; - break; - } - /* Handle strange cases for counts */ - if (offset != 0) - { - isfillormix = ((opcode == 2) || (opcode == 7)); - if (count == 0) - { - if (isfillormix) - count = CVAL(input) + 1; - else - count = CVAL(input) + offset; - } - else if (isfillormix) - { - count <<= 3; - } - } - /* Read preliminary data */ - switch (opcode) - { - case 0: /* Fill */ - if ((lastopcode == opcode) && !((x == width) && (prevline == NULL))) - insertmix = True; - break; - case 8: /* Bicolour */ - CVAL2(input, colour1); - case 3: /* Colour */ - CVAL2(input, colour2); - break; - case 6: /* SetMix/Mix */ - case 7: /* SetMix/FillOrMix */ - CVAL2(input, mix); - opcode -= 5; - break; - case 9: /* FillOrMix_1 */ - mask = 0x03; - opcode = 0x02; - fom_mask = 3; - break; - case 0x0a: /* FillOrMix_2 */ - mask = 0x05; - opcode = 0x02; - fom_mask = 5; - break; - } - lastopcode = opcode; - mixmask = 0; - /* Output body */ - while (count > 0) - { - if (x >= width) - { -#if 0 - if (height <= 0) -#else - if (y >= height) -#endif - return False; - x = 0; - -#if 0 - height--; -#else - y ++; -#endif - - prevline = line; - -#if 0 - line = ((uint16 *) output) + height * width; -#else - line = ((uint16 *) output) + y * width; -#endif - } - switch (opcode) - { - case 0: /* Fill */ - if (insertmix) - { - if (prevline == NULL) - line[x] = mix; - else - line[x] = prevline[x] ^ mix; - insertmix = False; - count--; - x++; - } - if (prevline == NULL) - { - REPEAT(line[x] = 0) - } - else - { - REPEAT(line[x] = prevline[x]) - } - break; - case 1: /* Mix */ - if (prevline == NULL) - { - REPEAT(line[x] = mix) - } - else - { - REPEAT(line[x] = prevline[x] ^ mix) - } - break; - case 2: /* Fill or Mix */ - if (prevline == NULL) - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - line[x] = mix; - else - line[x] = 0; - ) - } - else - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - line[x] = prevline[x] ^ mix; - else - line[x] = prevline[x]; - ) - } - break; - case 3: /* Colour */ - REPEAT(line[x] = colour2) - break; - case 4: /* Copy */ - REPEAT(CVAL2(input, line[x])) - break; - case 8: /* Bicolour */ - REPEAT - ( - if (bicolour) - { - line[x] = colour2; - bicolour = False; - } - else - { - line[x] = colour1; - bicolour = True; - count++; - } - ) - break; - case 0xd: /* White */ - REPEAT(line[x] = 0xffff) - break; - case 0xe: /* Black */ - REPEAT(line[x] = 0) - break; - default: - unimpl("bitmap opcode 0x%x\n", opcode); - return False; - } - } - } - return True; -} - -/* 3 byte bitmap decompress */ -static BOOL -bitmap_decompress3(uint8 * output, int width, int height, uint8 * input, int size) -{ - uint8 *end = input + size; - uint8 *prevline = NULL; - int opcode, count, offset, isfillormix; - int lastopcode = -1, insertmix = False, bicolour = False; - uint8 code; - uint8 colour1[3] = {0, 0, 0}, colour2[3] = {0, 0, 0}; - uint8 mixmask, mask = 0; - uint8 mix[3] = {0xff, 0xff, 0xff}; - int fom_mask = 0; -#if 0 - uint8 *line = NULL; - int x = width; -#else - uint8 *line = output; - int x = 0; - int y = 0; -#endif - - while (input < end) - { - fom_mask = 0; - code = CVAL(input); - opcode = code >> 4; - /* Handle different opcode forms */ - switch (opcode) - { - case 0xc: - case 0xd: - case 0xe: - opcode -= 6; - count = code & 0xf; - offset = 16; - break; - case 0xf: - opcode = code & 0xf; - if (opcode < 9) - { - count = CVAL(input); - count |= CVAL(input) << 8; - } - else - { - count = (opcode < - 0xb) ? 8 : 1; - } - offset = 0; - break; - default: - opcode >>= 1; - count = code & 0x1f; - offset = 32; - break; - } - /* Handle strange cases for counts */ - if (offset != 0) - { - isfillormix = ((opcode == 2) || (opcode == 7)); - if (count == 0) - { - if (isfillormix) - count = CVAL(input) + 1; - else - count = CVAL(input) + offset; - } - else if (isfillormix) - { - count <<= 3; - } - } - /* Read preliminary data */ - switch (opcode) - { - case 0: /* Fill */ - if ((lastopcode == opcode) && !((x == width) && (prevline == NULL))) - insertmix = True; - break; - case 8: /* Bicolour */ - colour1[0] = CVAL(input); - colour1[1] = CVAL(input); - colour1[2] = CVAL(input); - case 3: /* Colour */ - colour2[0] = CVAL(input); - colour2[1] = CVAL(input); - colour2[2] = CVAL(input); - break; - case 6: /* SetMix/Mix */ - case 7: /* SetMix/FillOrMix */ - mix[0] = CVAL(input); - mix[1] = CVAL(input); - mix[2] = CVAL(input); - opcode -= 5; - break; - case 9: /* FillOrMix_1 */ - mask = 0x03; - opcode = 0x02; - fom_mask = 3; - break; - case 0x0a: /* FillOrMix_2 */ - mask = 0x05; - opcode = 0x02; - fom_mask = 5; - break; - } - lastopcode = opcode; - mixmask = 0; - /* Output body */ - while (count > 0) - { - if (x >= width) - { -#if 0 - if (height <= 0) -#else - if (y >= height) -#endif - return False; - x = 0; - -#if 0 - height--; -#else - y ++; -#endif - - prevline = line; - -#if 0 - line = output + height * (width * 3); -#else - line = output + y * (width * 3); -#endif - } - switch (opcode) - { - case 0: /* Fill */ - if (insertmix) - { - if (prevline == NULL) - { - line[x * 3] = mix[0]; - line[x * 3 + 1] = mix[1]; - line[x * 3 + 2] = mix[2]; - } - else - { - line[x * 3] = - prevline[x * 3] ^ mix[0]; - line[x * 3 + 1] = - prevline[x * 3 + 1] ^ mix[1]; - line[x * 3 + 2] = - prevline[x * 3 + 2] ^ mix[2]; - } - insertmix = False; - count--; - x++; - } - if (prevline == NULL) - { - REPEAT - ( - line[x * 3] = 0; - line[x * 3 + 1] = 0; - line[x * 3 + 2] = 0; - ) - } - else - { - REPEAT - ( - line[x * 3] = prevline[x * 3]; - line[x * 3 + 1] = prevline[x * 3 + 1]; - line[x * 3 + 2] = prevline[x * 3 + 2]; - ) - } - break; - case 1: /* Mix */ - if (prevline == NULL) - { - REPEAT - ( - line[x * 3] = mix[0]; - line[x * 3 + 1] = mix[1]; - line[x * 3 + 2] = mix[2]; - ) - } - else - { - REPEAT - ( - line[x * 3] = - prevline[x * 3] ^ mix[0]; - line[x * 3 + 1] = - prevline[x * 3 + 1] ^ mix[1]; - line[x * 3 + 2] = - prevline[x * 3 + 2] ^ mix[2]; - ) - } - break; - case 2: /* Fill or Mix */ - if (prevline == NULL) - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - { - line[x * 3] = mix[0]; - line[x * 3 + 1] = mix[1]; - line[x * 3 + 2] = mix[2]; - } - else - { - line[x * 3] = 0; - line[x * 3 + 1] = 0; - line[x * 3 + 2] = 0; - } - ) - } - else - { - REPEAT - ( - MASK_UPDATE(); - if (mask & mixmask) - { - line[x * 3] = - prevline[x * 3] ^ mix [0]; - line[x * 3 + 1] = - prevline[x * 3 + 1] ^ mix [1]; - line[x * 3 + 2] = - prevline[x * 3 + 2] ^ mix [2]; - } - else - { - line[x * 3] = - prevline[x * 3]; - line[x * 3 + 1] = - prevline[x * 3 + 1]; - line[x * 3 + 2] = - prevline[x * 3 + 2]; - } - ) - } - break; - case 3: /* Colour */ - REPEAT - ( - line[x * 3] = colour2 [0]; - line[x * 3 + 1] = colour2 [1]; - line[x * 3 + 2] = colour2 [2]; - ) - break; - case 4: /* Copy */ - REPEAT - ( - line[x * 3] = CVAL(input); - line[x * 3 + 1] = CVAL(input); - line[x * 3 + 2] = CVAL(input); - ) - break; - case 8: /* Bicolour */ - REPEAT - ( - if (bicolour) - { - line[x * 3] = colour2[0]; - line[x * 3 + 1] = colour2[1]; - line[x * 3 + 2] = colour2[2]; - bicolour = False; - } - else - { - line[x * 3] = colour1[0]; - line[x * 3 + 1] = colour1[1]; - line[x * 3 + 2] = colour1[2]; - bicolour = True; - count++; - } - ) - break; - case 0xd: /* White */ - REPEAT - ( - line[x * 3] = 0xff; - line[x * 3 + 1] = 0xff; - line[x * 3 + 2] = 0xff; - ) - break; - case 0xe: /* Black */ - REPEAT - ( - line[x * 3] = 0; - line[x * 3 + 1] = 0; - line[x * 3 + 2] = 0; - ) - break; - default: - unimpl("bitmap opcode 0x%x\n", opcode); - return False; - } - } - } - return True; -} - -#else - -static uint32 -cvalx(uint8 **input, int Bpp) -{ - uint32 rv = 0; - memcpy(&rv, *input, Bpp); - *input += Bpp; - return rv; -} - -static void -setli(uint8 *input, int offset, uint32 value, int Bpp) -{ - input += offset * Bpp; - memcpy(input, &value, Bpp); -} - -static uint32 -getli(uint8 *input, int offset, int Bpp) -{ - uint32 rv = 0; - input += offset * Bpp; - memcpy(&rv, input, Bpp); - return rv; -} - -static BOOL -bitmap_decompressx(uint8 *output, int width, int height, uint8 *input, int size, int Bpp) -{ - uint8 *end = input + size; - uint8 *prevline = NULL; - int opcode, count, offset, isfillormix; - int lastopcode = -1, insertmix = False, bicolour = False; - uint8 code; - uint32 colour1 = 0, colour2 = 0; - uint8 mixmask, mask = 0; - uint32 mix = 0xffffffff; - int fom_mask = 0; -#if 0 - uint8 *line = NULL; - int x = width; -#else - uint8 *line = output; - int x = 0; - int y = 0; -#endif - - while (input < end) - { - fom_mask = 0; - code = CVAL(input); - opcode = code >> 4; - - /* Handle different opcode forms */ - switch (opcode) - { - case 0xc: - case 0xd: - case 0xe: - opcode -= 6; - count = code & 0xf; - offset = 16; - break; - - case 0xf: - opcode = code & 0xf; - if (opcode < 9) - { - count = CVAL(input); - count |= CVAL(input) << 8; - } - else - { - count = (opcode < 0xb) ? 8 : 1; - } - offset = 0; - break; - - default: - opcode >>= 1; - count = code & 0x1f; - offset = 32; - break; - } - - /* Handle strange cases for counts */ - if (offset != 0) - { - isfillormix = ((opcode == 2) || (opcode == 7)); - - if (count == 0) - { - if (isfillormix) - count = CVAL(input) + 1; - else - count = CVAL(input) + offset; - } - else if (isfillormix) - { - count <<= 3; - } - } - - /* Read preliminary data */ - switch (opcode) - { - case 0: /* Fill */ - if ((lastopcode == opcode) && !((x == width) && (prevline == NULL))) - insertmix = True; - break; - case 8: /* Bicolour */ - colour1 = cvalx(&input, Bpp); - case 3: /* Colour */ - colour2 = cvalx(&input, Bpp); - break; - case 6: /* SetMix/Mix */ - case 7: /* SetMix/FillOrMix */ - mix = cvalx(&input, Bpp); - opcode -= 5; - break; - case 9: /* FillOrMix_1 */ - mask = 0x03; - opcode = 0x02; - fom_mask = 3; - break; - case 0x0a: /* FillOrMix_2 */ - mask = 0x05; - opcode = 0x02; - fom_mask = 5; - break; - - } - - lastopcode = opcode; - mixmask = 0; - - /* Output body */ - while (count > 0) - { - if (x >= width) - { -#if 0 - if (height <= 0) -#else - if (y >= height) -#endif - return False; - - x = 0; - -#if 0 - height--; -#else - y ++; -#endif - - prevline = line; - -#if 0 - line = output + height * width * Bpp; -#else - line = output + y * width * Bpp; -#endif - } - - switch (opcode) - { - case 0: /* Fill */ - if (insertmix) - { - if (prevline == NULL) - setli(line, x, mix, Bpp); - else - setli(line, x, - getli(prevline, x, Bpp) ^ mix, Bpp); - - insertmix = False; - count--; - x++; - } - - if (prevline == NULL) - { - REPEAT(setli(line, x, 0, Bpp))} - else - { - REPEAT(setli - (line, x, getli(prevline, x, Bpp), Bpp)); - } - break; - - case 1: /* Mix */ - if (prevline == NULL) - { - REPEAT(setli(line, x, mix, Bpp)); - } - else - { - REPEAT(setli - (line, x, getli(prevline, x, Bpp) ^ mix, - Bpp)); - } - break; - - case 2: /* Fill or Mix */ - if (prevline == NULL) - { - REPEAT(MASK_UPDATE(); - if (mask & mixmask) setli(line, x, mix, Bpp); - else - setli(line, x, 0, Bpp);); - } - else - { - REPEAT(MASK_UPDATE(); - if (mask & mixmask) - setli(line, x, getli(prevline, x, Bpp) ^ mix, - Bpp); - else - setli(line, x, getli(prevline, x, Bpp), - Bpp);); - } - break; - - case 3: /* Colour */ - REPEAT(setli(line, x, colour2, Bpp)); - break; - - case 4: /* Copy */ - REPEAT(setli(line, x, cvalx(&input, Bpp), Bpp)); - break; - - case 8: /* Bicolour */ - REPEAT(if (bicolour) - { - setli(line, x, colour2, Bpp); bicolour = False;} - else - { - setli(line, x, colour1, Bpp); bicolour = True; - count++;} - ); - break; - - case 0xd: /* White */ - REPEAT(setli(line, x, 0xffffffff, Bpp)); - break; - - case 0xe: /* Black */ - REPEAT(setli(line, x, 0, Bpp)); - break; - - default: - unimpl("bitmap opcode 0x%x\n", opcode); - return False; - } - } - } - - return True; -} - -#endif - -/* main decompress function */ -BOOL -bitmap_decompress(uint8 * output, int width, int height, uint8 * input, int size, int Bpp) -{ -#ifdef BITMAP_SPEED_OVER_SIZE - BOOL rv = False; - switch (Bpp) - { - case 1: - rv = bitmap_decompress1(output, width, height, input, size); - break; - case 2: - rv = bitmap_decompress2(output, width, height, input, size); - break; - case 3: - rv = bitmap_decompress3(output, width, height, input, size); - break; - } -#else - BOOL rv; - rv = bitmap_decompressx(output, width, height, input, size, Bpp); -#endif - return rv; -} - -/* *INDENT-ON* */ diff --git a/reactos/base/applications/tsclient/rdesktop/bootstrap b/reactos/base/applications/tsclient/rdesktop/bootstrap deleted file mode 100644 index 73979144b4b..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -rm -rf autom4te.cache -autoreconf -i diff --git a/reactos/base/applications/tsclient/rdesktop/cache.c b/reactos/base/applications/tsclient/rdesktop/cache.c deleted file mode 100644 index dd0bb491755..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/cache.c +++ /dev/null @@ -1,414 +0,0 @@ -/* -*- c-basic-offset: 8 -*- - rdesktop: A Remote Desktop Protocol client. - Cache routines - Copyright (C) Matthew Chapman 1999-2005 - Copyright (C) Jeroen Meijer 2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "rdesktop.h" - -#undef IS_SET // !!!FIXME!!! - -/* BITMAP CACHE */ -#define NUM_ELEMENTS(array) (sizeof(array) / sizeof(array[0])) -#define IS_PERSISTENT(id) (This->pstcache_fd[id] > 0) -#define TO_TOP -1 -#define NOT_SET -1 -#define IS_SET(idx) (idx >= 0) - -/* - * TODO: Test for optimal value of BUMP_COUNT. TO_TOP gives lowest cpu utilisation but using - * a positive value will hopefully result in less frequently used bitmaps having a greater chance - * of being evicted from the cache, and therby reducing the need to load bitmaps from disk. - * (Jeroen) - */ -#define BUMP_COUNT 40 - -/* Setup the bitmap cache lru/mru linked list */ -void -cache_rebuild_bmpcache_linked_list(RDPCLIENT * This, uint8 id, sint16 * idx, int count) -{ - int n = count, c = 0; - sint16 n_idx; - - /* find top, skip evicted bitmaps */ - while (--n >= 0 && This->cache.bmpcache[id][idx[n]].bitmap == NULL); - if (n < 0) - { - This->cache.bmpcache_mru[id] = This->cache.bmpcache_lru[id] = NOT_SET; - return; - } - - This->cache.bmpcache_mru[id] = idx[n]; - This->cache.bmpcache[id][idx[n]].next = NOT_SET; - n_idx = idx[n]; - c++; - - /* link list */ - while (n >= 0) - { - /* skip evicted bitmaps */ - while (--n >= 0 && This->cache.bmpcache[id][idx[n]].bitmap == NULL); - - if (n < 0) - break; - - This->cache.bmpcache[id][n_idx].previous = idx[n]; - This->cache.bmpcache[id][idx[n]].next = n_idx; - n_idx = idx[n]; - c++; - } - - This->cache.bmpcache[id][n_idx].previous = NOT_SET; - This->cache.bmpcache_lru[id] = n_idx; - - if (c != This->cache.bmpcache_count[id]) - { - error("Oops. %d in bitmap cache linked list, %d in ui cache...\n", c, - This->cache.bmpcache_count[id]); - exit(1); - } -} - -/* Move a bitmap to a new position in the linked list. */ -void -cache_bump_bitmap(RDPCLIENT * This, uint8 id, uint16 idx, int bump) -{ - int p_idx, n_idx, n; - - if (!IS_PERSISTENT(id)) - return; - - if (This->cache.bmpcache_mru[id] == idx) - return; - - DEBUG_RDP5(("bump bitmap: id=%d, idx=%d, bump=%d\n", id, idx, bump)); - - n_idx = This->cache.bmpcache[id][idx].next; - p_idx = This->cache.bmpcache[id][idx].previous; - - if (IS_SET(n_idx)) - { - /* remove */ - --This->cache.bmpcache_count[id]; - if (IS_SET(p_idx)) - This->cache.bmpcache[id][p_idx].next = n_idx; - else - This->cache.bmpcache_lru[id] = n_idx; - if (IS_SET(n_idx)) - This->cache.bmpcache[id][n_idx].previous = p_idx; - else - This->cache.bmpcache_mru[id] = p_idx; - } - else - { - p_idx = NOT_SET; - n_idx = This->cache.bmpcache_lru[id]; - } - - if (bump >= 0) - { - for (n = 0; n < bump && IS_SET(n_idx); n++) - { - p_idx = n_idx; - n_idx = This->cache.bmpcache[id][p_idx].next; - } - } - else - { - p_idx = This->cache.bmpcache_mru[id]; - n_idx = NOT_SET; - } - - /* insert */ - ++This->cache.bmpcache_count[id]; - This->cache.bmpcache[id][idx].previous = p_idx; - This->cache.bmpcache[id][idx].next = n_idx; - - if (p_idx >= 0) - This->cache.bmpcache[id][p_idx].next = idx; - else - This->cache.bmpcache_lru[id] = idx; - - if (n_idx >= 0) - This->cache.bmpcache[id][n_idx].previous = idx; - else - This->cache.bmpcache_mru[id] = idx; -} - -/* Evict the least-recently used bitmap from the cache */ -void -cache_evict_bitmap(RDPCLIENT * This, uint8 id) -{ - uint16 idx; - int n_idx; - - if (!IS_PERSISTENT(id)) - return; - - idx = This->cache.bmpcache_lru[id]; - n_idx = This->cache.bmpcache[id][idx].next; - DEBUG_RDP5(("evict bitmap: id=%d idx=%d n_idx=%d bmp=0x%x\n", id, idx, n_idx, - This->cache.bmpcache[id][idx].bitmap)); - - ui_destroy_bitmap(This, This->cache.bmpcache[id][idx].bitmap); - --This->cache.bmpcache_count[id]; - This->cache.bmpcache[id][idx].bitmap = 0; - - This->cache.bmpcache_lru[id] = n_idx; - This->cache.bmpcache[id][n_idx].previous = NOT_SET; - - pstcache_touch_bitmap(This, id, idx, 0); -} - -/* Retrieve a bitmap from the cache */ -HBITMAP -cache_get_bitmap(RDPCLIENT * This, uint8 id, uint16 idx) -{ - if ((id < NUM_ELEMENTS(This->cache.bmpcache)) && (idx < NUM_ELEMENTS(This->cache.bmpcache[0]))) - { - if (This->cache.bmpcache[id][idx].bitmap || pstcache_load_bitmap(This, id, idx)) - { - if (IS_PERSISTENT(id)) - cache_bump_bitmap(This, id, idx, BUMP_COUNT); - - return This->cache.bmpcache[id][idx].bitmap; - } - } - else if ((id < NUM_ELEMENTS(This->cache.volatile_bc)) && (idx == 0x7fff)) - { - return This->cache.volatile_bc[id]; - } - - error("get bitmap %d:%d\n", id, idx); - return NULL; -} - -/* Store a bitmap in the cache */ -void -cache_put_bitmap(RDPCLIENT * This, uint8 id, uint16 idx, HBITMAP bitmap) -{ - HBITMAP old; - - if ((id < NUM_ELEMENTS(This->cache.bmpcache)) && (idx < NUM_ELEMENTS(This->cache.bmpcache[0]))) - { - old = This->cache.bmpcache[id][idx].bitmap; - if (old != NULL) - ui_destroy_bitmap(This, old); - This->cache.bmpcache[id][idx].bitmap = bitmap; - - if (IS_PERSISTENT(id)) - { - if (old == NULL) - This->cache.bmpcache[id][idx].previous = This->cache.bmpcache[id][idx].next = NOT_SET; - - cache_bump_bitmap(This, id, idx, TO_TOP); - if (This->cache.bmpcache_count[id] > BMPCACHE2_C2_CELLS) - cache_evict_bitmap(This, id); - } - } - else if ((id < NUM_ELEMENTS(This->cache.volatile_bc)) && (idx == 0x7fff)) - { - old = This->cache.volatile_bc[id]; - if (old != NULL) - ui_destroy_bitmap(This, old); - This->cache.volatile_bc[id] = bitmap; - } - else - { - error("put bitmap %d:%d\n", id, idx); - } -} - -/* Updates the persistent bitmap cache MRU information on exit */ -void -cache_save_state(RDPCLIENT * This) -{ - uint32 id = 0, t = 0; - int idx; - - for (id = 0; id < NUM_ELEMENTS(This->cache.bmpcache); id++) - if (IS_PERSISTENT(id)) - { - DEBUG_RDP5(("Saving cache state for bitmap cache %d...", id)); - idx = This->cache.bmpcache_lru[id]; - while (idx >= 0) - { - pstcache_touch_bitmap(This, id, idx, ++t); - idx = This->cache.bmpcache[id][idx].next; - } - DEBUG_RDP5((" %d stamps written.\n", t)); - } -} - - -/* FONT CACHE */ -/* Retrieve a glyph from the font cache */ -FONTGLYPH * -cache_get_font(RDPCLIENT * This, uint8 font, uint16 character) -{ - FONTGLYPH *glyph; - - if ((font < NUM_ELEMENTS(This->cache.fontcache)) && (character < NUM_ELEMENTS(This->cache.fontcache[0]))) - { - glyph = &This->cache.fontcache[font][character]; - if (glyph->pixmap != NULL) - return glyph; - } - - error("get font %d:%d\n", font, character); - return NULL; -} - -/* Store a glyph in the font cache */ -void -cache_put_font(RDPCLIENT * This, uint8 font, uint16 character, uint16 offset, - uint16 baseline, uint16 width, uint16 height, HGLYPH pixmap) -{ - FONTGLYPH *glyph; - - if ((font < NUM_ELEMENTS(This->cache.fontcache)) && (character < NUM_ELEMENTS(This->cache.fontcache[0]))) - { - glyph = &This->cache.fontcache[font][character]; - if (glyph->pixmap != NULL) - ui_destroy_glyph(This, glyph->pixmap); - - glyph->offset = offset; - glyph->baseline = baseline; - glyph->width = width; - glyph->height = height; - glyph->pixmap = pixmap; - } - else - { - error("put font %d:%d\n", font, character); - } -} - - -/* TEXT CACHE */ -/* Retrieve a text item from the cache */ -DATABLOB * -cache_get_text(RDPCLIENT * This, uint8 cache_id) -{ - DATABLOB *text; - - text = &This->cache.textcache[cache_id]; - return text; -} - -/* Store a text item in the cache */ -void -cache_put_text(RDPCLIENT * This, uint8 cache_id, void *data, int length) -{ - DATABLOB *text; - void * p = malloc(length); - - if(p == NULL) - return; - - text = &This->cache.textcache[cache_id]; - if (text->data != NULL) - free(text->data); - text->data = p; - text->size = length; - memcpy(text->data, data, length); -} - - -/* DESKTOP CACHE */ -/* Retrieve desktop data from the cache */ -uint8 * -cache_get_desktop(RDPCLIENT * This, uint32 offset, int cx, int cy, int bytes_per_pixel) -{ - int length = cx * cy * bytes_per_pixel; - - if (offset > sizeof(This->cache.deskcache)) - offset = 0; - - if ((offset + length) <= sizeof(This->cache.deskcache)) - { - return &This->cache.deskcache[offset]; - } - - error("get desktop %d:%d\n", offset, length); - return NULL; -} - -/* Store desktop data in the cache */ -void -cache_put_desktop(RDPCLIENT * This, uint32 offset, int cx, int cy, int scanline, int bytes_per_pixel, uint8 * data) -{ - int length = cx * cy * bytes_per_pixel; - - if (offset > sizeof(This->cache.deskcache)) - offset = 0; - - if ((offset + length) <= sizeof(This->cache.deskcache)) - { - cx *= bytes_per_pixel; - while (cy--) - { - memcpy(&This->cache.deskcache[offset], data, cx); - data += scanline; - offset += cx; - } - } - else - { - error("put desktop %d:%d\n", offset, length); - } -} - - -/* CURSOR CACHE */ -/* Retrieve cursor from cache */ -HCURSOR -cache_get_cursor(RDPCLIENT * This, uint16 cache_idx) -{ - HCURSOR cursor; - - if (cache_idx < NUM_ELEMENTS(This->cache.cursorcache)) - { - cursor = This->cache.cursorcache[cache_idx]; - if (cursor != NULL) - return cursor; - } - - error("get cursor %d\n", cache_idx); - return NULL; -} - -/* Store cursor in cache */ -void -cache_put_cursor(RDPCLIENT * This, uint16 cache_idx, HCURSOR cursor) -{ - HCURSOR old; - - if (cache_idx < NUM_ELEMENTS(This->cache.cursorcache)) - { - old = This->cache.cursorcache[cache_idx]; - if (old != NULL) - ui_destroy_cursor(This, old); - - This->cache.cursorcache[cache_idx] = cursor; - } - else - { - error("put cursor %d\n", cache_idx); - } -} diff --git a/reactos/base/applications/tsclient/rdesktop/channels.c b/reactos/base/applications/tsclient/rdesktop/channels.c deleted file mode 100644 index 5c1f1bc696d..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/channels.c +++ /dev/null @@ -1,177 +0,0 @@ -/* -*- c-basic-offset: 8 -*- - rdesktop: A Remote Desktop Protocol client. - Protocol services - Virtual channels - Copyright (C) Erik Forsberg 2003 - Copyright (C) Matthew Chapman 2003-2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "rdesktop.h" - -// FIXME: header mess -#if 0 -#define CHANNEL_CHUNK_LENGTH 1600 -#define CHANNEL_FLAG_FIRST 0x01 -#define CHANNEL_FLAG_LAST 0x02 -#define CHANNEL_FLAG_SHOW_PROTOCOL 0x10 -#endif - -/* FIXME: We should use the information in TAG_SRV_CHANNELS to map RDP5 - channels to MCS channels. - - The format of TAG_SRV_CHANNELS seems to be - - global_channel_no (uint16le) - number_of_other_channels (uint16le) - ..followed by uint16les for the other channels. -*/ - -VCHANNEL * -channel_register(RDPCLIENT * This, char *name, uint32 flags, void (*callback) (RDPCLIENT *, STREAM)) -{ - VCHANNEL *channel; - - if (!This->use_rdp5) - return NULL; - - if (This->num_channels >= MAX_CHANNELS) - { - error("Channel table full, increase MAX_CHANNELS\n"); - return NULL; - } - - channel = &This->channels[This->num_channels]; - channel->mcs_id = MCS_GLOBAL_CHANNEL + 1 + This->num_channels; - strncpy(channel->name, name, 8); - channel->flags = flags; - channel->process = callback; - This->num_channels++; - return channel; -} - -STREAM -channel_init(RDPCLIENT * This, VCHANNEL * channel, uint32 length) -{ - STREAM s; - - s = sec_init(This, This->encryption ? SEC_ENCRYPT : 0, length + 8); - s_push_layer(s, channel_hdr, 8); - return s; -} - -void -channel_send(RDPCLIENT * This, STREAM s, VCHANNEL * channel) -{ - uint32 length, flags; - uint32 thislength, remaining; - uint8 *data; - - /* first fragment sent in-place */ - s_pop_layer(s, channel_hdr); - length = s->end - s->p - sizeof(CHANNEL_PDU_HEADER); - - DEBUG_CHANNEL(("channel_send, length = %d\n", length)); - - thislength = MIN(length, CHANNEL_CHUNK_LENGTH); -/* Note: In the original clipboard implementation, this number was - 1592, not 1600. However, I don't remember the reason and 1600 seems - to work so.. This applies only to *this* length, not the length of - continuation or ending packets. */ - remaining = length - thislength; - flags = (remaining == 0) ? CHANNEL_FLAG_FIRST | CHANNEL_FLAG_LAST : CHANNEL_FLAG_FIRST; - if (channel->flags & CHANNEL_OPTION_SHOW_PROTOCOL) - flags |= CHANNEL_FLAG_SHOW_PROTOCOL; - - out_uint32_le(s, length); - out_uint32_le(s, flags); - data = s->end = s->p + thislength; - DEBUG_CHANNEL(("Sending %d bytes with FLAG_FIRST\n", thislength)); - sec_send_to_channel(This, s, This->encryption ? SEC_ENCRYPT : 0, channel->mcs_id); - - /* subsequent segments copied (otherwise would have to generate headers backwards) */ - while (remaining > 0) - { - thislength = MIN(remaining, CHANNEL_CHUNK_LENGTH); - remaining -= thislength; - flags = (remaining == 0) ? CHANNEL_FLAG_LAST : 0; - if (channel->flags & CHANNEL_OPTION_SHOW_PROTOCOL) - flags |= CHANNEL_FLAG_SHOW_PROTOCOL; - - DEBUG_CHANNEL(("Sending %d bytes with flags %d\n", thislength, flags)); - - s = sec_init(This, This->encryption ? SEC_ENCRYPT : 0, thislength + 8); - out_uint32_le(s, length); - out_uint32_le(s, flags); - out_uint8p(s, data, thislength); - s_mark_end(s); - sec_send_to_channel(This, s, This->encryption ? SEC_ENCRYPT : 0, channel->mcs_id); - - data += thislength; - } -} - -void -channel_process(RDPCLIENT * This, STREAM s, uint16 mcs_channel) -{ - uint32 length, flags; - uint32 thislength; - VCHANNEL *channel = NULL; - unsigned int i; - STREAM in; - - for (i = 0; i < This->num_channels; i++) - { - channel = &This->channels[i]; - if (channel->mcs_id == mcs_channel) - break; - } - - if (i >= This->num_channels) - return; - - in_uint32_le(s, length); - in_uint32_le(s, flags); - if ((flags & CHANNEL_FLAG_FIRST) && (flags & CHANNEL_FLAG_LAST)) - { - /* single fragment - pass straight up */ - channel->process(This, s); - } - else - { - /* add fragment to defragmentation buffer */ - in = &channel->in; - if (flags & CHANNEL_FLAG_FIRST) - { - if (length > in->size) - { - in->data = (uint8 *) xrealloc(in->data, length); - in->size = length; - } - in->p = in->data; - } - - thislength = MIN(s->end - s->p, in->data + in->size - in->p); - memcpy(in->p, s->p, thislength); - in->p += thislength; - - if (flags & CHANNEL_FLAG_LAST) - { - in->end = in->p; - in->p = in->data; - channel->process(This, in); - } - } -} diff --git a/reactos/base/applications/tsclient/rdesktop/cliprdr.c b/reactos/base/applications/tsclient/rdesktop/cliprdr.c deleted file mode 100644 index 01ef9055b14..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/cliprdr.c +++ /dev/null @@ -1,182 +0,0 @@ -/* -*- c-basic-offset: 8 -*- - rdesktop: A Remote Desktop Protocol client. - Protocol services - Clipboard functions - Copyright (C) Erik Forsberg 2003 - Copyright (C) Matthew Chapman 2003 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "rdesktop.h" - -#define CLIPRDR_CONNECT 1 -#define CLIPRDR_FORMAT_ANNOUNCE 2 -#define CLIPRDR_FORMAT_ACK 3 -#define CLIPRDR_DATA_REQUEST 4 -#define CLIPRDR_DATA_RESPONSE 5 - -#define CLIPRDR_REQUEST 0 -#define CLIPRDR_RESPONSE 1 -#define CLIPRDR_ERROR 2 - -static void -cliprdr_send_packet(RDPCLIENT * This, uint16 type, uint16 status, uint8 * data, uint32 length) -{ - STREAM s; - - DEBUG_CLIPBOARD(("CLIPRDR send: type=%d, status=%d, length=%d\n", type, status, length)); - - s = channel_init(This, This->cliprdr.channel, length + 12); - out_uint16_le(s, type); - out_uint16_le(s, status); - out_uint32_le(s, length); - out_uint8p(s, data, length); - out_uint32(s, 0); /* pad? */ - s_mark_end(s); - channel_send(This, s, This->cliprdr.channel); -} - -/* Helper which announces our readiness to supply clipboard data - in a single format (such as CF_TEXT) to the RDP side. - To announce more than one format at a time, use - cliprdr_send_native_format_announce. - */ -void -cliprdr_send_simple_native_format_announce(RDPCLIENT * This, uint32 format) -{ - uint8 buffer[36]; - - DEBUG_CLIPBOARD(("cliprdr_send_simple_native_format_announce\n")); - - buf_out_uint32(buffer, format); - memset(buffer + 4, 0, sizeof(buffer) - 4); /* description */ - cliprdr_send_native_format_announce(This, buffer, sizeof(buffer)); -} - -/* Announces our readiness to supply clipboard data in multiple - formats, each denoted by a 36-byte format descriptor of - [ uint32 format + 32-byte description ]. - */ -void -cliprdr_send_native_format_announce(RDPCLIENT * This, uint8 * formats_data, uint32 formats_data_length) -{ - DEBUG_CLIPBOARD(("cliprdr_send_native_format_announce\n")); - - cliprdr_send_packet(This, CLIPRDR_FORMAT_ANNOUNCE, CLIPRDR_REQUEST, formats_data, - formats_data_length); - - if (formats_data != This->cliprdr.last_formats) - { - if (This->cliprdr.last_formats) - xfree(This->cliprdr.last_formats); - - This->cliprdr.last_formats = xmalloc(formats_data_length); - memcpy(This->cliprdr.last_formats, formats_data, formats_data_length); - This->cliprdr.last_formats_length = formats_data_length; - } -} - -void -cliprdr_send_data_request(RDPCLIENT * This, uint32 format) -{ - uint8 buffer[4]; - - DEBUG_CLIPBOARD(("cliprdr_send_data_request\n")); - buf_out_uint32(buffer, format); - cliprdr_send_packet(This, CLIPRDR_DATA_REQUEST, CLIPRDR_REQUEST, buffer, sizeof(buffer)); -} - -void -cliprdr_send_data(RDPCLIENT * This, uint8 * data, uint32 length) -{ - DEBUG_CLIPBOARD(("cliprdr_send_data\n")); - cliprdr_send_packet(This, CLIPRDR_DATA_RESPONSE, CLIPRDR_RESPONSE, data, length); -} - -static void -cliprdr_process(RDPCLIENT * This, STREAM s) -{ - uint16 type, status; - uint32 length, format; - uint8 *data; - - in_uint16_le(s, type); - in_uint16_le(s, status); - in_uint32_le(s, length); - data = s->p; - - DEBUG_CLIPBOARD(("CLIPRDR recv: type=%d, status=%d, length=%d\n", type, status, length)); - - if (status == CLIPRDR_ERROR) - { - switch (type) - { - case CLIPRDR_FORMAT_ACK: - /* FIXME: We seem to get this when we send an announce while the server is - still processing a paste. Try sending another announce. */ - cliprdr_send_native_format_announce(This, This->cliprdr.last_formats, - This->cliprdr.last_formats_length); - break; - case CLIPRDR_DATA_RESPONSE: - ui_clip_request_failed(This); - break; - default: - DEBUG_CLIPBOARD(("CLIPRDR error (type=%d)\n", type)); - } - - return; - } - - switch (type) - { - case CLIPRDR_CONNECT: - ui_clip_sync(This); - break; - case CLIPRDR_FORMAT_ANNOUNCE: - ui_clip_format_announce(This, data, length); - cliprdr_send_packet(This, CLIPRDR_FORMAT_ACK, CLIPRDR_RESPONSE, NULL, 0); - return; - case CLIPRDR_FORMAT_ACK: - break; - case CLIPRDR_DATA_REQUEST: - in_uint32_le(s, format); - ui_clip_request_data(This, format); - break; - case CLIPRDR_DATA_RESPONSE: - ui_clip_handle_data(This, data, length); - break; - case 7: /* TODO: W2K3 SP1 sends this on connect with a value of 1 */ - break; - default: - unimpl("CLIPRDR packet type %d\n", type); - } -} - -void -cliprdr_set_mode(RDPCLIENT * This, const char *optarg) -{ - ui_clip_set_mode(This, optarg); -} - -BOOL -cliprdr_init(RDPCLIENT * This) -{ - This->cliprdr.channel = - channel_register(This, "cliprdr", - CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP | - CHANNEL_OPTION_COMPRESS_RDP | CHANNEL_OPTION_SHOW_PROTOCOL, - cliprdr_process); - return (This->cliprdr.channel != NULL); -} diff --git a/reactos/base/applications/tsclient/rdesktop/config.guess b/reactos/base/applications/tsclient/rdesktop/config.guess deleted file mode 100644 index 2fc3acce2ea..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/config.guess +++ /dev/null @@ -1,1411 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. - -timestamp='2003-06-17' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -## for Red Hat Linux -if test -f /etc/redhat-release ; then - VENDOR=redhat ; -else - VENDOR= ; -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha*:OpenVMS:*:*) - echo alpha-hp-vms - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit 0;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit 0 ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 - ;; - ppc:Linux:*:*) - echo powerpc-${VENDOR:-unknown}-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu - exit 0 ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit 0 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:[78]*) - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit 0 ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/reactos/base/applications/tsclient/rdesktop/config.sub b/reactos/base/applications/tsclient/rdesktop/config.sub deleted file mode 100644 index 7cee3d6ec7f..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/config.sub +++ /dev/null @@ -1,1500 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. - -timestamp='2003-06-18' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | msp430 \ - | ns16k | ns32k \ - | openrisc | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | s390 | s390x \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xscale | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | msp430-* \ - | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nv1) - basic_machine=nv1-cray - os=-unicosmp - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - or32 | or32-*) - basic_machine=or32-unknown - os=-coff - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/reactos/base/applications/tsclient/rdesktop/configure.ac b/reactos/base/applications/tsclient/rdesktop/configure.ac deleted file mode 100644 index 34a4e79c211..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/configure.ac +++ /dev/null @@ -1,727 +0,0 @@ -AC_INIT(rdesktop, 1.4.1) - -AC_CONFIG_SRCDIR([rdesktop.c]) - -AC_PROG_CC -if test "$GCC" = yes; then - CFLAGS="$CFLAGS -Wall" -fi - -AC_PROG_INSTALL -AC_LANG_C -AC_HEADER_STDC -AC_C_BIGENDIAN([AC_DEFINE(B_ENDIAN)], [AC_DEFINE(L_ENDIAN)]) -AC_PATH_XTRA - -AC_SEARCH_LIBS(socket, socket) -AC_SEARCH_LIBS(inet_aton, resolv) - -AC_CHECK_HEADER(sys/select.h, AC_DEFINE(HAVE_SYS_SELECT_H)) -AC_CHECK_HEADER(sys/modem.h, AC_DEFINE(HAVE_SYS_MODEM_H)) -AC_CHECK_HEADER(sys/filio.h, AC_DEFINE(HAVE_SYS_FILIO_H)) -AC_CHECK_HEADER(sys/strtio.h, AC_DEFINE(HAVE_SYS_STRTIO_H)) -AC_CHECK_HEADER(locale.h, AC_DEFINE(HAVE_LOCALE_H)) -AC_CHECK_HEADER(langinfo.h, AC_DEFINE(HAVE_LANGINFO_H)) - -AC_CHECK_TOOL(STRIP, strip, :) - -rpath="" - -# -# OpenSSL detection borrowed from stunnel -# -checkssldir() { : - if test -f "$1/include/openssl/ssl.h"; then - ssldir="$1" - return 0 - fi - return 1 -} -AC_MSG_CHECKING([for OpenSSL directory]) -AC_ARG_WITH(openssl, - [ --with-openssl=DIR look for OpenSSL at DIR/include, DIR/lib], - [ - dnl Check the specified location only - checkssldir "$withval" - ], - [ - dnl Search default locations of OpenSSL library - for maindir in /usr/local /usr/lib /usr/pkg /usr /var/ssl /opt; do - for dir in $maindir $maindir/openssl $maindir/ssl; do - checkssldir $dir && break 2 - done - done - ] -) -if test -z "$ssldir"; then - AC_MSG_RESULT([Not found]) - echo - echo "Couldn't find your OpenSSL library installation dir" - echo "Use --with-openssl option to fix this problem" - echo - exit 1 -fi -AC_MSG_RESULT([$ssldir]) -AC_SUBST(ssldir) -AC_DEFINE_UNQUOTED(ssldir, "$ssldir") - -dnl Add OpenSSL includes and libraries -CFLAGS="$CFLAGS -I$ssldir/include" -AC_ARG_ENABLE(static-openssl, - [ --enable-static-openssl link OpenSSL statically], - [ -LIBS="$LIBS $ssldir/lib/libcrypto.a" - ], - [ -LIBS="$LIBS -L$ssldir/lib -lcrypto" -rpath="$rpath:$ssldir/lib" - ]) - - -# -# Alignment -# -AC_MSG_CHECKING([if architecture needs alignment]) -AC_TRY_RUN([ -#include -#include -int main(int argc, char **argv) -{ - unsigned char test[8] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88 }; - signal(SIGBUS, exit); - signal(SIGABRT, exit); - signal(SIGSEGV, exit); - if (*((unsigned int *)(test + 1)) != 0x55443322 && *((unsigned int *)(test + 1)) != 0x22334455) { - return 1; - } - return 0; -}], - [AC_MSG_RESULT(no)], - [AC_MSG_RESULT(yes) - AC_DEFINE(NEED_ALIGN)], - [AC_MSG_RESULT(assuming yes) - AC_DEFINE(NEED_ALIGN)]) - - -# -# EGD -# -AC_ARG_WITH(egd-socket, - [ --with-egd-socket=PATH look for Entropy Gathering Daemon socket at PATH], - [EGD_SOCKET="$withval"], - [EGD_SOCKET="/var/run/egd-pool"] -) -AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET") - - -# -# rdp2vnc -# -vncserverconfig=libvncserver-config -AC_ARG_WITH(libvncserver-config, - [ --with-libvncserver-config=CMD use CMD as libvncserver-config], - [vncserverconfig="$withval"] -) -AC_ARG_WITH(libvncserver, - [ --with-libvncserver make rdp2vnc], - [ - VNCINC=`$vncserverconfig --cflags` - AC_SUBST(VNCINC) - LDVNC=`$vncserverconfig --libs` - AC_SUBST(LDVNC) - VNCLINK=`$vncserverconfig --link` - AC_SUBST(VNCLINK) - RDP2VNCTARGET="rdp2vnc" - AC_SUBST(RDP2VNCTARGET) - ] -) - -# -# sound -# -AC_ARG_WITH(libao, - [ --with-libao=DIR look for libao at DIR/include, DIR/lib], - [ - CFLAGS="$CFLAGS -I$withval/include" - CPPFLAGS="$CPPFLAGS -I$withval/include" - LIBS="$LIBS -L$withval/lib" - rpath="$rpath:$withval/lib" - ] -) - -sound="yes" -AC_ARG_WITH(sound, - [ --with-sound select sound system ("oss", "sgi", "sun" or "libao") ], - [ - sound="$withval" - ]) -if test "$sound" = yes; then - AC_CHECK_HEADER(ao/ao.h, [sound=libao]) - AC_CHECK_HEADER(sys/soundcard.h, [sound=oss]) - AC_CHECK_HEADER(dmedia/audio.h, [sound=sgi]) - AC_CHECK_HEADER(sys/audioio.h, [sound=sun]) -fi -if test "$sound" = no; then - break -elif test "$sound" = oss; then - SOUNDOBJ="rdpsnd.o rdpsnd_oss.o" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = sgi; then - SOUNDOBJ="rdpsnd.o rdpsnd_sgi.o" - LDFLAGS="$LDFLAGS -laudio" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = sun; then - SOUNDOBJ="rdpsnd.o rdpsnd_sun.o" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = libao; then - SOUNDOBJ="rdpsnd.o rdpsnd_libao.o" - LDFLAGS="$LDFLAGS -lao" - AC_DEFINE(WITH_RDPSND) -else - AC_MSG_WARN([sound support disabled]) - AC_MSG_WARN([Currently supported systems are Open Sound System (oss), SGI AL (sgi), Sun/BSD (sun) and libao]) -fi -AC_SUBST(SOUNDOBJ) - -# -# dirfd -# -dnl Find out how to get the file descriptor associated with an open DIR*. -dnl From Jim Meyering - -AC_DEFUN([UTILS_FUNC_DIRFD], -[ - - AC_HEADER_DIRENT - dirfd_headers=' -#if HAVE_DIRENT_H -# include -#else /* not HAVE_DIRENT_H */ -# define dirent direct -# if HAVE_SYS_NDIR_H -# include -# endif /* HAVE_SYS_NDIR_H */ -# if HAVE_SYS_DIR_H -# include -# endif /* HAVE_SYS_DIR_H */ -# if HAVE_NDIR_H -# include -# endif /* HAVE_NDIR_H */ -#endif /* HAVE_DIRENT_H */ -' - AC_CHECK_FUNCS(dirfd) - AC_CHECK_DECLS([dirfd], , , $dirfd_headers) - - AC_CACHE_CHECK([whether dirfd is a macro], - jm_cv_func_dirfd_macro, - [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers -#ifdef dirfd - dirent_header_defines_dirfd -#endif], - jm_cv_func_dirfd_macro=yes, - jm_cv_func_dirfd_macro=no)]) - - # Use the replacement only if we have no function, macro, - # or declaration with that name. - if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \ - = no,no,no; then - AC_REPLACE_FUNCS([dirfd]) - AC_CACHE_CHECK( - [how to get the file descriptor associated with an open DIR*], - gl_cv_sys_dir_fd_member_name, - [ - dirfd_save_CFLAGS=$CFLAGS - for ac_expr in d_fd dd_fd; do - - CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" - AC_TRY_COMPILE( - [$dirfd_headers - ], - [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;], - dir_fd_found=yes - ) - CFLAGS=$dirfd_save_CFLAGS - test "$dir_fd_found" = yes && break - done - test "$dir_fd_found" = yes || ac_expr=no_such_member - - gl_cv_sys_dir_fd_member_name=$ac_expr - ] - ) - if test $gl_cv_sys_dir_fd_member_name != no_such_member; then - AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME, - $gl_cv_sys_dir_fd_member_name, - [the name of the file descriptor member of DIR]) - fi - AH_VERBATIM(DIR_TO_FD, - [#ifdef DIR_FD_MEMBER_NAME -# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) -#else -# define DIR_TO_FD(Dir_p) -1 -#endif -] - ) - fi -]) - -UTILS_FUNC_DIRFD - -# -# iconv -# - -dnl This macros shamelessly stolen from -dnl http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg01398.html. -dnl Written by Bruno Haible. - -AC_DEFUN([UTILS_FUNC_ICONV], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - ]) - AC_CHECK_HEADER(iconv.h, AC_DEFINE(HAVE_ICONV_H)) - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi - LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" - fi - AC_SUBST(LIBICONV) -]) - -UTILS_FUNC_ICONV -LIBS="$LIBS $LIBICONV" - -# -# socklen_t -# from curl - -dnl Check for socklen_t: historically on BSD it is an int, and in -dnl POSIX 1g it is a type of its own, but some platforms use different -dnl types for the argument to getsockopt, getpeername, etc. So we -dnl have to test to find something that will work. -AC_DEFUN([TYPE_SOCKLEN_T], -[ - AC_CHECK_TYPE([socklen_t], ,[ - AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([socklen_t_equiv], - [ - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include - #include - - int getpeername (int, $arg2 *, $t *); - ],[ - $t len; - getpeername(0,0,&len); - ],[ - socklen_t_equiv="$t" - break - ]) - done - done - - if test "x$socklen_t_equiv" = x; then - AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) - fi - ]) - AC_MSG_RESULT($socklen_t_equiv) - AC_DEFINE_UNQUOTED(socklen_t, $socklen_t_equiv, - [type to use in place of socklen_t if not defined])], - [#include -#include ]) -]) - -TYPE_SOCKLEN_T - -# -# statfs stuff -# -AC_CHECK_HEADERS(sys/vfs.h) -AC_CHECK_HEADERS(sys/statvfs.h) -AC_CHECK_HEADERS(sys/statfs.h) -AC_CHECK_HEADERS(sys/param.h) - -mount_includes="\ - $ac_includes_default - #if HAVE_SYS_PARAM_H - # include - #endif - " - -AC_CHECK_HEADERS(sys/mount.h,,,[$mount_includes]) - -################################################# -# these tests are taken from the GNU fileutils package -AC_CHECKING(how to get filesystem space usage) -space=no - -# Test for statvfs64. -if test $space = no; then - # SVR4 - AC_CACHE_CHECK([statvfs64 function (SVR4)], fu_cv_sys_stat_statvfs64, - [AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include -#endif -#include -#include - main () - { - struct statvfs64 fsd; - exit (statvfs64 (".", &fsd)); - }], - fu_cv_sys_stat_statvfs64=yes, - fu_cv_sys_stat_statvfs64=no, - fu_cv_sys_stat_statvfs64=cross)]) - if test $fu_cv_sys_stat_statvfs64 = yes; then - space=yes - AC_DEFINE(STAT_STATVFS64,1,[Whether statvfs64() is available]) - fi -fi - -# Perform only the link test since it seems there are no variants of the -# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) -# because that got a false positive on SCO OSR5. Adding the declaration -# of a `struct statvfs' causes this test to fail (as it should) on such -# systems. That system is reported to work fine with STAT_STATFS4 which -# is what it gets when this test fails. -if test $space = no; then - # SVR4 - AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs, - [AC_TRY_LINK([#include -#include ], - [struct statvfs fsd; statvfs (0, &fsd);], - fu_cv_sys_stat_statvfs=yes, - fu_cv_sys_stat_statvfs=no)]) - if test $fu_cv_sys_stat_statvfs = yes; then - space=yes - AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available]) - fi -fi - -if test $space = no; then - # DEC Alpha running OSF/1 - AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, - [AC_TRY_RUN([ -#include -#include -#include - main () - { - struct statfs fsd; - fsd.f_fsize = 0; - exit (statfs (".", &fsd, sizeof (struct statfs))); - }], - fu_cv_sys_stat_statfs3_osf1=yes, - fu_cv_sys_stat_statfs3_osf1=no, - fu_cv_sys_stat_statfs3_osf1=no)]) - - -#C_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) - if test $fu_cv_sys_stat_statfs3_osf1 = yes; then - space=yes - AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments]) - fi -fi - -if test $space = no; then -# AIX - AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl -member (AIX, 4.3BSD)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, - [AC_TRY_RUN([ -#ifdef HAVE_SYS_PARAM_H -#include -#endif -#ifdef HAVE_SYS_MOUNT_H -#include -#endif -#ifdef HAVE_SYS_VFS_H -#include -#endif - main () - { - struct statfs fsd; - fsd.f_bsize = 0; - exit (statfs (".", &fsd)); - }], - fu_cv_sys_stat_statfs2_bsize=yes, - fu_cv_sys_stat_statfs2_bsize=no, - fu_cv_sys_stat_statfs2_bsize=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) - if test $fu_cv_sys_stat_statfs2_bsize = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property]) - fi -fi - -if test $space = no; then -# SVR3 - AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs4, - [AC_TRY_RUN([#include -#include - main () - { - struct statfs fsd; - exit (statfs (".", &fsd, sizeof fsd, 0)); - }], - fu_cv_sys_stat_statfs4=yes, - fu_cv_sys_stat_statfs4=no, - fu_cv_sys_stat_statfs4=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs4) - if test $fu_cv_sys_stat_statfs4 = yes; then - space=yes - AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments]) - fi -fi - -if test $space = no; then -# 4.4BSD and NetBSD - AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl -member (4.4BSD and NetBSD)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, - [AC_TRY_RUN([#include -#ifdef HAVE_SYS_PARAM_H -#include -#endif -#ifdef HAVE_SYS_MOUNT_H -#include -#endif - main () - { - struct statfs fsd; - fsd.f_fsize = 0; - exit (statfs (".", &fsd)); - }], - fu_cv_sys_stat_statfs2_fsize=yes, - fu_cv_sys_stat_statfs2_fsize=no, - fu_cv_sys_stat_statfs2_fsize=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) - if test $fu_cv_sys_stat_statfs2_fsize = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize]) - fi -fi - -if test $space = no; then - # Ultrix - AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) - AC_CACHE_VAL(fu_cv_sys_stat_fs_data, - [AC_TRY_RUN([#include -#ifdef HAVE_SYS_PARAM_H -#include -#endif -#ifdef HAVE_SYS_MOUNT_H -#include -#endif -#ifdef HAVE_SYS_FS_TYPES_H -#include -#endif - main () - { - struct fs_data fsd; - /* Ultrix's statfs returns 1 for success, - 0 for not mounted, -1 for failure. */ - exit (statfs (".", &fsd) != 1); - }], - fu_cv_sys_stat_fs_data=yes, - fu_cv_sys_stat_fs_data=no, - fu_cv_sys_stat_fs_data=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_fs_data) - if test $fu_cv_sys_stat_fs_data = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available]) - fi -fi - - statxfs_includes="\ -$ac_includes_default -#if HAVE_SYS_STATVFS_H -# include -#endif -#if HAVE_SYS_VFS_H -# include -#endif -#if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H -# if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H -/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */ -# include -# include -# elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H -/* Ultrix 4.4 needs these for the declaration of struct statfs. */ -# include -# include -# include -# endif -#endif -" - -AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes]) -AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes]) -AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes]) -AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes]) - -# -# Large file support -# -AC_SYS_LARGEFILE - -# -# mntent -# -AC_CHECK_HEADER(mntent.h, AC_DEFINE(HAVE_MNTENT_H)) -AC_CHECK_FUNCS(setmntent) - -# -# IPv6 -# -AC_ARG_WITH(ipv6, - [ --with-ipv6 enable IPv6-support], - [ - if test $withval != "no"; - then - AC_DEFINE(IPv6,1) - fi - ]) - - -# -# debugging -# -AC_ARG_WITH(debug, - [ --with-debug enable protocol debugging output], - [ - if test $withval != "no"; - then - AC_DEFINE(WITH_DEBUG,1) - fi - ]) - -AC_ARG_WITH(debug-kbd, - [ --with-debug-kbd enable debugging of keyboard handling], - [ - if test $withval != "no"; - then - AC_DEFINE(WITH_DEBUG_KBD,1) - fi - ]) - -AC_ARG_WITH(debug-rdp5, - [ --with-debug-rdp5 enable debugging of RDP5 code], - [ - if test $withval != "no"; - then - AC_DEFINE(WITH_DEBUG_RDP5,1) - fi - ]) - -AC_ARG_WITH(debug-clipboard, - [ --with-debug-clipboard enable debugging of clipboard code], - [ - if test $withval != "no"; - then - AC_DEFINE(WITH_DEBUG_CLIPBOARD,1) - fi - ]) - -AC_ARG_WITH(debug-channel, - [ --with-debug-channel enable debugging of virtual channel code], - [ - if test $withval != "no"; - then - AC_DEFINE(WITH_DEBUG_CHANNEL,1) - fi - ]) - - -# -# target-specific stuff -# -# strip leading colon from rpath -rpath=`echo $rpath |sed 's/^://'` -AC_CANONICAL_HOST -case "$host" in -*-*-solaris*) - LDFLAGS="$LDFLAGS -R$rpath" - ;; -*-dec-osf*) - LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath" - ;; -*-*-hpux*) - CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" - ;; -*-*-irix6.5*) - LIBS="$LIBS -L$ssldir/lib32 -lcrypto" - CFLAGS="$CFLAGS -D__SGI_IRIX__" - ;; -esac - - -AC_OUTPUT(Makefile) - -dnl Local Variables: -dnl comment-start: "dnl " -dnl comment-end: "" -dnl comment-start-skip: "\\bdnl\\b\\s *" -dnl compile-command: "autoconf" -dnl End: diff --git a/reactos/base/applications/tsclient/rdesktop/constants.h b/reactos/base/applications/tsclient/rdesktop/constants.h deleted file mode 100644 index fe940cca3c1..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/constants.h +++ /dev/null @@ -1,430 +0,0 @@ -/* - rdesktop: A Remote Desktop Protocol client. - Miscellaneous protocol constants - Copyright (C) Matthew Chapman 1999-2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* TCP port for Remote Desktop Protocol */ -#define TCP_PORT_RDP 3389 - -#define DEFAULT_CODEPAGE "UTF-8" -#define WINDOWS_CODEPAGE "UTF-16LE" - -/* ISO PDU codes */ -enum ISO_PDU_CODE -{ - ISO_PDU_CR = 0xE0, /* Connection Request */ - ISO_PDU_CC = 0xD0, /* Connection Confirm */ - ISO_PDU_DR = 0x80, /* Disconnect Request */ - ISO_PDU_DT = 0xF0, /* Data */ - ISO_PDU_ER = 0x70 /* Error */ -}; - -/* MCS PDU codes */ -enum MCS_PDU_TYPE -{ - MCS_EDRQ = 1, /* Erect Domain Request */ - MCS_DPUM = 8, /* Disconnect Provider Ultimatum */ - MCS_AURQ = 10, /* Attach User Request */ - MCS_AUCF = 11, /* Attach User Confirm */ - MCS_CJRQ = 14, /* Channel Join Request */ - MCS_CJCF = 15, /* Channel Join Confirm */ - MCS_SDRQ = 25, /* Send Data Request */ - MCS_SDIN = 26 /* Send Data Indication */ -}; - -#define MCS_CONNECT_INITIAL 0x7f65 -#define MCS_CONNECT_RESPONSE 0x7f66 - -#define BER_TAG_BOOLEAN 1 -#define BER_TAG_INTEGER 2 -#define BER_TAG_OCTET_STRING 4 -#define BER_TAG_RESULT 10 -#define MCS_TAG_DOMAIN_PARAMS 0x30 - -#define MCS_GLOBAL_CHANNEL 1003 -#define MCS_USERCHANNEL_BASE 1001 - -/* RDP secure transport constants */ -#define SEC_RANDOM_SIZE 32 -#define SEC_MODULUS_SIZE 64 -#define SEC_MAX_MODULUS_SIZE 256 -#define SEC_PADDING_SIZE 8 -#define SEC_EXPONENT_SIZE 4 - -#define SEC_CLIENT_RANDOM 0x0001 -#define SEC_ENCRYPT 0x0008 -#define SEC_LOGON_INFO 0x0040 -#define SEC_LICENCE_NEG 0x0080 -#define SEC_REDIRECT_ENCRYPT 0x0C00 - -#define SEC_TAG_SRV_INFO 0x0c01 -#define SEC_TAG_SRV_CRYPT 0x0c02 -#define SEC_TAG_SRV_CHANNELS 0x0c03 - -#define SEC_TAG_CLI_INFO 0xc001 -#define SEC_TAG_CLI_CRYPT 0xc002 -#define SEC_TAG_CLI_CHANNELS 0xc003 -#define SEC_TAG_CLI_4 0xc004 - -#define SEC_TAG_PUBKEY 0x0006 -#define SEC_TAG_KEYSIG 0x0008 - -#define SEC_RSA_MAGIC 0x31415352 /* RSA1 */ - -/* RDP licensing constants */ -#define LICENCE_TOKEN_SIZE 10 -#define LICENCE_HWID_SIZE 20 -#define LICENCE_SIGNATURE_SIZE 16 - -#define LICENCE_TAG_DEMAND 0x01 -#define LICENCE_TAG_AUTHREQ 0x02 -#define LICENCE_TAG_ISSUE 0x03 -#define LICENCE_TAG_REISSUE 0x04 -#define LICENCE_TAG_PRESENT 0x12 -#define LICENCE_TAG_REQUEST 0x13 -#define LICENCE_TAG_AUTHRESP 0x15 -#define LICENCE_TAG_RESULT 0xff - -#define LICENCE_TAG_USER 0x000f -#define LICENCE_TAG_HOST 0x0010 - -/* RDP PDU codes */ -enum RDP_PDU_TYPE -{ - RDP_PDU_DEMAND_ACTIVE = 1, - RDP_PDU_CONFIRM_ACTIVE = 3, - RDP_PDU_REDIRECT = 4, /* MS Server 2003 Session Redirect */ - RDP_PDU_DEACTIVATE = 6, - RDP_PDU_DATA = 7 -}; - -enum RDP_DATA_PDU_TYPE -{ - RDP_DATA_PDU_UPDATE = 2, - RDP_DATA_PDU_CONTROL = 20, - RDP_DATA_PDU_POINTER = 27, - RDP_DATA_PDU_INPUT = 28, - RDP_DATA_PDU_SYNCHRONISE = 31, - RDP_DATA_PDU_BELL = 34, - RDP_DATA_PDU_CLIENT_WINDOW_STATUS = 35, - RDP_DATA_PDU_LOGON = 38, - RDP_DATA_PDU_FONT2 = 39, - RDP_DATA_PDU_KEYBOARD_INDICATORS = 41, - RDP_DATA_PDU_DISCONNECT = 47 -}; - -enum RDP_CONTROL_PDU_TYPE -{ - RDP_CTL_REQUEST_CONTROL = 1, - RDP_CTL_GRANT_CONTROL = 2, - RDP_CTL_DETACH = 3, - RDP_CTL_COOPERATE = 4 -}; - -enum RDP_UPDATE_PDU_TYPE -{ - RDP_UPDATE_ORDERS = 0, - RDP_UPDATE_BITMAP = 1, - RDP_UPDATE_PALETTE = 2, - RDP_UPDATE_SYNCHRONIZE = 3 -}; - -enum RDP_POINTER_PDU_TYPE -{ - RDP_POINTER_SYSTEM = 1, - RDP_POINTER_MOVE = 3, - RDP_POINTER_COLOR = 6, - RDP_POINTER_CACHED = 7 -}; - -enum RDP_SYSTEM_POINTER_TYPE -{ - RDP_NULL_POINTER = 0, - RDP_DEFAULT_POINTER = 0x7F00 -}; - -enum RDP_INPUT_DEVICE -{ - RDP_INPUT_SYNCHRONIZE = 0, - RDP_INPUT_CODEPOINT = 1, - RDP_INPUT_VIRTKEY = 2, - RDP_INPUT_SCANCODE = 4, - RDP_INPUT_MOUSE = 0x8001 -}; - -/* Device flags */ -#define KBD_FLAG_RIGHT 0x0001 -#define KBD_FLAG_EXT 0x0100 -#define KBD_FLAG_QUIET 0x1000 -#define KBD_FLAG_DOWN 0x4000 -#define KBD_FLAG_UP 0x8000 - -/* These are for synchronization; not for keystrokes */ -#define KBD_FLAG_SCROLL 0x0001 -#define KBD_FLAG_NUMLOCK 0x0002 -#define KBD_FLAG_CAPITAL 0x0004 - -/* See T.128 */ -#define RDP_KEYPRESS 0 -#define RDP_KEYRELEASE (KBD_FLAG_DOWN | KBD_FLAG_UP) - -#define MOUSE_FLAG_MOVE 0x0800 -#define MOUSE_FLAG_BUTTON1 0x1000 -#define MOUSE_FLAG_BUTTON2 0x2000 -#define MOUSE_FLAG_BUTTON3 0x4000 -#define MOUSE_FLAG_BUTTON4 0x0280 -#define MOUSE_FLAG_BUTTON5 0x0380 -#define MOUSE_FLAG_DOWN 0x8000 - -/* Raster operation masks */ -#define ROP2_S(rop3) (rop3 & 0xf) -#define ROP2_P(rop3) ((rop3 & 0x3) | ((rop3 & 0x30) >> 2)) - -#define ROP2_COPY 0xc -#define ROP2_XOR 0x6 -#define ROP2_AND 0x8 -#define ROP2_NXOR 0x9 -#define ROP2_OR 0xe - -#define MIX_TRANSPARENT 0 -#define MIX_OPAQUE 1 - -#define TEXT2_VERTICAL 0x04 -#define TEXT2_IMPLICIT_X 0x20 - -#define ALTERNATE 1 -#define WINDING 2 - -/* RDP bitmap cache (version 2) constants */ -#define BMPCACHE2_C0_CELLS 0x78 -#define BMPCACHE2_C1_CELLS 0x78 -#define BMPCACHE2_C2_CELLS 0x150 -#define BMPCACHE2_NUM_PSTCELLS 0x9f6 - -#define PDU_FLAG_FIRST 0x01 -#define PDU_FLAG_LAST 0x02 - -/* RDP capabilities */ -#define RDP_CAPSET_GENERAL 1 /* Maps to generalCapabilitySet in T.128 page 138 */ -#define RDP_CAPLEN_GENERAL 0x18 -#define OS_MAJOR_TYPE_UNIX 4 -#define OS_MINOR_TYPE_XSERVER 7 - -#define RDP_CAPSET_BITMAP 2 -#define RDP_CAPLEN_BITMAP 0x1C - -#define RDP_CAPSET_ORDER 3 -#define RDP_CAPLEN_ORDER 0x58 -#define ORDER_CAP_NEGOTIATE 2 -#define ORDER_CAP_NOSUPPORT 4 - -#define RDP_CAPSET_BMPCACHE 4 -#define RDP_CAPLEN_BMPCACHE 0x28 - -#define RDP_CAPSET_CONTROL 5 -#define RDP_CAPLEN_CONTROL 0x0C - -#define RDP_CAPSET_ACTIVATE 7 -#define RDP_CAPLEN_ACTIVATE 0x0C - -#define RDP_CAPSET_POINTER 8 -#define RDP_CAPLEN_POINTER 0x08 - -#define RDP_CAPSET_SHARE 9 -#define RDP_CAPLEN_SHARE 0x08 - -#define RDP_CAPSET_COLCACHE 10 -#define RDP_CAPLEN_COLCACHE 0x08 - -#define RDP_CAPSET_BMPCACHE2 19 -#define RDP_CAPLEN_BMPCACHE2 0x28 -#define BMPCACHE2_FLAG_PERSIST ((uint32)1<<31) - -#define RDP_SOURCE "MSTSC" - -/* Logon flags */ -#define RDP_LOGON_AUTO 0x0008 -#define RDP_LOGON_NORMAL 0x0033 -#define RDP_LOGON_COMPRESSION 0x0080 /* mppc compression with 8kB histroy buffer */ -#define RDP_LOGON_BLOB 0x0100 -#define RDP_LOGON_COMPRESSION2 0x0200 /* rdp5 mppc compression with 64kB history buffer */ -#define RDP_LOGON_LEAVE_AUDIO 0x2000 - -#define RDP5_DISABLE_NOTHING 0x00 -#define RDP5_NO_WALLPAPER 0x01 -#define RDP5_NO_FULLWINDOWDRAG 0x02 -#define RDP5_NO_MENUANIMATIONS 0x04 -#define RDP5_NO_THEMING 0x08 -#define RDP5_NO_CURSOR_SHADOW 0x20 -#define RDP5_NO_CURSORSETTINGS 0x40 /* disables cursor blinking */ - -/* compression types */ -#define RDP_MPPC_BIG 0x01 -#define RDP_MPPC_COMPRESSED 0x20 -#define RDP_MPPC_RESET 0x40 -#define RDP_MPPC_FLUSH 0x80 -#define RDP_MPPC_DICT_SIZE 65536 - -#define RDP5_COMPRESSED 0x80 - -/* Keymap flags */ -#define MapRightShiftMask (1<<0) -#define MapLeftShiftMask (1<<1) -#define MapShiftMask (MapRightShiftMask | MapLeftShiftMask) - -#define MapRightAltMask (1<<2) -#define MapLeftAltMask (1<<3) -#define MapAltGrMask MapRightAltMask - -#define MapRightCtrlMask (1<<4) -#define MapLeftCtrlMask (1<<5) -#define MapCtrlMask (MapRightCtrlMask | MapLeftCtrlMask) - -#define MapRightWinMask (1<<6) -#define MapLeftWinMask (1<<7) -#define MapWinMask (MapRightWinMask | MapLeftWinMask) - -#define MapNumLockMask (1<<8) -#define MapCapsLockMask (1<<9) - -#define MapLocalStateMask (1<<10) - -#define MapInhibitMask (1<<11) - -#define MASK_ADD_BITS(var, mask) (var |= mask) -#define MASK_REMOVE_BITS(var, mask) (var &= ~mask) -#define MASK_HAS_BITS(var, mask) ((var & mask)>0) -#define MASK_CHANGE_BIT(var, mask, active) (var = ((var & ~mask) | (active ? mask : 0))) - -/* Clipboard constants, "borrowed" from GCC system headers in - the w32 cross compiler */ - -#if 0 -#define CF_TEXT 1 -#define CF_BITMAP 2 -#define CF_METAFILEPICT 3 -#define CF_SYLK 4 -#define CF_DIF 5 -#define CF_TIFF 6 -#define CF_OEMTEXT 7 -#define CF_DIB 8 -#define CF_PALETTE 9 -#define CF_PENDATA 10 -#define CF_RIFF 11 -#define CF_WAVE 12 -#define CF_UNICODETEXT 13 -#define CF_ENHMETAFILE 14 -#define CF_HDROP 15 -#define CF_LOCALE 16 -#define CF_MAX 17 -#define CF_OWNERDISPLAY 128 -#define CF_DSPTEXT 129 -#define CF_DSPBITMAP 130 -#define CF_DSPMETAFILEPICT 131 -#define CF_DSPENHMETAFILE 142 -#define CF_PRIVATEFIRST 512 -#define CF_PRIVATELAST 767 -#define CF_GDIOBJFIRST 768 -#define CF_GDIOBJLAST 1023 - -/* Sound format constants */ -#define WAVE_FORMAT_PCM 1 -#define WAVE_FORMAT_ADPCM 2 -#define WAVE_FORMAT_ALAW 6 -#define WAVE_FORMAT_MULAW 7 - -/* Virtual channel options */ -#define CHANNEL_OPTION_INITIALIZED 0x80000000 -#define CHANNEL_OPTION_ENCRYPT_RDP 0x40000000 -#define CHANNEL_OPTION_COMPRESS_RDP 0x00800000 -#define CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000 - -/* NT status codes for RDPDR */ -#define STATUS_SUCCESS 0x00000000 -#define STATUS_NOT_IMPLEMENTED 0x00000001 -#define STATUS_PENDING 0x00000103 - -#define STATUS_NO_MORE_FILES 0x80000006 -#define STATUS_DEVICE_PAPER_EMPTY 0x8000000e -#define STATUS_DEVICE_POWERED_OFF 0x8000000f -#define STATUS_DEVICE_OFF_LINE 0x80000010 -#define STATUS_DEVICE_BUSY 0x80000011 - -#define STATUS_INVALID_HANDLE 0xc0000008 -#define STATUS_INVALID_PARAMETER 0xc000000d -#define STATUS_NO_SUCH_FILE 0xc000000f -#define STATUS_INVALID_DEVICE_REQUEST 0xc0000010 -#define STATUS_ACCESS_DENIED 0xc0000022 -#define STATUS_OBJECT_NAME_COLLISION 0xc0000035 -#define STATUS_DISK_FULL 0xc000007f -#define STATUS_FILE_IS_A_DIRECTORY 0xc00000ba -#define STATUS_NOT_SUPPORTED 0xc00000bb -#define STATUS_TIMEOUT 0xc0000102 -#define STATUS_NOTIFY_ENUM_DIR 0xc000010c -#define STATUS_CANCELLED 0xc0000120 - -/* RDPDR constants */ -#define RDPDR_MAX_DEVICES 0x10 -#define DEVICE_TYPE_SERIAL 0x01 -#define DEVICE_TYPE_PARALLEL 0x02 -#define DEVICE_TYPE_PRINTER 0x04 -#define DEVICE_TYPE_DISK 0x08 -#define DEVICE_TYPE_SCARD 0x20 - -#define FILE_DIRECTORY_FILE 0x00000001 -#define FILE_NON_DIRECTORY_FILE 0x00000040 -#define FILE_COMPLETE_IF_OPLOCKED 0x00000100 -#define FILE_DELETE_ON_CLOSE 0x00001000 -#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 - -/* RDP5 disconnect PDU */ -#define exDiscReasonNoInfo 0x0000 -#define exDiscReasonAPIInitiatedDisconnect 0x0001 -#define exDiscReasonAPIInitiatedLogoff 0x0002 -#define exDiscReasonServerIdleTimeout 0x0003 -#define exDiscReasonServerLogonTimeout 0x0004 -#define exDiscReasonReplacedByOtherConnection 0x0005 -#define exDiscReasonOutOfMemory 0x0006 -#define exDiscReasonServerDeniedConnection 0x0007 -#define exDiscReasonServerDeniedConnectionFips 0x0008 -#define exDiscReasonLicenseInternal 0x0100 -#define exDiscReasonLicenseNoLicenseServer 0x0101 -#define exDiscReasonLicenseNoLicense 0x0102 -#define exDiscReasonLicenseErrClientMsg 0x0103 -#define exDiscReasonLicenseHwidDoesntMatchLicense 0x0104 -#define exDiscReasonLicenseErrClientLicense 0x0105 -#define exDiscReasonLicenseCantFinishProtocol 0x0106 -#define exDiscReasonLicenseClientEndedProtocol 0x0107 -#define exDiscReasonLicenseErrClientEncryption 0x0108 -#define exDiscReasonLicenseCantUpgradeLicense 0x0109 -#define exDiscReasonLicenseNoRemoteConnections 0x010a -#endif - -#if 0 -/* SeamlessRDP constants */ -#define SEAMLESSRDP_NOTYETMAPPED -1 -#define SEAMLESSRDP_NORMAL 0 -#define SEAMLESSRDP_MINIMIZED 1 -#define SEAMLESSRDP_MAXIMIZED 2 -#define SEAMLESSRDP_POSITION_TIMER 200000 - -#define SEAMLESSRDP_CREATE_MODAL 0x0001 - -#define SEAMLESSRDP_HELLO_RECONNECT 0x0001 -#define SEAMLESSRDP_HELLO_HIDDEN 0x0002 -#endif diff --git a/reactos/base/applications/tsclient/rdesktop/disk.c b/reactos/base/applications/tsclient/rdesktop/disk.c deleted file mode 100644 index 22f4114291e..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/disk.c +++ /dev/null @@ -1,1246 +0,0 @@ -/* -*- c-basic-offset: 8 -*- - rdesktop: A Remote Desktop Protocol client. - Disk Redirection - Copyright (C) Jeroen Meijer 2003 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "disk.h" - -#include -#include -#include -#include /* open, close */ -#include /* opendir, closedir, readdir */ -#include -#include /* errno */ -#include - -#include -#include /* ctime */ - -#if (defined(HAVE_DIRFD) || (HAVE_DECL_DIRFD == 1)) -#define DIRFD(a) (dirfd(a)) -#else -#define DIRFD(a) ((a)->DIR_FD_MEMBER_NAME) -#endif - -/* TODO: Fix mntent-handling for solaris - * #include */ -#if (defined(HAVE_MNTENT_H) && defined(HAVE_SETMNTENT)) -#include -#define MNTENT_PATH "/etc/mtab" -#define USE_SETMNTENT -#endif - -#ifdef HAVE_SYS_VFS_H -#include -#endif - -#ifdef HAVE_SYS_STATVFS_H -#include -#endif - -#ifdef HAVE_SYS_STATFS_H -#include -#endif - -#ifdef HAVE_SYS_PARAM_H -#include -#endif - -#ifdef HAVE_SYS_MOUNT_H -#include -#endif - -#include "rdesktop.h" - -#ifdef STAT_STATFS3_OSF1 -#define STATFS_FN(path, buf) (statfs(path,buf,sizeof(buf))) -#define STATFS_T statfs -#define USE_STATFS -#endif - -#ifdef STAT_STATVFS -#define STATFS_FN(path, buf) (statvfs(path,buf)) -#define STATFS_T statvfs -#define USE_STATVFS -#endif - -#ifdef STAT_STATVFS64 -#define STATFS_FN(path, buf) (statvfs64(path,buf)) -#define STATFS_T statvfs64 -#define USE_STATVFS -#endif - -#if (defined(STAT_STATFS2_FS_DATA) || defined(STAT_STATFS2_BSIZE) || defined(STAT_STATFS2_FSIZE)) -#define STATFS_FN(path, buf) (statfs(path,buf)) -#define STATFS_T statfs -#define USE_STATFS -#endif - -#ifdef STAT_STATFS4 -#define STATFS_FN(path, buf) (statfs(path,buf,sizeof(buf),0)) -#define STATFS_T statfs -#define USE_STATFS -#endif - -#if ((defined(USE_STATFS) && defined(HAVE_STRUCT_STATFS_F_NAMEMAX)) || (defined(USE_STATVFS) && defined(HAVE_STRUCT_STATVFS_F_NAMEMAX))) -#define F_NAMELEN(buf) ((buf).f_namemax) -#endif - -#if ((defined(USE_STATFS) && defined(HAVE_STRUCT_STATFS_F_NAMELEN)) || (defined(USE_STATVFS) && defined(HAVE_STRUCT_STATVFS_F_NAMELEN))) -#define F_NAMELEN(buf) ((buf).f_namelen) -#endif - -#ifndef F_NAMELEN -#define F_NAMELEN(buf) (255) -#endif - -/* Dummy statfs fallback */ -#ifndef STATFS_T -struct dummy_statfs_t -{ - long f_bfree; - long f_bsize; - long f_blocks; - int f_namelen; - int f_namemax; -}; - -static int -dummy_statfs(struct dummy_statfs_t *buf) -{ - buf->f_blocks = 262144; - buf->f_bfree = 131072; - buf->f_bsize = 512; - buf->f_namelen = 255; - buf->f_namemax = 255; - - return 0; -} - -#define STATFS_T dummy_statfs_t -#define STATFS_FN(path,buf) (dummy_statfs(buf)) -#endif - -typedef struct -{ - char name[PATH_MAX]; - char label[PATH_MAX]; - unsigned long serial; - char type[PATH_MAX]; -} FsInfoType; - -static NTSTATUS NotifyInfo(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, NOTIFY * p); - -static time_t -get_create_time(struct stat *st) -{ - time_t ret, ret1; - - ret = MIN(st->st_ctime, st->st_mtime); - ret1 = MIN(ret, st->st_atime); - - if (ret1 != (time_t) 0) - return ret1; - - return ret; -} - -/* Convert seconds since 1970 to a filetime */ -static void -seconds_since_1970_to_filetime(time_t seconds, uint32 * high, uint32 * low) -{ - unsigned long long ticks; - - ticks = (seconds + 11644473600LL) * 10000000; - *low = (uint32) ticks; - *high = (uint32) (ticks >> 32); -} - -/* Convert seconds since 1970 back to filetime */ -static time_t -convert_1970_to_filetime(uint32 high, uint32 low) -{ - unsigned long long ticks; - time_t val; - - ticks = low + (((unsigned long long) high) << 32); - ticks /= 10000000; - ticks -= 11644473600LL; - - val = (time_t) ticks; - return (val); - -} - -/* A wrapper for ftruncate which supports growing files, even if the - native ftruncate doesn't. This is needed on Linux FAT filesystems, - for example. */ -static int -ftruncate_growable(int fd, off_t length) -{ - int ret; - off_t pos; - static const char zero = 0; - - /* Try the simple method first */ - if ((ret = ftruncate(fd, length)) != -1) - { - return ret; - } - - /* - * Some kind of error. Perhaps we were trying to grow. Retry - * in a safe way. - */ - - /* Get current position */ - if ((pos = lseek(fd, 0, SEEK_CUR)) == -1) - { - perror("lseek"); - return -1; - } - - /* Seek to new size */ - if (lseek(fd, length, SEEK_SET) == -1) - { - perror("lseek"); - return -1; - } - - /* Write a zero */ - if (write(fd, &zero, 1) == -1) - { - perror("write"); - return -1; - } - - /* Truncate. This shouldn't fail. */ - if (ftruncate(fd, length) == -1) - { - perror("ftruncate"); - return -1; - } - - /* Restore position */ - if (lseek(fd, pos, SEEK_SET) == -1) - { - perror("lseek"); - return -1; - } - - return 0; -} - -/* Just like open(2), but if a open with O_EXCL fails, retry with - GUARDED semantics. This might be necessary because some filesystems - (such as NFS filesystems mounted from a unfsd server) doesn't - support O_EXCL. GUARDED semantics are subject to race conditions, - but we can live with that. -*/ -static int -open_weak_exclusive(const char *pathname, int flags, mode_t mode) -{ - int ret; - struct stat statbuf; - - ret = open(pathname, flags, mode); - if (ret != -1 || !(flags & O_EXCL)) - { - /* Success, or not using O_EXCL */ - return ret; - } - - /* An error occured, and we are using O_EXCL. In case the FS - doesn't support O_EXCL, some kind of error will be - returned. Unfortunately, we don't know which one. Linux - 2.6.8 seems to return 524, but I cannot find a documented - #define for this case. So, we'll return only on errors that - we know aren't related to O_EXCL. */ - switch (errno) - { - case EACCES: - case EEXIST: - case EINTR: - case EISDIR: - case ELOOP: - case ENAMETOOLONG: - case ENOENT: - case ENOTDIR: - return ret; - } - - /* Retry with GUARDED semantics */ - if (stat(pathname, &statbuf) != -1) - { - /* File exists */ - errno = EEXIST; - return -1; - } - else - { - return open(pathname, flags & ~O_EXCL, mode); - } -} - -/* Enumeration of devices from rdesktop.c */ -/* returns numer of units found and initialized. */ -/* optarg looks like ':h=/mnt/floppy,b=/mnt/usbdevice1' */ -/* when it arrives to this function. */ -int -disk_enum_devices(RDPCLIENT * This, uint32 * id, char *optarg) -{ - char *pos = optarg; - char *pos2; - int count = 0; - - /* skip the first colon */ - optarg++; - while ((pos = next_arg(optarg, ',')) && *id < RDPDR_MAX_DEVICES) - { - pos2 = next_arg(optarg, '='); - - strncpy(This->rdpdr_device[*id].name, optarg, sizeof(This->rdpdr_device[*id].name) - 1); - if (strlen(optarg) > (sizeof(This->rdpdr_device[*id].name) - 1)) - fprintf(stderr, "share name %s truncated to %s\n", optarg, - This->rdpdr_device[*id].name); - - This->rdpdr_device[*id].local_path = (char *) xmalloc(strlen(pos2) + 1); - strcpy(This->rdpdr_device[*id].local_path, pos2); - This->rdpdr_device[*id].device_type = DEVICE_TYPE_DISK; - count++; - (*id)++; - - optarg = pos; - } - return count; -} - -/* Opens or creates a file or directory */ -static NTSTATUS -disk_create(RDPCLIENT * This, uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create_disposition, - uint32 flags_and_attributes, char *filename, NTHANDLE * phandle) -{ - NTHANDLE handle; - DIR *dirp; - int flags, mode; - char path[PATH_MAX]; - struct stat filestat; - - handle = 0; - dirp = NULL; - flags = 0; - mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; - - if (*filename && filename[strlen(filename) - 1] == '/') - filename[strlen(filename) - 1] = 0; - sprintf(path, "%s%s", This->rdpdr_device[device_id].local_path, filename); - - switch (create_disposition) - { - case CREATE_ALWAYS: - - /* Delete existing file/link. */ - unlink(path); - flags |= O_CREAT; - break; - - case CREATE_NEW: - - /* If the file already exists, then fail. */ - flags |= O_CREAT | O_EXCL; - break; - - case OPEN_ALWAYS: - - /* Create if not already exists. */ - flags |= O_CREAT; - break; - - case OPEN_EXISTING: - - /* Default behaviour */ - break; - - case TRUNCATE_EXISTING: - - /* If the file does not exist, then fail. */ - flags |= O_TRUNC; - break; - } - - /*printf("Open: \"%s\" flags: %X, accessmask: %X sharemode: %X create disp: %X\n", path, flags_and_attributes, accessmask, sharemode, create_disposition); */ - - /* Get information about file and set that flag ourselfs */ - if ((stat(path, &filestat) == 0) && (S_ISDIR(filestat.st_mode))) - { - if (flags_and_attributes & FILE_NON_DIRECTORY_FILE) - return STATUS_FILE_IS_A_DIRECTORY; - else - flags_and_attributes |= FILE_DIRECTORY_FILE; - } - - if (flags_and_attributes & FILE_DIRECTORY_FILE) - { - if (flags & O_CREAT) - { - mkdir(path, mode); - } - - dirp = opendir(path); - if (!dirp) - { - switch (errno) - { - case EACCES: - - return STATUS_ACCESS_DENIED; - - case ENOENT: - - return STATUS_NO_SUCH_FILE; - - default: - - perror("opendir"); - return STATUS_NO_SUCH_FILE; - } - } - handle = DIRFD(dirp); - } - else - { - - if (accessmask & GENERIC_ALL - || (accessmask & GENERIC_READ && accessmask & GENERIC_WRITE)) - { - flags |= O_RDWR; - } - else if ((accessmask & GENERIC_WRITE) && !(accessmask & GENERIC_READ)) - { - flags |= O_WRONLY; - } - else - { - flags |= O_RDONLY; - } - - handle = open_weak_exclusive(path, flags, mode); - if (handle == -1) - { - switch (errno) - { - case EISDIR: - - return STATUS_FILE_IS_A_DIRECTORY; - - case EACCES: - - return STATUS_ACCESS_DENIED; - - case ENOENT: - - return STATUS_NO_SUCH_FILE; - case EEXIST: - - return STATUS_OBJECT_NAME_COLLISION; - default: - - perror("open"); - return STATUS_NO_SUCH_FILE; - } - } - - /* all read and writes of files should be non blocking */ - if (fcntl(handle, F_SETFL, O_NONBLOCK) == -1) - perror("fcntl"); - } - - if (handle >= MAX_OPEN_FILES) - { - error("Maximum number of open files (%s) reached. Increase MAX_OPEN_FILES!\n", - handle); - exit(1); - } - - if (dirp) - This->fileinfo[handle].pdir = dirp; - else - This->fileinfo[handle].pdir = NULL; - - This->fileinfo[handle].device_id = device_id; - This->fileinfo[handle].flags_and_attributes = flags_and_attributes; - This->fileinfo[handle].accessmask = accessmask; - strncpy(This->fileinfo[handle].path, path, PATH_MAX - 1); - This->fileinfo[handle].delete_on_close = False; - This->notify_stamp = True; - - *phandle = handle; - return STATUS_SUCCESS; -} - -static NTSTATUS -disk_close(RDPCLIENT * This, NTHANDLE handle) -{ - struct fileinfo *pfinfo; - - pfinfo = &(This->fileinfo[handle]); - - This->notify_stamp = True; - - rdpdr_abort_io(This, handle, 0, STATUS_CANCELLED); - - if (pfinfo->pdir) - { - if (closedir(pfinfo->pdir) < 0) - { - perror("closedir"); - return STATUS_INVALID_HANDLE; - } - - if (pfinfo->delete_on_close) - if (rmdir(pfinfo->path) < 0) - { - perror(pfinfo->path); - return STATUS_ACCESS_DENIED; - } - pfinfo->delete_on_close = False; - } - else - { - if (close(handle) < 0) - { - perror("close"); - return STATUS_INVALID_HANDLE; - } - if (pfinfo->delete_on_close) - if (unlink(pfinfo->path) < 0) - { - perror(pfinfo->path); - return STATUS_ACCESS_DENIED; - } - - pfinfo->delete_on_close = False; - } - - return STATUS_SUCCESS; -} - -static NTSTATUS -disk_read(RDPCLIENT * This, NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) -{ - int n; - -#if 0 - /* browsing dir ???? */ - /* each request is 24 bytes */ - if (This->fileinfo[handle].flags_and_attributes & FILE_DIRECTORY_FILE) - { - *result = 0; - return STATUS_SUCCESS; - } -#endif - - lseek(handle, offset, SEEK_SET); - - n = read(handle, data, length); - - if (n < 0) - { - *result = 0; - switch (errno) - { - case EISDIR: - /* Implement 24 Byte directory read ?? - with STATUS_NOT_IMPLEMENTED server doesn't read again */ - /* return STATUS_FILE_IS_A_DIRECTORY; */ - return STATUS_NOT_IMPLEMENTED; - default: - perror("read"); - return STATUS_INVALID_PARAMETER; - } - } - - *result = n; - - return STATUS_SUCCESS; -} - -static NTSTATUS -disk_write(RDPCLIENT * This, NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) -{ - int n; - - lseek(handle, offset, SEEK_SET); - - n = write(handle, data, length); - - if (n < 0) - { - perror("write"); - *result = 0; - switch (errno) - { - case ENOSPC: - return STATUS_DISK_FULL; - default: - return STATUS_ACCESS_DENIED; - } - } - - *result = n; - - return STATUS_SUCCESS; -} - -NTSTATUS -disk_query_information(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, STREAM out) -{ - uint32 file_attributes, ft_high, ft_low; - struct stat filestat; - char *path, *filename; - - path = This->fileinfo[handle].path; - - /* Get information about file */ - if (fstat(handle, &filestat) != 0) - { - perror("stat"); - out_uint8(out, 0); - return STATUS_ACCESS_DENIED; - } - - /* Set file attributes */ - file_attributes = 0; - if (S_ISDIR(filestat.st_mode)) - file_attributes |= FILE_ATTRIBUTE_DIRECTORY; - - filename = 1 + strrchr(path, '/'); - if (filename && filename[0] == '.') - file_attributes |= FILE_ATTRIBUTE_HIDDEN; - - if (!file_attributes) - file_attributes |= FILE_ATTRIBUTE_NORMAL; - - if (!(filestat.st_mode & S_IWUSR)) - file_attributes |= FILE_ATTRIBUTE_READONLY; - - /* Return requested data */ - switch (info_class) - { - case FileBasicInformation: - seconds_since_1970_to_filetime(get_create_time(&filestat), &ft_high, - &ft_low); - out_uint32_le(out, ft_low); /* create_access_time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(filestat.st_atime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* last_access_time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(filestat.st_mtime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* last_write_time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(filestat.st_ctime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* last_change_time */ - out_uint32_le(out, ft_high); - - out_uint32_le(out, file_attributes); - break; - - case FileStandardInformation: - - out_uint32_le(out, filestat.st_size); /* Allocation size */ - out_uint32_le(out, 0); - out_uint32_le(out, filestat.st_size); /* End of file */ - out_uint32_le(out, 0); - out_uint32_le(out, filestat.st_nlink); /* Number of links */ - out_uint8(out, 0); /* Delete pending */ - out_uint8(out, S_ISDIR(filestat.st_mode) ? 1 : 0); /* Directory */ - break; - - case FileObjectIdInformation: - - out_uint32_le(out, file_attributes); /* File Attributes */ - out_uint32_le(out, 0); /* Reparse Tag */ - break; - - default: - - unimpl("IRP Query (File) Information class: 0x%x\n", info_class); - return STATUS_INVALID_PARAMETER; - } - return STATUS_SUCCESS; -} - -NTSTATUS -disk_set_information(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, STREAM in, STREAM out) -{ - uint32 length, file_attributes, ft_high, ft_low, delete_on_close; - char newname[PATH_MAX], fullpath[PATH_MAX]; - struct fileinfo *pfinfo; - int mode; - struct stat filestat; - time_t write_time, change_time, access_time, mod_time; - struct utimbuf tvs; - struct STATFS_T stat_fs; - - pfinfo = &(This->fileinfo[handle]); - This->notify_stamp = True; - - switch (info_class) - { - case FileBasicInformation: - write_time = change_time = access_time = 0; - - in_uint8s(in, 4); /* Handle of root dir? */ - in_uint8s(in, 24); /* unknown */ - - /* CreationTime */ - in_uint32_le(in, ft_low); - in_uint32_le(in, ft_high); - - /* AccessTime */ - in_uint32_le(in, ft_low); - in_uint32_le(in, ft_high); - if (ft_low || ft_high) - access_time = convert_1970_to_filetime(ft_high, ft_low); - - /* WriteTime */ - in_uint32_le(in, ft_low); - in_uint32_le(in, ft_high); - if (ft_low || ft_high) - write_time = convert_1970_to_filetime(ft_high, ft_low); - - /* ChangeTime */ - in_uint32_le(in, ft_low); - in_uint32_le(in, ft_high); - if (ft_low || ft_high) - change_time = convert_1970_to_filetime(ft_high, ft_low); - - in_uint32_le(in, file_attributes); - - if (fstat(handle, &filestat)) - return STATUS_ACCESS_DENIED; - - tvs.modtime = filestat.st_mtime; - tvs.actime = filestat.st_atime; - if (access_time) - tvs.actime = access_time; - - - if (write_time || change_time) - mod_time = MIN(write_time, change_time); - else - mod_time = write_time ? write_time : change_time; - - if (mod_time) - tvs.modtime = mod_time; - - - if (access_time || write_time || change_time) - { -#if WITH_DEBUG_RDP5 - printf("FileBasicInformation access time %s", - ctime(&tvs.actime)); - printf("FileBasicInformation modification time %s", - ctime(&tvs.modtime)); -#endif - if (utime(pfinfo->path, &tvs) && errno != EPERM) - return STATUS_ACCESS_DENIED; - } - - if (!file_attributes) - break; /* not valid */ - - mode = filestat.st_mode; - - if (file_attributes & FILE_ATTRIBUTE_READONLY) - mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH); - else - mode |= S_IWUSR; - - mode &= 0777; -#if WITH_DEBUG_RDP5 - printf("FileBasicInformation set access mode 0%o", mode); -#endif - - if (fchmod(handle, mode)) - return STATUS_ACCESS_DENIED; - - break; - - case FileRenameInformation: - - in_uint8s(in, 4); /* Handle of root dir? */ - in_uint8s(in, 0x1a); /* unknown */ - in_uint32_le(in, length); - - if (length && (length / 2) < 256) - { - rdp_in_unistr(This, in, newname, length); - convert_to_unix_filename(newname); - } - else - { - return STATUS_INVALID_PARAMETER; - } - - sprintf(fullpath, "%s%s", This->rdpdr_device[pfinfo->device_id].local_path, - newname); - - if (rename(pfinfo->path, fullpath) != 0) - { - perror("rename"); - return STATUS_ACCESS_DENIED; - } - break; - - case FileDispositionInformation: - /* As far as I understand it, the correct - thing to do here is to *schedule* a delete, - so it will be deleted when the file is - closed. Subsequent - FileDispositionInformation requests with - DeleteFile set to FALSE should unschedule - the delete. See - http://www.osronline.com/article.cfm?article=245. */ - - in_uint32_le(in, delete_on_close); - - if (delete_on_close || - (pfinfo-> - accessmask & (FILE_DELETE_ON_CLOSE | FILE_COMPLETE_IF_OPLOCKED))) - { - pfinfo->delete_on_close = True; - } - - break; - - case FileAllocationInformation: - /* Fall through to FileEndOfFileInformation, - which uses ftrunc. This is like Samba with - "strict allocation = false", and means that - we won't detect out-of-quota errors, for - example. */ - - case FileEndOfFileInformation: - in_uint8s(in, 28); /* unknown */ - in_uint32_le(in, length); /* file size */ - - /* prevents start of writing if not enough space left on device */ - if (STATFS_FN(This->rdpdr_device[pfinfo->device_id].local_path, &stat_fs) == 0) - if (stat_fs.f_bfree * stat_fs.f_bsize < length) - return STATUS_DISK_FULL; - - if (ftruncate_growable(handle, length) != 0) - { - return STATUS_DISK_FULL; - } - - break; - default: - - unimpl("IRP Set File Information class: 0x%x\n", info_class); - return STATUS_INVALID_PARAMETER; - } - return STATUS_SUCCESS; -} - -NTSTATUS -disk_check_notify(RDPCLIENT * This, NTHANDLE handle) -{ - struct fileinfo *pfinfo; - NTSTATUS status = STATUS_PENDING; - - NOTIFY notify; - - pfinfo = &(This->fileinfo[handle]); - if (!pfinfo->pdir) - return STATUS_INVALID_DEVICE_REQUEST; - - - - status = NotifyInfo(This, handle, pfinfo->info_class, ¬ify); - - if (status != STATUS_PENDING) - return status; - - if (memcmp(&pfinfo->notify, ¬ify, sizeof(NOTIFY))) - { - /*printf("disk_check_notify found changed event\n"); */ - memcpy(&pfinfo->notify, ¬ify, sizeof(NOTIFY)); - status = STATUS_NOTIFY_ENUM_DIR; - } - - return status; - - -} - -NTSTATUS -disk_create_notify(RDPCLIENT * This, NTHANDLE handle, uint32 info_class) -{ - - struct fileinfo *pfinfo; - NTSTATUS ret = STATUS_PENDING; - - /* printf("start disk_create_notify info_class %X\n", info_class); */ - - pfinfo = &(This->fileinfo[handle]); - pfinfo->info_class = info_class; - - ret = NotifyInfo(This, handle, info_class, &pfinfo->notify); - - if (info_class & 0x1000) - { /* ???? */ - if (ret == STATUS_PENDING) - return STATUS_SUCCESS; - } - - /* printf("disk_create_notify: num_entries %d\n", pfinfo->notify.num_entries); */ - - - return ret; - -} - -static NTSTATUS -NotifyInfo(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, NOTIFY * p) -{ - struct fileinfo *pfinfo; - struct stat buf; - struct dirent *dp; - char *fullname; - DIR *dpr; - - pfinfo = &(This->fileinfo[handle]); - if (fstat(handle, &buf) < 0) - { - perror("NotifyInfo"); - return STATUS_ACCESS_DENIED; - } - p->modify_time = buf.st_mtime; - p->status_time = buf.st_ctime; - p->num_entries = 0; - p->total_time = 0; - - - dpr = opendir(pfinfo->path); - if (!dpr) - { - perror("NotifyInfo"); - return STATUS_ACCESS_DENIED; - } - - - while ((dp = readdir(dpr))) - { - if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, "..")) - continue; - p->num_entries++; - fullname = (char *) xmalloc(strlen(pfinfo->path) + strlen(dp->d_name) + 2); - sprintf(fullname, "%s/%s", pfinfo->path, dp->d_name); - - if (!stat(fullname, &buf)) - { - p->total_time += (buf.st_mtime + buf.st_ctime); - } - - xfree(fullname); - } - closedir(dpr); - - return STATUS_PENDING; -} - -static FsInfoType * -FsVolumeInfo(char *fpath) -{ - - static FsInfoType info; -#ifdef USE_SETMNTENT - FILE *fdfs; - struct mntent *e; -#endif - - /* initialize */ - memset(&info, 0, sizeof(info)); - strcpy(info.label, "RDESKTOP"); - strcpy(info.type, "RDPFS"); - -#ifdef USE_SETMNTENT - fdfs = setmntent(MNTENT_PATH, "r"); - if (!fdfs) - return &info; - - while ((e = getmntent(fdfs))) - { - if (str_startswith(e->mnt_dir, fpath)) - { - strcpy(info.type, e->mnt_type); - strcpy(info.name, e->mnt_fsname); - if (strstr(e->mnt_opts, "vfat") || strstr(e->mnt_opts, "iso9660")) - { - int fd = open(e->mnt_fsname, O_RDONLY); - if (fd >= 0) - { - unsigned char buf[512]; - memset(buf, 0, sizeof(buf)); - if (strstr(e->mnt_opts, "vfat")) - /*FAT*/ - { - strcpy(info.type, "vfat"); - read(fd, buf, sizeof(buf)); - info.serial = - (buf[42] << 24) + (buf[41] << 16) + - (buf[40] << 8) + buf[39]; - strncpy(info.label, buf + 43, 10); - info.label[10] = '\0'; - } - else if (lseek(fd, 32767, SEEK_SET) >= 0) /* ISO9660 */ - { - read(fd, buf, sizeof(buf)); - strncpy(info.label, buf + 41, 32); - info.label[32] = '\0'; - /* info.Serial = (buf[128]<<24)+(buf[127]<<16)+(buf[126]<<8)+buf[125]; */ - } - close(fd); - } - } - } - } - endmntent(fdfs); -#else - /* initialize */ - memset(&info, 0, sizeof(info)); - strcpy(info.label, "RDESKTOP"); - strcpy(info.type, "RDPFS"); - -#endif - return &info; -} - - -NTSTATUS -disk_query_volume_information(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, STREAM out) -{ - struct STATFS_T stat_fs; - struct fileinfo *pfinfo; - FsInfoType *fsinfo; - - pfinfo = &(This->fileinfo[handle]); - - if (STATFS_FN(pfinfo->path, &stat_fs) != 0) - { - perror("statfs"); - return STATUS_ACCESS_DENIED; - } - - fsinfo = FsVolumeInfo(pfinfo->path); - - switch (info_class) - { - case FileFsVolumeInformation: - - out_uint32_le(out, 0); /* volume creation time low */ - out_uint32_le(out, 0); /* volume creation time high */ - out_uint32_le(out, fsinfo->serial); /* serial */ - - out_uint32_le(out, 2 * strlen(fsinfo->label)); /* length of string */ - - out_uint8(out, 0); /* support objects? */ - rdp_out_unistr(This, out, fsinfo->label, 2 * strlen(fsinfo->label) - 2); - break; - - case FileFsSizeInformation: - - out_uint32_le(out, stat_fs.f_blocks); /* Total allocation units low */ - out_uint32_le(out, 0); /* Total allocation high units */ - out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */ - out_uint32_le(out, 0); /* Available allowcation units */ - out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */ - out_uint32_le(out, 0x200); /* Bytes per sector */ - break; - - case FileFsAttributeInformation: - - out_uint32_le(out, FS_CASE_SENSITIVE | FS_CASE_IS_PRESERVED); /* fs attributes */ - out_uint32_le(out, F_NAMELEN(stat_fs)); /* max length of filename */ - - out_uint32_le(out, 2 * strlen(fsinfo->type)); /* length of fs_type */ - rdp_out_unistr(This, out, fsinfo->type, 2 * strlen(fsinfo->type) - 2); - break; - - case FileFsLabelInformation: - case FileFsDeviceInformation: - case FileFsControlInformation: - case FileFsFullSizeInformation: - case FileFsObjectIdInformation: - case FileFsMaximumInformation: - - default: - - unimpl("IRP Query Volume Information class: 0x%x\n", info_class); - return STATUS_INVALID_PARAMETER; - } - return STATUS_SUCCESS; -} - -NTSTATUS -disk_query_directory(RDPCLIENT * This, NTHANDLE handle, uint32 info_class, char *pattern, STREAM out) -{ - uint32 file_attributes, ft_low, ft_high; - char *dirname, fullpath[PATH_MAX]; - DIR *pdir; - struct dirent *pdirent; - struct stat fstat; - struct fileinfo *pfinfo; - - pfinfo = &(This->fileinfo[handle]); - pdir = pfinfo->pdir; - dirname = pfinfo->path; - file_attributes = 0; - - switch (info_class) - { - case FileBothDirectoryInformation: - - /* If a search pattern is received, remember this pattern, and restart search */ - if (pattern[0] != 0) - { - strncpy(pfinfo->pattern, 1 + strrchr(pattern, '/'), PATH_MAX - 1); - rewinddir(pdir); - } - - /* find next dirent matching pattern */ - pdirent = readdir(pdir); - while (pdirent && fnmatch(pfinfo->pattern, pdirent->d_name, 0) != 0) - pdirent = readdir(pdir); - - if (pdirent == NULL) - return STATUS_NO_MORE_FILES; - - /* Get information for directory entry */ - sprintf(fullpath, "%s/%s", dirname, pdirent->d_name); - - if (stat(fullpath, &fstat)) - { - switch (errno) - { - case ENOENT: - case ELOOP: - case EACCES: - /* These are non-fatal errors. */ - memset(&fstat, 0, sizeof(fstat)); - break; - default: - /* Fatal error. By returning STATUS_NO_SUCH_FILE, - the directory list operation will be aborted */ - perror(fullpath); - out_uint8(out, 0); - return STATUS_NO_SUCH_FILE; - } - } - - if (S_ISDIR(fstat.st_mode)) - file_attributes |= FILE_ATTRIBUTE_DIRECTORY; - if (pdirent->d_name[0] == '.') - file_attributes |= FILE_ATTRIBUTE_HIDDEN; - if (!file_attributes) - file_attributes |= FILE_ATTRIBUTE_NORMAL; - if (!(fstat.st_mode & S_IWUSR)) - file_attributes |= FILE_ATTRIBUTE_READONLY; - - /* Return requested information */ - out_uint8s(out, 8); /* unknown zero */ - - seconds_since_1970_to_filetime(get_create_time(&fstat), &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* create time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(fstat.st_atime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* last_access_time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(fstat.st_mtime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* last_write_time */ - out_uint32_le(out, ft_high); - - seconds_since_1970_to_filetime(fstat.st_ctime, &ft_high, &ft_low); - out_uint32_le(out, ft_low); /* change_write_time */ - out_uint32_le(out, ft_high); - - out_uint32_le(out, fstat.st_size); /* filesize low */ - out_uint32_le(out, 0); /* filesize high */ - out_uint32_le(out, fstat.st_size); /* filesize low */ - out_uint32_le(out, 0); /* filesize high */ - out_uint32_le(out, file_attributes); - out_uint8(out, 2 * strlen(pdirent->d_name) + 2); /* unicode length */ - out_uint8s(out, 7); /* pad? */ - out_uint8(out, 0); /* 8.3 file length */ - out_uint8s(out, 2 * 12); /* 8.3 unicode length */ - rdp_out_unistr(This, out, pdirent->d_name, 2 * strlen(pdirent->d_name)); - break; - - default: - /* FIXME: Support FileDirectoryInformation, - FileFullDirectoryInformation, and - FileNamesInformation */ - - unimpl("IRP Query Directory sub: 0x%x\n", info_class); - return STATUS_INVALID_PARAMETER; - } - - return STATUS_SUCCESS; -} - - - -static NTSTATUS -disk_device_control(RDPCLIENT * This, NTHANDLE handle, uint32 request, STREAM in, STREAM out) -{ - if (((request >> 16) != 20) || ((request >> 16) != 9)) - return STATUS_INVALID_PARAMETER; - - /* extract operation */ - request >>= 2; - request &= 0xfff; - - printf("DISK IOCTL %d\n", request); - - switch (request) - { - case 25: /* ? */ - case 42: /* ? */ - default: - unimpl("DISK IOCTL %d\n", request); - return STATUS_INVALID_PARAMETER; - } - - return STATUS_SUCCESS; -} - -DEVICE_FNS disk_fns = { - disk_create, - disk_close, - disk_read, - disk_write, - disk_device_control /* device_control */ -}; diff --git a/reactos/base/applications/tsclient/rdesktop/disk.h b/reactos/base/applications/tsclient/rdesktop/disk.h deleted file mode 100644 index 447ebb59798..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/disk.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - rdesktop: A Remote Desktop Protocol client. - Disk Redirection definitions - Copyright (C) Jeroen Meijer 2003 - Copyright (C) Peter Astrand 2004 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#define FILE_ATTRIBUTE_READONLY 0x00000001 -#define FILE_ATTRIBUTE_HIDDEN 0x00000002 -#define FILE_ATTRIBUTE_SYSTEM 0x00000004 -#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 -#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 -#define FILE_ATTRIBUTE_DEVICE 0x00000040 -#define FILE_ATTRIBUTE_UNKNOWNXXX0 0x00000060 /* ??? ACTION i.e. 0x860 == compress this file ? */ -#define FILE_ATTRIBUTE_NORMAL 0x00000080 -#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 -#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 -#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 -#define FILE_ATTRIBUTE_COMPRESSED 0x00000800 -#define FILE_ATTRIBUTE_OFFLINE 0x00001000 -#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 -#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 - -#define FILE_FLAG_OPEN_NO_RECALL 0x00100000 -#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000 -#define FILE_FLAG_POSIX_SEMANTICS 0x01000000 -#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000 /* sometimes used to create a directory */ -#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000 -#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000 -#define FILE_FLAG_RANDOM_ACCESS 0x10000000 -#define FILE_FLAG_NO_BUFFERING 0x20000000 -#define FILE_FLAG_OVERLAPPED 0x40000000 -#define FILE_FLAG_WRITE_THROUGH 0x80000000 - -#define FILE_SHARE_READ 0x01 -#define FILE_SHARE_WRITE 0x02 -#define FILE_SHARE_DELETE 0x04 - -#define FILE_BASIC_INFORMATION 0x04 -#define FILE_STANDARD_INFORMATION 0x05 - -#define FS_CASE_SENSITIVE 0x00000001 -#define FS_CASE_IS_PRESERVED 0x00000002 -#define FS_UNICODE_STORED_ON_DISK 0x00000004 -#define FS_PERSISTENT_ACLS 0x00000008 -#define FS_FILE_COMPRESSION 0x00000010 -#define FS_VOLUME_QUOTAS 0x00000020 -#define FS_SUPPORTS_SPARSE_FILES 0x00000040 -#define FS_SUPPORTS_REPARSE_POINTS 0x00000080 -#define FS_SUPPORTS_REMOTE_STORAGE 0X00000100 -#define FS_VOL_IS_COMPRESSED 0x00008000 -#define FILE_READ_ONLY_VOLUME 0x00080000 - -#define OPEN_EXISTING 1 -#define CREATE_NEW 2 -#define OPEN_ALWAYS 3 -#define TRUNCATE_EXISTING 4 -#define CREATE_ALWAYS 5 - -#define GENERIC_READ 0x80000000 -#define GENERIC_WRITE 0x40000000 -#define GENERIC_EXECUTE 0x20000000 -#define GENERIC_ALL 0x10000000 - -#define ERROR_FILE_NOT_FOUND 2L -#define ERROR_ALREADY_EXISTS 183L - -typedef enum _FILE_INFORMATION_CLASS -{ - FileDirectoryInformation = 1, - FileFullDirectoryInformation, - FileBothDirectoryInformation, - FileBasicInformation, - FileStandardInformation, - FileInternalInformation, - FileEaInformation, - FileAccessInformation, - FileNameInformation, - FileRenameInformation, - FileLinkInformation, - FileNamesInformation, - FileDispositionInformation, - FilePositionInformation, - FileFullEaInformation, - FileModeInformation, - FileAlignmentInformation, - FileAllInformation, - FileAllocationInformation, - FileEndOfFileInformation, - FileAlternateNameInformation, - FileStreamInformation, - FilePipeInformation, - FilePipeLocalInformation, - FilePipeRemoteInformation, - FileMailslotQueryInformation, - FileMailslotSetInformation, - FileCompressionInformation, - FileCopyOnWriteInformation, - FileCompletionInformation, - FileMoveClusterInformation, - FileOleClassIdInformation, - FileOleStateBitsInformation, - FileNetworkOpenInformation, - FileObjectIdInformation, - FileOleAllInformation, - FileOleDirectoryInformation, - FileContentIndexInformation, - FileInheritContentIndexInformation, - FileOleInformation, - FileMaximumInformation -} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; - -typedef enum _FSINFOCLASS -{ - FileFsVolumeInformation = 1, - FileFsLabelInformation, - FileFsSizeInformation, - FileFsDeviceInformation, - FileFsAttributeInformation, - FileFsControlInformation, - FileFsFullSizeInformation, - FileFsObjectIdInformation, - FileFsDriverPathInformation, - FileFsMaximumInformation -} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; diff --git a/reactos/base/applications/tsclient/rdesktop/doc/AUTHORS b/reactos/base/applications/tsclient/rdesktop/doc/AUTHORS deleted file mode 100644 index a0824584e49..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/AUTHORS +++ /dev/null @@ -1,14 +0,0 @@ -This is an attempt at a list of people who have made significant -contributions to the code. If you have been unintentionally omitted -please let one of the team members know. - -Matt Chapman -Peter Kallden -Hugo Trippaers -Jay Sorg -Peter strand -Michal Mihalik -Norbert Federa -Erik Forsberg -Michael Gernoth -Jeroen Meijer diff --git a/reactos/base/applications/tsclient/rdesktop/doc/ChangeLog b/reactos/base/applications/tsclient/rdesktop/doc/ChangeLog deleted file mode 100644 index 4c096a03e43..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/ChangeLog +++ /dev/null @@ -1,86 +0,0 @@ -rdesktop (1.?.?) - * SeamlessRDP - seamless windows support - * Keymap fixes - * Fix connection issues with Windows XP RTM - * Keyboard handling improvements and fixes - * SGI/Irix sound-driver fixes - * Support for clipboard INCR protocol - * Session Directory support (patch from Brian Chapeau ) - * Support for long filenames on redirected drives - * XOR ellipse drawing fix - * Clipboard unicode support (Ilya Konstantinov) - * Refactoring of color depth code (Ilya Konstantinov) - -rdesktop (1.4.1) - * persistent bitmap cache optimisations - * support for more RDP-orders (ellipse, polygon) - * libao sound-driver (for Mac OSX and others) - * Unicode support for transmitted strings/filenames - * Added korean keymap - * Xembed fixes to work with krdc correctly - * Portability fixes - * Support for RDP-compression (all bpps) - * process RDP recv queue if send queue is full (Debian bug #246461) - * SGI/Irix sound-driver fixes - - -- Michael Gernoth Sun, 8 May 2005 19:55:35 +0200 (CEST) - -rdesktop (1.4.0) - * Basic disk-, parallel-, printer- and serial-redirection - * Fix timezone-redirection - * Backing-store fixes - * Fix client-IP sent to TS - * XEmbed support for embedding rdesktop in other applications (KRDC) - * Support for setting the RDP5 experience - * Keyboard and keymap fixes - * Performance improvements - * Report disconnect-reason - * Support for RDP-compression (currently only for 8bpp) - * Support for persistent bitmap caching - * Sound-driver for SGI/Irix - - -- Michael Gernoth Sun, 6 Mar 2005 22:09:55 +0100 (CET) - -rdesktop (1.3.1) - * Crypto fixes for RDP5 - * Keyboard and keymap fixes - * some endianess fixes for high color - * portability enhancements - - -- Matthew Chapman Tue, 21 Jan 2004 20:34 - -rdesktop (1.3.0) - - * RDP5 - * 15, 16 and 24 bit color depths - * Basic clipboard redirection - * Sound - * IPv6 - * Attaching to console on Windows 2003 - - -- Peter Astrand Wed, 29 Oct 2003 16:40:58 +0100 (CET) - -rdesktop (1.2.0) - - * new - more portable - key mapping code - * support for "high" (128-bit) encryption - * toggling out of full-screen mode with Ctrl-Alt-Enter - * a few extra options including host:port syntax - * many, many bug fixes and optimisations - - -- Matthew Chapman Thu, 30 Jan 2003 04:29 - -rdesktop (1.1.0) - - * solves arith.c licensing issue by taking big number routines from - OpenSSL - * keyboard support not merged from unified patches yet - * still no manpage - - -- Matthew Chapman Mon, 17 Sep 2001 23:14:28 +1000 (AEST) - -rdesktop (1.0.0) - - * initial release - - -- Matthew Chapman diff --git a/reactos/base/applications/tsclient/rdesktop/doc/HACKING b/reactos/base/applications/tsclient/rdesktop/doc/HACKING deleted file mode 100644 index f7689763817..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/HACKING +++ /dev/null @@ -1,28 +0,0 @@ - -Code style / indentation ------------------------- -The file indent-all.sh contains information about the current code -style. Run this script before commits. - - -Variable argument macros ------------------------- -Variable argument macros are non-portable in general, and should be -avoided. Either use a second set of parentheses like DEBUG, or create -a variable argument function like error. - - -Structure ---------- -The core protocol stack should be system-independent (i.e. ANSI C -only) so that it is easy to port. This currently applies to the -following files: - -bitmap.c licence.c orders.c rdp.c rdp5.c cache.c iso.c mcs.c -secure.c mppc.c channels.c -rdesktop.c - - -RDP resources -------------- -http://dev.remotenetworktechnology.com/refdata.htm diff --git a/reactos/base/applications/tsclient/rdesktop/doc/TODO b/reactos/base/applications/tsclient/rdesktop/doc/TODO deleted file mode 100644 index 1aa830a4069..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/TODO +++ /dev/null @@ -1,89 +0,0 @@ - -* Clipboard: - - * Support other data types than plain text. - - * Conversion between different character sets. - - -* Drive Redirection: - - * Real support for file locking - - * Handle reconnections correctly. - - * Various deficiencies; see FIXMEs in source code. - - -* Serial Port Redirection: - - * More testing needed. - - -* Printer Redirection: - - * More testing needed. - - -* Keymapping: - - -* Sound redirection - - * Use timestamps in audio packets. - - * Add resampling to supported samplerates of audio-hardware. - - * Lower CPU-usage with an audio thread. - - -* Smartcard redirection - - * Merge patches currently implementing sc-redirection. - - -* Miscellaneous - - * Clean up header files. The current "proto.h" and "xproto.h" is far - from optimal. - - * Go through the many trackers (bugs/patches/RFEs) at SourceForge. - - * More fancy homepage. - - * Enhance documentation. Write a FAQ. - - -* SeamlessRDP mode - - * Add a client to server message for starting additional - applications. - - * Support cmd.exe. - - * Support for Input Contexts. - - * Enhanced support for WM_DELETE_WINDOW: Instead of terminating - rdesktop, close the window on the server side. - - * Systray support. - - * Support for transferring the application taskbar icon. - - * Better support for non-EWMH window managers. - - * Support for non-rectangular windows. - - * The focus handling of menus is a bit crude. - - * Support for sending focus information from client to server. - - * Implement something similiar to explhook.dll - support for running - explorer.exe in non-shell mode. - - * Better compatibility with Task Manager. - - * XINERAMA support. - - * When enumerating windows, make sure to send info about windows - that are transient for other windows after the referred window. diff --git a/reactos/base/applications/tsclient/rdesktop/doc/ipv6.txt b/reactos/base/applications/tsclient/rdesktop/doc/ipv6.txt deleted file mode 100644 index 1d3ef2341c2..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/ipv6.txt +++ /dev/null @@ -1,29 +0,0 @@ - -IPv6 support in rdesktop -======================== -The IPv6 support was developed by Mike Dawson : - - Attached is a patch to tcp.c to enable IPv6 support. Build with - 'IPv6' defined to enable it. It's so far only been tested on - Linux 2.4.21 connecting to Windows XP SP1. - - Since terminal services doesn't seem to bind to the ipv6 interface - on XP I had to run 'netsh interface portproxy add v6tov4 - listenport=3389 connectport=3389' from the windows command prompt - to get it to work. - - -rdesktop now supports numeric IPv6 addresses: - - It checks for two or more colons in an address to decide what it's - dealing with so you can now do: - - rdesktop 2001:1:2:3::4 - - without it getting confused with an ipv4:port specification. I've - also followed the square bracket convention used by browsers - (http://www.ietf.org/rfc/rfc2732.txt) so if you want to specify a - non-standard port with an ipv6 address you can use the format: - - rdesktop [2001:1:2:3::4]:3390 - diff --git a/reactos/base/applications/tsclient/rdesktop/doc/keymap-names.txt b/reactos/base/applications/tsclient/rdesktop/doc/keymap-names.txt deleted file mode 100644 index 3da698b2935..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/keymap-names.txt +++ /dev/null @@ -1,124 +0,0 @@ - -0x0436 af Afrikaans -0x041C sq Albanian -0x0001 ar Arabic -0x0401 ar-sa Arabic (Saudi Arabia) -0x0801 ar-iq Arabic (Iraq) -0x0C01 ar-eg Arabic (Egypt) -0x1001 ar-ly Arabic (Libya) -0x1401 ar-dz Arabic (Algeria) -0x1801 ar-ma Arabic (Morocco) -0x1C01 ar-tn Arabic (Tunisia) -0x2001 ar-om Arabic (Oman) -0x2401 ar-ye Arabic (Yemen) -0x2801 ar-sy Arabic (Syria) -0x2C01 ar-jo Arabic (Jordan) -0x3001 ar-lb Arabic (Lebanon) -0x3401 ar-kw Arabic (Kuwait) -0x3801 ar-ae Arabic (U.A.E.) -0x3C01 ar-bh Arabic (Bahrain) -0x4001 ar-qa Arabic (Qatar) -0x042D eu Basque -0x0402 bg Bulgarian -0x0423 be Belarusian -0x0403 ca Catalan -0x0004 zh Chinese -0x0404 zh-tw Chinese (Taiwan) -0x0804 zh-cn Chinese (China) -0x0C04 zh-hk Chinese (Hong Kong SAR) -0x1004 zh-sg Chinese (Singapore) -0x041A hr Croatian -0x0405 cs Czech -0x0406 da Danish -0x0413 nl Dutch (Netherlands) -0x0813 nl-be Dutch (Belgium) -0x0009 en English -0x0409 en-us English (United States) -0x0809 en-gb English (United Kingdom) -0x0C09 en-au English (Australia) -0x1009 en-ca English (Canada) -0x1409 en-nz English (New Zealand) -0x1809 en-ie English (Ireland) -0x1C09 en-za English (South Africa) -0x2009 en-jm English (Jamaica) -0x2809 en-bz English (Belize) -0x2C09 en-tt English (Trinidad) -0x0425 et Estonian -0x0438 fo Faeroese -0x0429 fa Farsi -0x040B fi Finnish -0x040C fr French (France) -0x080C fr-be French (Belgium) -0x0C0C fr-ca French (Canada) -0x100C fr-ch French (Switzerland) -0x140C fr-lu French (Luxembourg) -0x043C gd Gaelic -0x0407 de German (Germany) -0x0807 de-ch German (Switzerland) -0x0C07 de-at German (Austria) -0x1007 de-lu German (Luxembourg) -0x1407 de-li German (Liechtenstein) -0x0408 el Greek -0x040D he Hebrew -0x0439 hi Hindi -0x040E hu Hungarian -0x040F is Icelandic -0x0421 in Indonesian -0x0410 it Italian (Italy) -0x0810 it-ch Italian (Switzerland) -0x0411 ja Japanese -0x0412 ko Korean -0x0426 lv Latvian -0x0427 lt Lithuanian -0x042F mk FYRO Macedonian -0x043E ms Malay (Malaysia) -0x043A mt Maltese -0x0414 no Norwegian (Bokmal) -0x0814 no Norwegian (Nynorsk) -0x0415 pl Polish -0x0416 pt-br Portuguese (Brazil) -0x0816 pt Portuguese (Portugal) -0x0417 rm Rhaeto-Romanic -0x0418 ro Romanian -0x0818 ro-mo Romanian (Moldova) -0x0419 ru Russian -0x0819 ru-mo Russian (Moldova) -0x0C1A sr Serbian (Cyrillic) -0x081A sr Serbian (Latin) -0x041B sk Slovak -0x0424 sl Slovenian -0x042E sb Sorbian -0x040A es Spanish (Traditional Sort) -0x080A es-mx Spanish (Mexico) -0x0C0A es Spanish (International Sort) -0x100A es-gt Spanish (Guatemala) -0x140A es-cr Spanish (Costa Rica) -0x180A es-pa Spanish (Panama) -0x1C0A es-do Spanish (Dominican Republic) -0x200A es-ve Spanish (Venezuela) -0x240A es-co Spanish (Colombia) -0x280A es-pe Spanish (Peru) -0x2C0A es-ar Spanish (Argentina) -0x300A es-ec Spanish (Ecuador) -0x340A es-cl Spanish (Chile) -0x380A es-uy Spanish (Uruguay) -0x3C0A es-py Spanish (Paraguay) -0x400A es-bo Spanish (Bolivia) -0x440A es-sv Spanish (El Salvador) -0x480A es-hn Spanish (Honduras) -0x4C0A es-ni Spanish (Nicaragua) -0x500A es-pr Spanish (Puerto Rico) -0x0430 sx Sutu -0x041D sv Swedish -0x081D sv-fi Swedish (Finland) -0x041E th Thai -0x0431 ts Tsonga -0x0432 tn Tswana -0x041F tr Turkish -0x0422 uk Ukrainian -0x0420 ur Urdu -0x042A vi Vietnamese -0x0434 xh Xhosa -0x043D ji Yiddish -0x0435 zu Zulu - diff --git a/reactos/base/applications/tsclient/rdesktop/doc/keymapping.txt b/reactos/base/applications/tsclient/rdesktop/doc/keymapping.txt deleted file mode 100644 index 6d10eae5b87..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/keymapping.txt +++ /dev/null @@ -1,243 +0,0 @@ -Keyboard mapping -================ -This release of rdesktop uses a new, portable keyboard mapping -implementation. It should hopefully work on all X11 systems. This new -implementation only looks at X11 keysyms: Not on (nonportable) -keycodes or modifier status. This means that rdesktop will obey your -local keyboard configuration. For example, if you have swapped -CapsLock and Control, rdesktop will use this mapping. - -XKB is currently not used. It seems like a good idea to me, but since -some X servers (like Xvnc) does not support XKB, we still need to use -the plain old interface as well, at least. - -There are still some small problems. - -* CapsLock: CapsLock changes are never sent to the RDP - server. rdesktop does not know which keys that are modified by - CapsLock and which are not. So, the CapsLock indicator in Wordpad - etc will always be off. - -Composing/Multi_key is supported. For more information, see: - - MIT: $SRC/xc/nls/X11/locale/Compose/iso8859-1 - XFree86: /usr/X11R6/lib/X11/locale/*/Compose - Solaris' Openwin: /usr/openwin/include/X11/Suncompose.h - /usr/openwin/lib/locale/*/Compose - Irix6: compose(5) - - -Keymap files -============ -The names of the keymaps follows RFC1766. - -(You can find a translation from Windows keyboard layout numbers to -keymap names by looking at -HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\RFC1766 in the -registry.) - - -Contents of keymap files -======================== -The keymaps are line based. There are four different types of lines: - -1) include lines -Syntax: -include - -Example: -include common - - -2) map lines -Syntax: -map - -Example: -map 0x41d - -Map-lines specifies how the remote RDP server should interpret the -sent scancodes. - - -3) Translation lines -Syntax: - [flags..] - -Example: -onehalf 0x29 shift - -The scancode can be found in scancodes.h. Note: The scancode value for -extended keys can be calculated by OR:ing with 0x80. Example: The -Delete key have the scancode sequence 0xe0, 0x52. You can get the -scancode value to put into the map file by running: - -python -c "print hex(0x80 | 0x52)" - -If flags are "altgr", "shift", the scancode sent for this keysym will -be prefixed with AltGr, or Shift. - -If flags includes "addupper", a translation for this keysyms uppercase -name will be added as well, in addition to the non-uppercase -name. Example: - -x 2d addupper - -...will add an translation for "X" automatically, just like if you -would specify: - -X 2d shift - -If flags include "localstate", the modifier to send will be determined -by the local modifier state. - -If flags is "inhibit", nothing will be sent to the server. - -If flags is "numlock", rdesktop will make sure that the remote NumLock -state is on before generating the key event. Otherwise, it will make -sure NumLock is off. - - -4) enable_compose - -If any line starts with the keyword "enable_compose", rdesktop will -enable local Compose/Multi_key handling. Enabling this will often make -it impossible to compose characters with dead keys (on the remote -side). This is because when local compose support is enabled, dead -keys will not be sent to the remote side. - - -5) sequence lines -Syntax: -sequence ... - -Examples: -sequence eacute dead_acute e -sequence F12 f o o at e x a m p l e period c o m - -Sequence lines allows you to specify that multiple scancodes should be -sent to the RDP server, in response to one X11 keyboard event. Note: -The sequence is sent at the X11 KeyPress event. Nothing is sent at -KeyRelease. - - -6) keyboard_type lines -Syntax: -keyboard_type - -keyboard_type lines specifies the keyboard type. Default value is 0x4 -(en-us 101/104 keys keyboard). - - -7) keyboard_subtype lines -Syntax: -keyboard_subtype - -keyboard_subtype lines specifies the keyboard subtype. Default value -is 0x0 (en-us 101/104 keys keyboard). - - -8) keyboard_functionkeys lines -Syntax: -keyboard_functionkeys - -keyboard_functionkeys specifies the number of keyboard function -keys. Default value is 0xc (12, for standard 101/104 keys keyboard). - - - - -Suggested X11 keysym mapping on PCs -=================================== -Unfortunately, there is no standard for which keysyms a given key -should generate. If you have a PC-keyboard with Windows keys, I suggest this mapping: - -Keyboard keys: -CtrlLeft WinLeft AltLeft Space AltGr WinRight Menu CtrlRight - -...should generate keysyms: -Control_L Super_L Alt_L space Mode_switch Super_R Menu Control_R - -Additionally: -Shift-Alt should produce Meta_L -Shift-AltGr should produce Multi_Key. - -Use a modifier-map like this: - -shift Shift_L (0x32), Shift_R (0x3e) -lock Caps_Lock (0x25) -control Control_L (0x42), Control_R (0x6d) -mod1 Alt_L (0x40) -mod2 Num_Lock (0x4d) -mod3 Mode_switch (0x71) -mod4 Super_L (0x73), Super_R (0x74) -mod5 Scroll_Lock (0x4e) - - -Updating / writing keymap files -=============================== -When writing new or updating keymap files, please use comments and -blanks, to increase readability. The "sv" keymap is a good template. - -When you need to add a translation to a keymap file, do: - - 1. Get the "key number" for this key, by looking at keynums.png. - - 2. Take a look at scancodes.h, and look for - SCANCODE_KEY_. The scancode value is at the end of - the line. If the line contains (SCANCODE_EXTENDED | 0xsomething), - then you should OR 0x80 to this value. For example, you can do: - - python -c "print hex(0x80 | 0xsomething)" - - 3. Put the scancode (from step 2) and keysym name (found in the - error message) into the keymap file. - - -Special keys -============ - -* The combination Ctrl-Alt-Enter toggles between fullscreen and - non-fullscreen mode. - -* Meta, Hyper and Super are treated as windows keys. RDP4 does not - support the windows keys though, so if you are running RDP4, these - keys will translate to Ctrl-Esc. - - -Links -===== -http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html - - -Test cases -========== -When changing the keyboard code, make sure all these tests in Notepad -works: - -1. Ctrl+f should bring up Find dialog, with CapsLock both on and off. - -2. Ctrl+Shift+arrows should mark text, with CapsLock both on and off. - -3. Test a sequence, like egrave. - -4. Test a char generated with AltGr, such as @ on a swedish keyboard. - -5. Test Ctrl-Alt-Delete. - -6. Ctrl-Alt-Enter should toggle fullscreen. - -7. Test NumLock synchronization using the -N option. Excel is able to - indicate the current NumLock state. Verify that the status is - updated correctly on reconnects. - -8. Test the Windows keys, standalone as well as in combination with, - say, E. - -9. Make sure the system menu (via Alt-space) cannot be accessed in - single app mode. - -10. Make sure keymaps can be loaded from ~/.rdesktop/keymaps, - KEYMAP_PATH, $CWD/keymaps, and from an absolute path. - - diff --git a/reactos/base/applications/tsclient/rdesktop/doc/keynums.png b/reactos/base/applications/tsclient/rdesktop/doc/keynums.png deleted file mode 100644 index 401601b9e06..00000000000 Binary files a/reactos/base/applications/tsclient/rdesktop/doc/keynums.png and /dev/null differ diff --git a/reactos/base/applications/tsclient/rdesktop/doc/licensing.txt b/reactos/base/applications/tsclient/rdesktop/doc/licensing.txt deleted file mode 100644 index d8006d2eb72..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/licensing.txt +++ /dev/null @@ -1,56 +0,0 @@ - -To be able to connect to Microsoft Windows 2000 Terminal Services (and -probably later versions), you'll need to deal with licensing. This is -complicated. This file is supposed to contain some information about -how rdesktop works with Microsofts license systems. - -There's a lot of information on the MS web site, for example, -http://support.microsoft.com/default.aspx?scid=kb;EN-US;287687. - -From the rdesktop mailing list: - -Peter strand , 2003-02-06 - -> We are running rdesktop 1.2 on machine A and connects to a Windows 2000 -> Server (machine B). The W2K machine has 5 real licenses installed ("Windows -> 2000 Terminal Services Client Access License", "Open" type). This can be -> verifier by using "Terminal Services Licensing". The problem is that all -> issued licenses have an expire-date. The expire date for the license issued -> to A was reached today, and no more connections could be made until we -> changed the client name (by using -n). -> -> We also have another similiar systems, with Linux machine C and W2K server -> D. This server has 200 licenses installed of the type "Select". On this -> server, the issued licenses seems to be permanent: The expire date is set -> to "-", and we have no problem with this system. -> -> The question of course is why the first system issues license with -> expiration date, while the second system issues permanent licenses. - - -Darryn Capes-Davis, 2003-02-07 - -> I have been through the problems and can tell you what is going -> on. The main difference of Machine B (Server 1) and Machine D (Server -> 2) is that from what I see Machine B has Service Pack 3 installed and -> Machine D does not. You see in Service Pack 3 there was a change made -> to TS Licencing in that Microsoft introduced a licence recovery -> mechanism. To cut to the point (I don't know the details) rdesktop 1.2 -> with SAVE_LICENCE defined works fine. In the new lic method the -> terminal server expects a valid licence to be presented to renew -> it. Otherwise it just expires it - and a day later you will see it -> actually gone (it does housekeeping once a day)! So if SAVE_LICENCE -> code is not enabled then it just expires and you can't use the licence -> until it cleans it away - and this is where a little gotcha is - if -> you move from using an rdesktop without SAVE_LICENCE to one with -> SAVE_LICENCE then it still won't recover an 'expired' licence. You -> have to wait for the daily housekeeping to clean it up - this really -> had me going for half a day or so! This is exactly what happened to -> you. -> -> The Server pre Spk 3 has the old model where licences never expire. To -> recover a licence that you never wanted to use again you have to call -> the Microsoft Clearing House. That's why they introduced the new -> method. And if you upgrade a Pre Spk3 server to Spk3 then the licences -> granted still stay with the old method - only new licences granted -> will use the new expiry method. diff --git a/reactos/base/applications/tsclient/rdesktop/doc/lspci-channel.txt b/reactos/base/applications/tsclient/rdesktop/doc/lspci-channel.txt deleted file mode 100644 index 78645171e2a..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/lspci-channel.txt +++ /dev/null @@ -1,39 +0,0 @@ - -Protocol overview -================= - -The lspci virtual channel makes it possible for the remote RDP server -to enumerate the local PCI devices. The protocol on this channel is -text based and line oriented: One single line per request or -response. UNIX-style LF line breaks are used. The maximum line length -is 1023, newline included. - -rdesktop acts as a server, with only one request: - - LSPCI - -The response is several lines with this syntax: - -,,,,,, - -After the last line, a line with a single dot is sent. - -Example: - -0300,102b,0525,102b,0338,04,00 -0401,8086,24d5,1028,0174,02,8f -. - - -Usage -===== - -To enable to lspci virtual channel, run rdesktop with "-r lspci". - - -References -========== - -http://www.microsoft.com/msj/1099/terminal/terminal.aspx -http://msdn.microsoft.com/library/default.asp?url=/library/en-us/termserv/termserv/terminal_services_virtual_channels.asp - diff --git a/reactos/base/applications/tsclient/rdesktop/doc/patches.txt b/reactos/base/applications/tsclient/rdesktop/doc/patches.txt deleted file mode 100644 index 08ffe59f7a8..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/patches.txt +++ /dev/null @@ -1,340 +0,0 @@ -This file documents some of all patches for rdesktop, floating around -the net, and how they are related to the current (CVS) version of -rdesktop. Things left to do are marked with TBD (To Be Done). - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/Makefile.diff -Description: -Makefile changes which makes it possible to compile rdesktop on SunOS -and OSF1. -Status: -Applied (slightly modified) - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/assar_19-7-2.hostlen.patch -Description: -Fix for hostnames longer than 30 chars. -Status: -Applied (revision 1.11 of secure.c) - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/backingstore+privatecolormap-for-19-3-9.patch -Description: -This adds support for 1) Private color maps (useful for 8 bpp mode) -and 2) backingstore selection. -Status: -1) is not needed anymore; rdesktop automatically uses Private color -map in 8 bpp mode. 2) is, as far as I understand, also not -need. rdesktop automatically uses a software backing store if the -Xserver does not provide one. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/ben_xwin.c.diff -Description: -Fixes for CapsLock and NumLock. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/ctrl1nohang.diff -Description: -Fixes problem with ctrl1 hangs. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/downkeypatch.diff -Description: -Seems to keep track of the remote modifier status. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/fasttext2+nobackpixmap.patch -Description: -(From http://mail.rdesktop.org/archive/2001/msg00218.html): - -1) Added --no-backpixmap option to disable the ugly double drawing in -xwin.c (I have a very robust backing storage in my X, so I don't need -it ;) - -2) More optimizations to text draw (previous fast-text patch was -included in 192-3-6-2). In text drawing with solid background the -glyphs are drawn with stippled fill instead of XCopyPlane (runs faster -on my S3Trio64 with XFree 3.3.6, please test it on other -configurations to validate this). The WinTach not show any improvement -with this change, it seems to use all transparent background text -draws, but with a old PC Magazine Winbench (3.1) doing the scroll text -test the speed gain is significative. - -3) My Previous patch to disable backing storage in fullscreen - -Status: -1) is not relevant any more, since rdesktop only uses backing store if -the Xserver does not provide backing store. -Need to examine if 2) and 3) are still useful. TBD. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/francisco_fix_patblt.html -Description: -The colors in patterns drawn with "pattern blt" order was inverted (fg -& bg). (See the background of the yellow help banners) -Status: -Applied (in revision 1.29, 2002/07/14) - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/frank_1linerfix.html -Description: -ui_create_glyph was not called with ipattern. -Status: -Applied (in revision 1.29, 2002/07/14). - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/frank_fasttext.patch.txt -Description: -Some kind of performence improvements. -Status: -From what I can tell, this patch is no longer necessary. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/hostname-patch -Description: -(From http://mail.rdesktop.org/archive/2001/msg00163.html): - -rdesktop uses gethostname to figure out the hostname, but gethostname -under linux returns an error when the hostname is longer than the -buffer. This hack gives gethostname a 64 char buffer and then strips -the first 16 chars or upto the first '.' and puts the result in -hostname[16]. - -Status: -Applied in version 1.10 of rdesktop.c. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/hove-19-7-2endian.diff -Description: -Includes a program for testing endianness. -Status: -rdesktop determines endianness at runtime. This patch is not needed -anymore. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/mmihalik_19-7-3-keyfix-4.patch -Description: -Some kind of new alternative keyboard mapping imlementation. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/norbert_fullscreen.patch -Description: -Fullscreen mode. -Status: -Applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/norbert_percent.txt -Description: -Makes is possible to specify RDP geometry based a percent value of the -current desktop size. -Status: -Not applied. I don't think many people will need this. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/norbert_rdp_tcp_port.diff -Description: -Command line tcp port argument. -Status: -Applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/patch19-7-2.xyPos.emptyPassword.patch -Description: -This patch adds: -1) Support for empty passwords -2) Support for asking for password interactively -3) Support for ++ geometry. - -Status: -1) and 2) can be solved by the -P parameter; patch not needed. -Functionality for 3) is currently missing. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-1.0.0-19-7-1-mmihalik-3.diff -Description: -Defines DO_GLYPH() etc. -Status: -As far as I understand, this patch is applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-1.0.0-mmihalik-1.diff -Description: -Misc drawing changes. -Status: -As far as I understand, this patch is applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-1.0.0-pl19-7-2-mmihalik-1.diff -Description: -Some kind of new alternative keyboard mapping implementation. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-gmp.patch -Description: -Use GMP for RSA crypto. -Status: -Not needed since rdesktop now use OpenSSL for all of the crypto. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-new_kb.patch -Description: -Modifies one of the old keyboard mapping implementations in some way. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop-openssl.patch -Description: -Support for linking rdesktop with OpenSSL. -Status: -Not needed anymore, rdesktop can optionally use system -OpenSSL. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop.vncviewer_patch -Description: -Hack for making the old (broken) keyboard mapping implementation work -with the VNC Xserver. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdesktop_keymap.patch -Description: -Some kind of new alternative keyboard mapping implementation. -Status: -Not needed anymore, with the new keyboard mapping implementation. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/rdp-srvr-19-6-6.diff -Description: -Basic RDP server. -Status: -Not applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/scroll-to-death-patch.txt -Description: -Fixes scroll-to-death problem in Excel and other applications. -Status: -Not needed; fixed in another way in recent versions of rdesktop. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/spark-manpage-patch-19.4 -Description: -Adds a manual page. -Status: -Not needed; rdesktop contains a manual page now. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/spark-manpage-patch-19.4-1 -Description: -Adds a manual page. -Status: -Not needed; rdesktop contains a manual page now. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/spark_xinerama-patch2 -Description: -Adds XINERAMA support to rdesktop. -Status: -Not applied yet. TBD. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/svenni_dis_wmkeybnds.patch -Description: -Commandline flag to disable keyboard grabbing. -Status: -Applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/svenni_disable_bs_in_x-tiny-patch -Description: -Disables backing store for TinyX. -Status: -As far as I understand, this patch is not need any longer. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-2.license.patch -Description: -TBD -Status: -Not yet examined. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-2.secure.patch -Description: -Fixes a problem during the connection to a French NT4 TSE (a French -NT4 TSE doesn't use encryptation). -Status: -Applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-3_excel.patch -Description: -Makes matrixes appear better, such as those found in Excel/toad etc. -Status: -Applied. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_8bpp.patch -Description: -Support a 8bpp display (256 colours). -Status: -An enhanced version is included in rdesktop; this patch is not needed any more. - - -URL: -http://bibl4.oru.se/projects/rdesktop/patch19/patches/vpypatch.txt -Description: -Various changes for one of the old keyboard stuff. -Status: -Not needed anymore, with the new keyboard mapping implementation. diff --git a/reactos/base/applications/tsclient/rdesktop/doc/rdesktop.1 b/reactos/base/applications/tsclient/rdesktop/doc/rdesktop.1 deleted file mode 100644 index 585cf8ec376..00000000000 --- a/reactos/base/applications/tsclient/rdesktop/doc/rdesktop.1 +++ /dev/null @@ -1,217 +0,0 @@ -.TH rdesktop 1 "November 2005" -.SH NAME -.I rdesktop -\- Remote Desktop Protocol client -.SH SYNOPSIS -.B rdesktop [options] server[:port] -.br -.SH DESCRIPTION -.I rdesktop -is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft -products including Windows NT Terminal Server, Windows 2000 Server, Windows XP -and Windows 2003 Server. - -.SH OPTIONS -.TP -.BR "-u " -Username for authentication on the server. -.TP -.BR "-d " -Domain for authentication. -.TP -.BR "-s " -Startup shell for the user - starts a specific application instead of Explorer. -.TP -.BR "-c " -The initial working directory for the user. Often used in combination with -s -to set up a fixed login environment. -.TP -.BR "-p " -The password to authenticate with. Note that this may have no effect if -"Always prompt for password" is enabled on the server. WARNING: if you specify -a password on the command line it may be visible to other users when they use -tools like ps. Use -p - to make rdesktop request a password at startup (from -standard input). -.TP -.BR "-n " -Client hostname. Normally rdesktop automatically obtains the hostname of the -client. -.TP -.BR "-k " -Keyboard layout to emulate. This requires a corresponding keymap file to be -installed. The standard keymaps provided with rdesktop follow the RFC1766 -naming scheme: a language code followed by a country code if necessary - e.g. -en-us, en-gb, de, fr, sv, etc. - -The default keyboard map depends on the current locale (LC_* and LANG -environment variables). If the current locale is unknown, the default -keyboard map is en-us (a US English keyboard). - -The keyboard maps are file names, which means that they are case -sensitive. The standard keymaps are all in lowercase. - -The keyboard maps are searched relative to the directories -$HOME/.rdesktop/keymaps, KEYMAP_PATH (specified at build time), and -$CWD/keymaps, in this order. The keyboard-map argument can also be an -absolute filename. - -The special value `none' can be used instead of a keyboard map. -In this case, rdesktop will guess the scancodes from the X11 event key -codes using an internal mapping method. This method only supports the -basic alphanumeric keys and may not work properly on all platforms -so its use is discouraged. -.TP -.BR "-g " -Desktop geometry (WxH). If geometry is the special word "workarea", the geometry -will be fetched from the extended window manager hints property _NET_WORKAREA, from -the root window. The geometry can also be specified as a percentage of the whole -screen, e.g. "-g 80%". -.TP -.BR "-f" -Enable fullscreen mode. This overrides the window manager and causes the -rdesktop window to fully cover the current screen. Fullscreen mode can be -toggled at any time using Ctrl-Alt-Enter. -.TP -.BR "-b" -Force the server to send screen updates as bitmaps rather than using -higher-level drawing operations. -.TP -.BR "-A" -Enable SeamlessRDP. In this mode, rdesktop creates a X11 window for -each window on the server side. This mode requires the SeamlessRDP -server side component. When using this option, you should specify a -startup shell which launches the desired application through -SeamlessRDP. Example: rdesktop -A -s 'seamlessrdpshell notepad'. -.TP -.BR "-B" -Use the BackingStore of the Xserver instead of the integrated one in -rdesktop. -.TP -.BR "-e" -Disable encryption. This option is only needed (and will only work) if you -have a French version of NT TSE. -.TP -.BR "-E" -Disable encryption from client to server. This sends an encrypted login packet, -but everything after this is unencrypted (including interactive logins). -.TP -.BR "-m" -Do not send mouse motion events. This saves bandwidth, although some Windows -applications may rely on receiving mouse motion. -.TP -.BR "-C" -Use private colourmap. This will improve colour accuracy on an 8-bit display, -but rdesktop will appear in false colour when not focused. -.TP -.BR "-D" -Hide window manager decorations, by using MWM hints. -.TP -.BR "-K" -Do not override window manager key bindings. By default rdesktop attempts -to grab all keyboard input when it is in focus. -.TP -.BR "-S