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
