Professional Documents
Culture Documents
v1.0.0
1 ............................................................................................................................................. 3
1.1 ............................................................................................................................ 3
1.2 ............................................................................................................................ 3
2OrayPluginInterface .................................................................................................... 4
2.1 IAcceptor ............................................................................................................................. 4
2.2 IConnector ........................................................................................................................... 6
2.3 IPlugin .................................................................................................................. 8
2.4 IPluginStream....................................................................................................................... 9
2.5 IProxySetting........................................................................................................................ 10
3OrayFilemanager ........................................................................................................ 11
3.1 IFileTransfer.......................................................................................................................... 11
3.2IFileOperator..........................................................................................................................13
4OrayRemoteDesktop ................................................................................................... 14
4.1 ISingleDesktop...................................................................................................................... 14
5 OrayDesktopControl.ocx ............................................................................................. 17
5.1 .......................................................................................................................17
1
Sunlogin Remote Component SRC
Component Server ( CS) Client Component (
CC)
OrayPluginInterface AcceptorCS ConnectorCC
CS CC CS CC
CC CS CS
1.1
1.2
1OrayPluginInterface.dll IAcceptorIConnectIPluginIPluginStreamIProxySetting
IAcceptorIConnect P2P IPlugin
IPluginStream IProxySetting
2OrayFilemanager.dll IFileTransferIFileOperator
3
3OrayRemoteDesktop.dll ISingleDesktop
4OrayDesktopControl.ocx ActiveX
2 OrayPluginInterface
2.1 IAcceptor
2.1.1
P2P
1 P2P
2 Accept
ListenPort
Address
IsLogged
Login
Logout
Accept
AcceptEx
SetProxy
LoginOK
Connected Disconnected
LoginFailed
Cancel
2.1.2
short ListenPort
1 0
2P2P
rw
Address
r
BSTR
VARIANT_BOOL IsLogged
r
2.1.3
Login
P2P
bsAddr
BSTR
bsOpenID
BSTR
bsOpenKey
BSTR
App Secret
Logout
HRESULT Logout()
Accept
pClient
FileTransfer
IUnknown*
Desktop DataTransfer
AcceptEx
SessionItem ,
session.
bMulusetrue, .Accept(),
bsName,,Connector::Connect
,(PHSRC://10.0.0.1:4118/123/name)
IUnknown**
pClient
IUnknown
DesktopDataTransfer
FileTransfer,PhRemoteCtrl
bsName
BSTR
bMuluse
VARIANT_BOOL pClient
ppSession IUnknown**
SessionItem,Value
Session
SetProxy
proxy
IUnknown*
Cancel
,,Terminate
pClient
IUnknown
2.1.4
LoginOK
Connected
Disconnected
LoginFailed
2.2 IConnector
2.2.1
P2P
plugin
IUnknown*
IPlugin
6
bsAddress BSTR
Acceptor.Address
bsSession BSTR
SessionSession
Disconnect
,Terminate
plugin IUnknown*
SetProxy
proxy IUnknown*
2.2.4
StateChanged
plugin
IUnknown*
eState
ULONG
err
ULONG
//
typedef [v1_enum] enum PHERRORCODE
{
PH_E_ERROR_CODE_BEGIN =
0x80040200,//MAKE_HRESULT(SEVERITY_ERROR,FACILITY_ITF,0x0200),
PH_E_PLUGIN_NOTPMT = PH_E_ERROR_CODE_BEGIN+1,
PH_E_CNT_ERROR_CODE_BEGIN
PH_E_CNT_LOGIN_FWD_SVR_FAILED = PH_E_CNT_ERROR_CODE_BEGIN+2,
//
PH_E_CNT_FWD_FAILED
= PH_E_CNT_ERROR_CODE_BEGIN+3,
//
PH_E_CNT_LOGIN_RMT_FAILED
= PH_E_CNT_ERROR_CODE_BEGIN+4,
//
PH_E_CNT_REQUEST_P2P_FAILED
= PH_E_CNT_ERROR_CODE_BEGIN+5,
//
PH_E_CNT_CONNECT_RMT_FAILED
= PH_E_CNT_ERROR_CODE_BEGIN+6,
//
P2P
PH_E_CNT_RMT_REFUSED
PH_E_CNT_AUTH_EXPIRED
= PH_E_CNT_ERROR_CODE_BEGIN+7,
= PH_E_CNT_ERROR_CODE_BEGIN+8,
//
//
PH_E_CNT_INVALID_PSW
PH_E_CNT_REQUIRED_PSW
= PH_E_CNT_ERROR_CODE_BEGIN+9,
= PH_E_CNT_ERROR_CODE_BEGIN+10,
//
//
}PHERRORCODE;
//Connector
typedef [v1_enum] enum CONNECTOR_STATE
{
CNTS_P2P ,
//P2P
CNTS_FORWARD,
//
CNTS_LOGIN,
//
CNTS_CONNECTED, //
CNTS_DISCONNECTED,//
}CONNECTOR_STATE;
RequestPassword
pPlugin
IUnknown*
Password
BSTR
bSet
VARIANT_BOOL TRUEpassword
InvalidPassword
pPlugin
IUnknown*
password
BSTR
bSet
VARIANT_BOOL
TRUEpassword
2.3 IPlugin
2.3.1
InitInstance Run
ExitInstance
2.3.2
2.3.3
8
InitInstance
pUnkl
IUnknown*
IPluginStream
Run
HRESULT
Run ( )
ExitInstance
HRESULT
ExitInstance ( )
2.3.4
2.4 IPluginStream
2.4.1
Timeout
RemoteRead
2.4.2
RemoteWrite
Close
rw
2.4.3
RemoteRead
pv void*
cb
ULONG
pcbRead ULONG*
Flags ULONG enum _PLUGINSTREAM_FLAG
enum _PLUGINSTREAM_FLAG
9
{
PLUGINSTREAM_FLAG_NORMAL = 0,
PLUGINSTREAM_FLAG_NOACK = 1,
PLUGINSTREAM_FLAG_NOBLOCK = 2
}
RemoteWrite
pv
void*
cb
ULONG
pcbWritten
ULONG*
flags
ULONG
enum _PLUGINSTREAM_FLAG
enum _PLUGINSTREAM_FLAG
{
PLUGINSTREAM_FLAG_NORMAL = 0,
PLUGINSTREAM_FLAG_NOACK = 1,
PLUGINSTREAM_FLAG_NOBLOCK = 2
}
Close
HRESULT Close()
2.4.4
2.5 IProxySetting
2.5.1
IAcceptor IConnector
IP
Port
User
Password
Domain
Type
2.5.2
BSTR IP
rw
10
long Port
rw
BSTR
User
rw
Password
rw
BSTR
Domain
BSTR
rw
long Type
rw
2.5.3
2.5.4
3 OrayFilemanager
OrayFileManager.dll Regsvr32 path/to/sdk/OrayFileManager.dll
3.1 IFileTransfer
3.1.1
Session
Upload Download Terminate
UploadRequest DownloadRequest
3.1.2
BSTR
Connected
Disconnected
Session
Acceptor.Accept/Connector.Connect
accept Connect
r
11
3.1.3
Upload
FileOperator
bsSrc
bsDest
Offset
ppUnit
BSTR
BSTR
__int64
IDispatch**
FileOperator
Download
bsSrc
bsDest
Offset
ppUnit
BSTR
BSTR
__int64
IDispatch**
FileOperator
Terminate
FileOperator
Connector::Disconnect Acceptor::Cancel
HRESULT
Terminate ( )
3.1.4
UploadRequest
pFileOP.Stop
pFileOP.Stop
12
Disconnected
3.2 IFileOperator
3.2.1
r
BSTR
Destination
rw
__int64 TotalSize
r
__int64 CurrentSize
r
long State
0 ;1 ;2 ;3
r
3.2.3
Stop
HRESULT Stop ( )
Pause
13
HRESULT Pause( )
Continue
HRESULT Continue( )
3.2.4
End
4 OrayRemoteDesktop
OrayRemoteDesktop.dll Regsvr32 path/to/sdk/OrayRemoteDesktop.dll
4.1 ISingleDesktop
4.1.1
EnableMirrorDriver
DisableDesktopEffects
EnableRecord
RecordPath
EnableDPMS EnableBlackScreen EnableH264Mode SelectMode CaptureMode
EnableControl StartBlackScreen DisplayChanged SetImmovableArea
Connected Disconnected RequestControl ReuestInstallDrv NotifyBlackScreen
4.1.2
VARIANT_BOOL EnableMirrorDriver
rw
VARIANT_BOOL DisableDesktopEffects
rw
VARIANT_BOOL
EnableRecord
rw
BSTR
RecordPath
14
rw
VARIANT_BOOL EnableDPMS
rw
unsigned long
EnableBlackScreen
rw
long
EnableH264Mode
h264
rw
unsigned long
SelectMode
rw
unsigned long CaptureMode
enable
VARIANT_BOOL
StartBlackScreen
newVal
VARIANT_BOOL
DisplayChanged
newWidth
long
15
newHeight
long
SetImmovableArea
HRESULT
SetImmovableArea (long newLeft,long newTop, long newRight, long
newBottom )
newLeft
newTop
newRight
newBottom
long
long
long
long
4.1.4
Connected
Disconnected
RequestControl
bEnable VARIANT_BOOL
ReuestInstallDrv
NotifyBlackScreen
bEnable VARIANT_BOOL
nError
unsigned long
16
5 OrayDesktopControl.ocx
OrayDesktopControl.ocx Regsvr32 path/to/sdk/OrayDesktopControl.ocx
5.1
5.1.1
ActiveX
type
address
session
Version
showTitlebar
FullScreen
AutoColor
AutoSize
SyncClipboard
CurConsoleID
Connector
UsingIEProxySetting
EnableScreenWhiteBoard
EnableControl
DesktopColor
ShowControlSelector
DisplayCompression Language SupportedSound AutoStart
ConnectAuto AboutBox RequestControl
OpenTaskManager
ShutdownRemote
RestartRemote LogoffRemote OpenConsole
SendCtrlAltDel SetColor
OpenExplorer
GetCurColor
GetResolutionCount
GetResolutionX
GetResolutionY
ChangeResolution
GetSessionCount
GetSessionName GetSessionID
SwitchSession
EnableH264
SwitchScreen
StartStream
5.1.2
CString type
rw
CString address
URL
rw
CString session
session
rw
CString Version
rw
long showTitlebar
rw
long FullScreen
rw
17
long AutoColor
rw
Long AutoSize
rw
Long SyncClipboard
rw
long CurConsoleID
ID
rw
LPDISPATCH Connector
rw
BOOL UsingIEProxySetting
IE
rw
BOOL EnableScreenWhiteBoard
rw
BOOL EnableControl
rw
long
DesktopColor
rw
long
ShowControlSelector
rw
CString DisplayCompression
rw
18
CString Language
rw
BOOL SupportedSound
rw
long AutoStart
rw
5.1.3
ConnectAuto
szAddress
szSession
LPCTSTR
//
LPCTSTR
// session
AboutBox
void AboutBox()
RequestControl
long RequestControl()
OpenTaskManager
long OpenTaskManager()
ShutdownRemote
long ShutdownRemote()
19
RestartRemote
long RestartRemote()
LogoffRemote
long LogoffRemote()
OpenConsole
long OpenConsole()
SendCtrlAltDel
ctrl+alt+delete
long SendCtrlAltDel()
SetColor
nColor
long
OpenExplorer
explorer
long OpenExplorer()
GetCurColor
long GetCurColor()
20
GetResolutionCount
long GetResolutionCount()
GetResolutionX
nIndex
long
GetResolutionY
nIndex
long
ChangeResolution
nWidth
nHeight
long
long
GetSessionCount
long GetSessionCount()
GetSessionName
nIndex
long
GetSessionID
21
ID
nIndex
long
SwitchSession
Session
nID long
//SessionID
EnableH264
H264
bEnable
BOOL
//
SwitchScreen
nIndex
long
StartStream
long StartStream()
5.1.4
22