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 |