Struttura DVTARGETDEVICE (objidl.h)

Specifica informazioni sul dispositivo di destinazione per cui vengono composti i dati. DVTARGETDEVICE contiene informazioni sufficienti su un dispositivo di destinazione Windows in modo che sia possibile creare un handle per un contesto di dispositivo usando la funzione CreateDC .

Sintassi

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

Members

tdSize

Dimensioni, in byte, della struttura DVTARGETDEVICE . Le dimensioni iniziali sono incluse in modo che la struttura possa essere copiata più facilmente.

tdDriverNameOffset

Offset, in byte, dall'inizio della struttura al nome del driver di dispositivo, archiviato come stringa con terminazione NULL nel buffer tdData .

tdDeviceNameOffset

Offset, in byte, dall'inizio della struttura al nome del dispositivo, archiviato come stringa con terminazione NULL nel buffer tdData . Questo valore può essere zero per indicare nessun nome di dispositivo.

tdPortNameOffset

Offset, in byte, dall'inizio della struttura al nome della porta, archiviato come stringa con terminazione NULL nel buffer tdData . Questo valore può essere zero per indicare nessun nome di porta.

tdExtDevmodeOffset

Offset, in byte, dall'inizio della struttura alla struttura DEVMODE recuperata chiamando DocumentProperties.

tdData[1]

Matrice di byte contenenti dati per il dispositivo di destinazione. Non è necessario includere stringhe vuote in tdData (per i nomi in cui il valore di offset è zero).

Commenti

Alcune applicazioni client OLE 1 costruiscono erroneamente i dispositivi di destinazione allocando troppi byte nella struttura DEVMODE per DVTARGETDEVICE. In genere specificano solo il numero di byte nel membro dmSize di DEVMODE. Il numero di byte da allocare deve essere la somma di dmSize + dmDriverExtra. Quando viene effettuata una chiamata alla funzione CreateDC con un dispositivo di destinazione non corretto, il driver della stampante tenta di accedere ai byte aggiuntivi e i risultati imprevedibili possono verificarsi. Per proteggersi da un arresto anomalo e rendere disponibili i byte aggiuntivi, OLE esegue il pad delle dimensioni dei dispositivi di destinazione OLE 2 creati dai dispositivi di destinazione OLE 1.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Intestazione objidl.h

Vedi anche

FORMATETC

IEnumFORMATETC

IViewObject

OleConvertOLESTREAMToIStorage