- Timestamp:
- Aug 12, 2008 6:05:19 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 34569
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vrdpapi.h
r8155 r11372 542 542 /** The version of the VRDP server interface. */ 543 543 #define VRDP_INTERFACE_VERSION_1 (1) 544 #define VRDP_INTERFACE_VERSION_2 (2) 544 545 545 546 /** The header that does not change when the interface changes. */ … … 718 719 uint32_t *pcbOut)); 719 720 } VRDPENTRYPOINTS_1; 721 722 /** The VRDP server entry points. Interface version 2. 723 * A new entry point VRDPRedirect has been added relative to version 1. 724 */ 725 typedef struct _VRDPENTRYPOINTS_2 726 { 727 /** The header. */ 728 VRDPINTERFACEHDR header; 729 730 /** Destroy the server instance. 731 * 732 * @param hServer The server instance handle. 733 * 734 * @return IPRT status code. 735 */ 736 DECLR3CALLBACKMEMBER(void, VRDPDestroy,(HVRDPSERVER hServer)); 737 738 /** The server should start to accept clients connections. 739 * 740 * @param hServer The server instance handle. 741 * @param fEnable Whether to enable or disable client connections. 742 * When is false, all existing clients are disconnected. 743 * 744 * @return IPRT status code. 745 */ 746 DECLR3CALLBACKMEMBER(int, VRDPEnableConnections,(HVRDPSERVER hServer, 747 bool fEnable)); 748 749 /** The server should disconnect the client. 750 * 751 * @param hServer The server instance handle. 752 * @param u32ClientId The client identifier. 753 * @param fReconnect Whether to send a "REDIRECT to the same server" packet to the 754 * client before disconnecting. 755 * 756 * @return IPRT status code. 757 */ 758 DECLR3CALLBACKMEMBER(void, VRDPDisconnect,(HVRDPSERVER hServer, 759 uint32_t u32ClientId, 760 bool fReconnect)); 761 762 /** 763 * Inform the server that the display was resized. 764 * The server will query information about display 765 * from the application via callbacks. 766 * 767 * @param hServer Handle of VRDP server instance. 768 */ 769 DECLR3CALLBACKMEMBER(void, VRDPResize,(HVRDPSERVER hServer)); 770 771 /** 772 * Send a update. 773 * 774 * @param hServer Handle of VRDP server instance. 775 * @param uScreenId The screen index. 776 * @param pvUpdate Pointer to VBoxGuest.h::VRDPORDERHDR structure with extra data. 777 * @param cbUpdate Size of the update data. 778 */ 779 DECLR3CALLBACKMEMBER(void, VRDPUpdate,(HVRDPSERVER hServer, 780 unsigned uScreenId, 781 void *pvUpdate, 782 uint32_t cbUpdate)); 783 784 /** 785 * Set the mouse pointer shape. 786 * 787 * @param hServer Handle of VRDP server instance. 788 * @param pPointer The pointer shape information. 789 */ 790 DECLR3CALLBACKMEMBER(void, VRDPColorPointer,(HVRDPSERVER hServer, 791 const VRDPCOLORPOINTER *pPointer)); 792 793 /** 794 * Hide the mouse pointer. 795 * 796 * @param hServer Handle of VRDP server instance. 797 */ 798 DECLR3CALLBACKMEMBER(void, VRDPHidePointer,(HVRDPSERVER hServer)); 799 800 /** 801 * Queues the samples to be sent to clients. 802 * 803 * @param hServer Handle of VRDP server instance. 804 * @param pvSamples Address of samples to be sent. 805 * @param cSamples Number of samples. 806 * @param format Encoded audio format for these samples. 807 * 808 * @note Initialized to NULL when the application audio callbacks are NULL. 809 */ 810 DECLR3CALLBACKMEMBER(void, VRDPAudioSamples,(HVRDPSERVER hServer, 811 const void *pvSamples, 812 uint32_t cSamples, 813 VRDPAUDIOFORMAT format)); 814 815 /** 816 * Sets the sound volume on clients. 817 * 818 * @param hServer Handle of VRDP server instance. 819 * @param left 0..0xFFFF volume level for left channel. 820 * @param right 0..0xFFFF volume level for right channel. 821 * 822 * @note Initialized to NULL when the application audio callbacks are NULL. 823 */ 824 DECLR3CALLBACKMEMBER(void, VRDPAudioVolume,(HVRDPSERVER hServer, 825 uint16_t u16Left, 826 uint16_t u16Right)); 827 828 /** 829 * Sends a USB request. 830 * 831 * @param hServer Handle of VRDP server instance. 832 * @param u32ClientId An identifier that allows the server to find the corresponding client. 833 * The identifier is always passed by the server as a parameter 834 * of the FNVRDPUSBCALLBACK. Note that the value is the same as 835 * in the VRDPSERVERCALLBACK functions. 836 * @param pvParm Function specific parameters buffer. 837 * @param cbParm Size of the buffer. 838 * 839 * @note Initialized to NULL when the application USB callbacks are NULL. 840 */ 841 DECLR3CALLBACKMEMBER(void, VRDPUSBRequest,(HVRDPSERVER hServer, 842 uint32_t u32ClientId, 843 void *pvParm, 844 uint32_t cbParm)); 845 846 /** 847 * Called by the application when (VRDP_CLIPBOARD_FUNCTION_*): 848 * - (0) guest announces available clipboard formats; 849 * - (1) guest requests clipboard data; 850 * - (2) guest responds to the client's request for clipboard data. 851 * 852 * @param hServer The VRDP server handle. 853 * @param u32Function The cause of the call. 854 * @param u32Format Bitmask of announced formats or the format of data. 855 * @param pvData Points to: (1) buffer to be filled with clients data; 856 * (2) data from the host. 857 * @param cbData Size of 'pvData' buffer in bytes. 858 * @param pcbActualRead Size of the copied data in bytes. 859 * 860 * @note Initialized to NULL when the application clipboard callbacks are NULL. 861 */ 862 DECLR3CALLBACKMEMBER(void, VRDPClipboard,(HVRDPSERVER hServer, 863 uint32_t u32Function, 864 uint32_t u32Format, 865 void *pvData, 866 uint32_t cbData, 867 uint32_t *pcbActualRead)); 868 869 /** 870 * Query various information from the VRDP server. 871 * 872 * @param hServer The VRDP server handle. 873 * @param index VRDP_QI_* identifier of information to be returned. 874 * @param pvBuffer Address of memory buffer to which the information must be written. 875 * @param cbBuffer Size of the memory buffer in bytes. 876 * @param pcbOut Size in bytes of returned information value. 877 * 878 * @remark The caller must check the *pcbOut. 0 there means no information was returned. 879 * A value greater than cbBuffer means that information is too big to fit in the 880 * buffer, in that case no information was placed to the buffer. 881 */ 882 DECLR3CALLBACKMEMBER(void, VRDPQueryInfo,(HVRDPSERVER hServer, 883 uint32_t index, 884 void *pvBuffer, 885 uint32_t cbBuffer, 886 uint32_t *pcbOut)); 887 888 /** 889 * The server should redirect the client to the specified server. 890 * 891 * @param hServer The server instance handle. 892 * @param u32ClientId The client identifier. 893 * @param pszServer The server to redirect the client to. 894 * @param pszUser The username to use for the redirection. 895 * Can be NULL. 896 * @param pszDomain The domain. Can be NULL. 897 * @param pszPassword The password. Can be NULL. 898 * @param u32SessionId The ID of the session to redirect to. 899 * @param pszCookie The routing token used by a load balancer to 900 * route the redirection. Can be NULL. 901 */ 902 DECLR3CALLBACKMEMBER(void, VRDPRedirect,(HVRDPSERVER hServer, 903 uint32_t u32ClientId, 904 const char *pszServer, 905 const char *pszUser, 906 const char *pszDomain, 907 const char *pszPassword, 908 uint32_t u32SessionId, 909 const char *pszCookie)); 910 } VRDPENTRYPOINTS_2; 720 911 721 912 #define VRDP_QP_NETWORK_PORT (1) … … 938 1129 939 1130 } VRDPCALLBACKS_1; 1131 1132 /* Callbacks are the same for the version 1 and version 2 interfaces. */ 1133 typedef VRDPCALLBACKS_1 VRDPCALLBACKS_2; 940 1134 941 1135 /**
Note:
See TracChangeset
for help on using the changeset viewer.