STROUT.IDL

/************************************************************************* 
Copyright Microsoft Corp. 1992 - 1996
Remote Machine strout sample

FILE : strout.idl

PURPOSE : This file defines the interface for the strout example

*************************************************************************/
[
uuid(cab31280-b996-11cf-9548-00aa00374e69), // UUID
pointer_default(unique), // Pointer default
version(1.0) // Program version
]
interface strout_sample
{

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* Define a type for the second dimension variables that should be */
/* returned from the server. This should also work for UNICODE */
/* characters */
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#if defined _UNICODE
typedef [string, unique] wchar_t * str; // String of wide chars
#else
typedef [string, unique] char * str; // String of ASCII chars
#endif

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* Declaration of the remote procedure. */
/* This procedure will get the environment strings from the server */
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
void GetRemoteEnv(
// Number of lines in the envirionment block
[in, out] unsigned long * Lines,
// Pointer to an array of pointers to the lines in the env. block.
// MUST have comma before *Lines in size_of to set the size of
// the right dimension, which is the size of the array of pointers
[out, size_is(,*Lines)] str **EnvBlock);

// Procedure to shut down the server
void ShutDown(void);
}