INFO: DdeCreateStringHandle() lpszString param (102570)
The information in this article applies to:
- Microsoft Windows Software Development Kit (SDK) 3.1
- Microsoft Win32 Application Programming Interface (API), when used with:
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
This article was previously published under Q102570 SUMMARY
The documentation for the DdeCreateStringHandle() function in the
Windows 3.1 Software Development Kit (SDK) "Programmer's Reference,
Volume 2: Functions" incorrectly states that the lpszString parameter
may point to a buffer of a null-terminated string of any length, when
the string is actually limited to 255 characters.
DDEML string-management functions are internally implemented using
global atom functions. DdeCreateStringHandle() in particular,
internally calls GlobalAddAtom(), and therefore inherits the same
limitation as atoms to a maximum of 255 characters in length.
MORE INFORMATION
DDEML applications use string handles extensively to carry out DDE
tasks. To obtain a string handle for a string, an application calls
DdeCreateStringHandle(). This function registers the string with the
system by adding the string to the global atom table, and returns a
unique value identifying the string.
The global atom table table in Windows can maintain strings that are
less than or equal to 255 characters in length. Any attempt to add a
string of greater length to this global atom table will fail. Hence, a
call to DdeCreateStringHandle() fails for strings over 255 characters
long.
This limitation is by design. DDEML applications that use the
DdeCreateStringHandle() function should conform to the 255-character
limit.
This limitation has been preserved on the Windows NT version of DDEML
for compatibility reasons.
Modification Type: | Minor | Last Reviewed: | 3/7/2005 |
---|
Keywords: | kbDDE kbinfo KB102570 |
---|
|