DVTARGETDEVICE 结构 (objidl.h)

指定有关要为其编写数据的目标设备的信息。 DVTARGETDEVICE 包含有关 Windows 目标设备的足够信息,因此可以使用 CreateDC 函数创建设备上下文 (HDC) 的句柄。

语法

typedef struct tagDVTARGETDEVICE {
  DWORD tdSize;
  WORD  tdDriverNameOffset;
  WORD  tdDeviceNameOffset;
  WORD  tdPortNameOffset;
  WORD  tdExtDevmodeOffset;
  BYTE  tdData[1];
} DVTARGETDEVICE;

成员

tdSize

DVTARGETDEVICE 结构的大小(以字节为单位)。 包含初始大小,因此可以更轻松地复制结构。

tdDriverNameOffset

从结构开头到设备驱动程序名称的偏移量(以字节为单位),设备驱动程序名称以 NULL 结尾存储在 tdData 缓冲区中。

tdDeviceNameOffset

从结构开头到设备名称的偏移量(以字节为单位),设备名称以 NULL 结尾的字符串存储在 tdData 缓冲区中。 此值可以为零,表示没有设备名称。

tdPortNameOffset

从结构开头到端口名称的偏移量(以字节为单位),该名称以 NULL 结尾的字符串存储在 tdData 缓冲区中。 此值可以为零,表示没有端口名称。

tdExtDevmodeOffset

从结构开头到通过调用 DocumentProperties 检索的 DEVMODE 结构的偏移量(以字节为单位)。

tdData[1]

包含目标设备数据的字节数组。 对于偏移值为零) 的名称,无需在 tdData (中包含空字符串。

注解

某些 OLE 1 客户端应用程序通过在 DEVMODE 结构中为 DVTARGETDEVICE 分配太少的字节来错误地构造目标设备。 它们通常只提供 DEVMODEdmSize 成员中的字节数。 要分配的字节数应为 dmSize + dmDriverExtra 的总和。 使用不正确的目标设备调用 CreateDC 函数时,打印机驱动程序会尝试访问其他字节,并且可能会出现不可预知的结果。 为了帮助防止崩溃并使其他字节可用,OLE 会填充从 OLE 1 目标设备创建的 OLE 2 目标设备的大小。

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
标头 objidl.h

请参阅

FORMATETC

IEnumFORMATETC

IViewObject

OleConvertOLESTREAMToIStorage