README.TXT
STROUT   
 
 
The STROUT sample demonstrates how to allocate memory at a server for  
a two-dimensional object (an array of pointers) and pass it back to the  
client as an [out]-only parameter. The client then frees the memory.  
This technique allows the stub to call the server without knowing in  
advance how much data will be returned. 
This program also allows the user to compile either for UNICODE or ANSI. 
See section below for guidelines on how to compile for UNICODE 
 
  
FILES  
=====  
  
The directory samples\rpc\strout contains the following files for 
building the sample distributed application STROUT:  
  
File          Description 
------------------------- 
  
README.TXT      Readme file for the strout sample  
STROUT.IDL      Interface definition language file  
STROUT.ACF      Attribute configuration file  
CLIENT.C        Client main program  
SERVER.C        Server main program  
COMMON.H        Common header file for all the files 
REMOTE.C        Remote procedures  
MAKEFILE        nmake file to build 32-bit client and server applications 
                for ANSI characters. 
MAKEFILE.UNI    nmake file to build 32-bit client and server applications 
                for UNICODE characters. 
 
NMAKE builds the executable programs CLIENT.EXE (client) and 
SERVER.EXE (server). 
 
Note: The client and server applications can run on the same  
Microsoft Windows NT computer when you use different screen groups. 
 
 
 
COMPILING FOR UNICODE: 
====================== 
 
type nmake /f makefile.uni at the command line. This will cause 
the compiler to use the file MAKEFILE.UNI instead of the MAKEFILE. 
 
 
The reason behind the use of TEXT, TCHAR, _TUCHAR, _tprintf, _tcscpy,  
_tcscmp, and _tcslen is that these macros expand to either  
one byte character ANSI functions or to UNICODE (Wide characters) functions 
when they are compiled 
    TEXT    :   This macro will put an L in front of the string if we are  
                compiling for UNICODE 
    TCHAR   :   Maps to either char or wchar_t  
    _TUCHAR :   Maps to either unsigned char or wchar_t  
    _tprintf:   Maps to either printf or wsprintf 
    _tcslen :   Maps to either strlen or wcslen 
    _tcscpy :   Maps to either strcpy or wcscpy 
    _tcscmp :   Maps to either strcmp or wcscmp