Good work on this, make me wish I had win2k, oh well...

Gerard Bendotti

> -----Original Message-----
> From: rudi de vos [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, October 26, 2001 8:22 PM
> To:   [EMAIL PROTECTED]
> Subject:      vncdrv SPEED update download adress(forgot it)
> 
> Sorry,
> This is the adress
> http://services.simac.be/vnc/single/source/vncdrv_V2_00.zip
> 
> --------------------------------------------------------------------------
> ------
> 
> WINVNCDRV (video hook driver for windows 2000)
> 
> The problem with the old driver was the terrible overhead of drvescape
> and extescape. Drvescape stops the
> video driver while passing data to winvnc.
> 
> The new driver use shared kernel/user memory. (a lot faster)
> All rectangles and source points are cached in regions(driver site).
> (region code from rdp2vnc)
> Shared memory is used to pass changed rectancles and points from the
> cached regions to winvnc.
> Simple syncronizing for writing and reading implemented.
> 
> There is still work to do (optimalisation-vncClient.cpp) on the winvnc
> site, so I included the winvncsrc.
> Bugs,comments,questions...
> I will try to answer..
> 
> CHECK AFTER INSTALLING THAT BOTH DLL's: VNCDRV.DLL and VNCHELP.DLL
> are
> in system32
> else blue screen if you start vncclient.(vnchelp.dll creates the chared
> memory and pointers)
> NO RISK, driver is always inactive after reboot.
> UPDATE from older version, copy vncdrv.dll AND vnchelp.dll in system32
> 
> Groeten
> Rudi
> 
> For those who asked for a kind of testcode without vnc. This is the
> sample code I used to test the driver
> --------------------------------------------------------------------------
> --------------------------------
> 
> #include <Wingdi.h>
> #define MAXCOPYRECT 250
> 
> #define MAPMEM 1030
> #define UNMAPMEM 1031
> typedef struct _SHORTCOPYRECT
> {
>  long type;
>  RECTL rect;
>  POINTL point;
> }SHORTCOPYRECT;
> typedef SHORTCOPYRECT *PSHORTCOPYRECT;
> typedef struct _BUFDATA
>  {
>   ULONG aantal;
>   ULONG readwrite;
>   SHORTCOPYRECT pointrect[MAXCOPYRECT];
>  }BUFDATA;
> typedef BUFDATA *PBUFDATA;
> typedef struct _GETDATABUFFER
>  {
>   PBUFDATA buffer;
>  }GETBUFDATA;
> typedef GETBUFDATA *PGETBUFDATA;
> 
> int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance,
>  LPSTR pszCommandLine, int nCommandShow)
> {
>  GETBUFDATA bufdata;
> 
>  HDC gdc;
>  gdc = GetDC(NULL);
>  ExtEscape(gdc, MAPMEM, 0, NULL, sizeof(GETBUFDATA), (LPSTR) &bufdata);
> /// syncronization
> //readwrite 1=reading or writing,block start reading or writing
> //readwrite 0=done reading,ready to write
> //readwrite 2=done writing,ready to read
> //shared memory
> // bufdata.buffer->pointrect[ 1 to bufdata.buffer->aantal] contains the
> rectangles and points
>  bufdata.buffer->readwrite=0;
>  for (int i=0; i<200;i++)
>  {
>   if (bufdata.buffer->readwrite==2)
>   {
>    bufdata.buffer->readwrite=1;
>    Sleep(10); //emulate reading data
>    bufdata.buffer->readwrite=0;
>   }
>  }
>  ExtEscape(gdc, UNMAPMEM, 0, NULL, sizeof(GETBUFDATA), (LPSTR)
> &bufdata);
> ---------------------------------------------------------------------
> To unsubscribe, mail [EMAIL PROTECTED] with the line:
> 'unsubscribe vnc-list' in the message BODY
> See also: http://www.uk.research.att.com/vnc/intouch.html
> ---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, mail [EMAIL PROTECTED] with the line:
'unsubscribe vnc-list' in the message BODY
See also: http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------

Reply via email to