psRdpdrStop Stop;
RdpdrServerPrivate* priv;
+
+ /* Server self-defined pointer. */
+ void* data;
+
+ /* Server supported redirections. Set by server. */
+ BOOL supportsDrives;
+ BOOL supportsPorts;
+ BOOL supportsPrinters;
+ BOOL supportsSmartcards;
+
+ /*** Drive APIs called by the server. ***/
+ psRdpdrDriveCreateDirectory DriveCreateDirectory;
+ psRdpdrDriveDeleteDirectory DriveDeleteDirectory;
+ psRdpdrDriveQueryDirectory DriveQueryDirectory;
+ psRdpdrDriveOpenFile DriveOpenFile;
+ psRdpdrDriveReadFile DriveReadFile;
+ psRdpdrDriveWriteFile DriveWriteFile;
+ psRdpdrDriveCloseFile DriveCloseFile;
+ psRdpdrDriveDeleteFile DriveDeleteFile;
+ psRdpdrDriveRenameFile DriveRenameFile;
+
+ /*** Drive callbacks registered by the server. ***/
+ psRdpdrOnDriveCreate OnDriveCreate;
+ psRdpdrOnDriveDelete OnDriveDelete;
+ psRdpdrOnDriveCreateDirectoryComplete OnDriveCreateDirectoryComplete;
+ psRdpdrOnDriveDeleteDirectoryComplete OnDriveDeleteDirectoryComplete;
+ psRdpdrOnDriveQueryDirectoryComplete OnDriveQueryDirectoryComplete;
+ psRdpdrOnDriveOpenFileComplete OnDriveOpenFileComplete;
+ psRdpdrOnDriveReadFileComplete OnDriveReadFileComplete;
+ psRdpdrOnDriveWriteFileComplete OnDriveWriteFileComplete;
+ psRdpdrOnDriveCloseFileComplete OnDriveCloseFileComplete;
+ psRdpdrOnDriveDeleteFileComplete OnDriveDeleteFileComplete;
+ psRdpdrOnDriveRenameFileComplete OnDriveRenameFileComplete;
+
+ /*** Port callbacks registered by the server. ***/
+ psRdpdrOnPortCreate OnPortCreate;
+ psRdpdrOnPortDelete OnPortDelete;
+
+ /*** Printer callbacks registered by the server. ***/
+ psRdpdrOnPrinterCreate OnPrinterCreate;
+ psRdpdrOnPrinterDelete OnPrinterDelete;
+
+ /*** Smartcard callbacks registered by the server. ***/
+ psRdpdrOnSmartcardCreate OnSmartcardCreate;
+ psRdpdrOnSmartcardDelete OnSmartcardDelete;
};
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
FREERDP_API RdpdrServerContext* rdpdr_server_context_new(HANDLE vcm);
FREERDP_API void rdpdr_server_context_free(RdpdrServerContext* context);