BUG: Write Incorrectly Fills Out the OLETARGETDEVICE StructureLast reviewed: February 17, 1995Article ID: Q94609 |
The information in this article applies to:
SYMPTOMSIn an OLE server application's SetTargetDevice() method, the Device Name string located at the otdDeviceNameOffset position of the otdData buffer contained in the OLETARGETDEVICE structure is invalid.
CAUSEWindows Write does not properly NULL-terminate the Device Name string.
RESOLUTIONThe OLETARGETDEVICE structure contains information about a target device. It is declared in OLE.H as:
typedef struct _OLETARGETDEVICE { UINT otdDeviceNameOffset; UINT otdDriverNameOffset; UINT otdPortNameOffset; UINT otdExtDevmodeOffset; UINT otdExtDevmodeSize; UINT otdEnvironmentOffset; UINT otdEnvironmentSize; BYTE otdData[1]; }The otdData byte array contains a DEVMODE structure, which begins at offset otdExtDevmodeOffset. The Device Name string can be extracted from the dmDeviceName member of that DEVMODE structure.
STATUSMicrosoft has confirmed this to be a problem in Windows Write shipped with Microsoft Windows version 3.1. We are researching this problem and will post new information here as it becomes available.
|
Additional reference words: 1.00 buglist1.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |