The document breifly describes DdeStrs.exe. DdeStrs is intended to exercise and stress Dde/Ddeml. Some areas exercised in the test are ... o Async/fAckRequest advise loops o Async executes o CF_TEXT, CF_DIB, CF_BITMAP, CF_METAFILEPICT, CF_PALETTE, and CF_ENHMETAFILE (w32 only) formats. o DdeConnectList/DdeDisconnectList o AppOwned handles [when -a option used] o Variable client/server connects (number of instances running of ddestrs.exe) o Cross process/In process and multithread communication. o System Timers The command line options are ... DdeStrs [-#%,-e#,-t#,-d,-a,-s,-c,-f#,-nNAME,-i#,-p,-?] where -#% allow the user to specify the intensity of the run (# = [1...100]) and can be read as stress percentage. 1 being low stress 100 being high stress. where -e# allows override of the delay set by the stress level. -e0 is usefull if the stress test is the only one running and it is desirable for the test to cover ground (number of windows, classes, and messages that are exercised). # is in milliseconds. where -t# specifies the number of minutes for the test to run. At the end of # minutes the test will shutdown. Default is 4320 min (About a weekend). Test can also be exited manually at any point. where -d selects debug mode. This mode of operation displays additional test information and outputs failures to the debug terminal. This mode is intended for debugging DdeStrs failures and not for use in public stress runs. where -a specifies to use AppOwned handle for data communications. where -s specifies that this instance is to run as server only [default is -s -c]. where -c specifies that this instance is to run as client only. [default is -s -c]. where -f# allow specific formats to be used. Default is all formats. If any specific formats are specified then only to formats will be used in the communication. [Ex - ddestrs -f1 -f2] will only use formats 1 and 2. Formats 1 CF_TEXT 2 CF_DIB 3 CF_BITMAP 4 CF_ENHMETAFILE (w32 only) 5 CF_METAFILEPICT 6 CF_PALETTE where -nNAME specifies the computer name to connect to. This is used for netdde and only needs to be specified on client applications. NAME=servername, Example '-njohnsp1' for computer \\johnsp1. Use Ddeshare.exe (w31 resources kit or Nt sdk) to setup the dde share enabling netdde to work. DdeStrs Service Name=DdeStrs, Topic=Test, and permissions must be change or greater (ddestrs.exe uses executes). where -i# specifies the number of threads to execute. # can be in the range [1..5]. This option is only available for Win Nt. where -p specifies pause before data update. With this specified the user can manually start executes and advise updates. With this connections are established, but no data is passed until manually started. DdeStrs adds a 'pause' button to allow stress to be started and stopped. Default is NO -p. where -? brings up a brief help list of DdeStrs Options. Test Usage ... Ddestrs will communicate with multiple copies of itself. Each new instance of ddestrs started will cause other instances to connect to all running copies available for conversation. This allows the stress level to be tailored both by the -#% and by the number of copies of the test running. Focus Test Api ... DdeQueryNextServer DdeClientTransaction DdeDisconnectList DdeConnectList DdeAccessData DdeAddData DdePostAdvise DdeDisconnect DdeUnaccessData DdeInitialize DdeNameService DdeCreateStringHandle DdeUninitialize DdeFreeStringHandle DdeCmpStringHandles DdeQueryConvInfo DdeCreateDataHandle DdeFreeDataHandle