--- mstools/samples/rpc/mandel/mdlrpc.idl 2018/08/09 18:20:01 1.1 +++ mstools/samples/rpc/mandel/mdlrpc.idl 2018/08/09 18:24:14 1.1.1.4 @@ -1,25 +1,20 @@ -[ uuid (12345678-1234-1234-1234-123456789ABC)] +[ uuid (5630EAA0-CA48-1067-B320-00DD010662DA), + version (1.0), + pointer_default(unique) +] interface mdlrpc { -#define HEIGHT 300 -#define MAXLINES 32 -#define LONGSIZE 8 -#define MAX_BUFSIZE (HEIGHT * LONGSIZE * MAXLINES) -typedef unsigned short WORD; -typedef WORD * PWORD; - -typedef unsigned long DWORD; -typedef DWORD * PDWORD; +#define BUFSIZE 1200 // also defined in mandel.h typedef struct _cpoint { - double real; - double imag; + double real; + double imag; } CPOINT; typedef CPOINT * PCPOINT; -typedef struct _LONGRECT { /* rcl */ +typedef struct _LONGRECT { long xLeft; long yBottom; long xRight; @@ -28,17 +23,14 @@ typedef struct _LONGRECT { /* rcl */ typedef LONGRECT *PLONGRECT; -typedef struct _LINEBUF { - WORD adw[MAX_BUFSIZE]; -} LINEBUF; - -typedef LINEBUF * PLINEBUF; - +typedef unsigned short LINEBUF[BUFSIZE]; -void MandelCalc( [in] PCPOINT pcptLL, - [in] PLONGRECT prcDraw, - [in] double precision, - [in] DWORD ulThreshold, - [out] PLINEBUF pbBuf); +void MandelCalc( + [in] PCPOINT pcptLL, + [in] PLONGRECT prcDraw, + [in] double precision, + [in] unsigned long ulThreshold, + [out, ref] LINEBUF * pbBuf + ); }