PRB: StartDoc() Fails with Non-Zeroed DOCINFO (135119)
The information in this article applies to:
- Microsoft Win32 Application Programming Interface (API), when used with:
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Server 4.0
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0
This article was previously published under Q135119 SYMPTOMS
A call to StartDoc() fails, and no other reason for failure can
be found.
CAUSE
The DOCINFO structure passed to StartDoc() is not initialized to zeros before use.
RESOLUTION
Perform the following three steps:
- Call memset() to initialize the structure to zeros.
- Set the cbSize member to the appropriate value.
- Set the other relevant structure members' values.
Sample Code
The following is an example of what the code might display:
DOCINFO di;
// Get the DC, SetAbortProc(), and so on.
memset( &di, 0, sizeof( DOCINFO ) );
di.cbSize = sizeof( DOCINFO );
di.lpszDocName = "MyDoc";
if( StartDoc( hDC, &di ) <= 0 )
HandleFailure();
STATUS
This behavior is by design.
MORE INFORMATION
As a general rule, any structure that has a member that indicates the size
of the structure should be initialized to all zeros before being used by
following the previous steps.
| Modification Type: | Minor | Last Reviewed: | 3/7/2005 |
|---|
| Keywords: | kbcode kbFAQ kbprb kbprint KB135119 |
|---|
|