|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Messaggi: n/a
|
[VC++] Conversione da LPVOID a LPSTR
Salve a tutti, perdonate la banalità della domanda. Allora la questione è questa ho una struttura nel quale devo impacchetto dei dati (per intenderci è la struttura TW_MEMREF delle specifiche Twain). Un campo di questa struttura è una variabile di tipo LPVOID (il "pData" della tripletta Twain), quindi un puntatore ad una variabile di tipo a priori sconosciuto. Ora il mio problema è che devo "duplicare" questa struttura. Essendoci questo LPVOID non posso chiaramente usare una malloc e per questo avevo pensato di crearmi una struttura destinataria il cui campo "pData" non è un LPVOID ma un LPSTR (ho infatti bisogno di scrivere questi dati in un file binario). Come diavolo faccio quindi a copiare il contenuto della locazione di memoria di questo benedetto LPVOID e metterlo quindi in una stringa?
Grazie 1000 anticipatamente a tutti!! |
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quindi a quale variabile di tipo TW_MEMREF di riferisci??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 | |
|
Messaggi: n/a
|
Quote:
Codice:
typedef struct
{
pTW_IDENTITY pSrc;
TW_UINT32 DG;
TW_UINT16 DAT;
TW_UINT16 MSG;
TW_MEMREF pData;
} TWMSG, FAR * PTWMSG;
Codice:
typedef struct {
HWND hwnd;
TW_UINT32 DG;
TW_UINT16 DAT;
TW_UINT16 MSG;
LPSTR pData;
} TW_INFO_EXP;
Ciao e grazie 1000 ancora! |
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
La documentazione PDF dice: pData Always references a structure or variable corresponding to the TWAIN type specified by the DAT_xxxx parameter. Typically, but not always, the data argument type name corresponds to a TW_xxxx data structure name. For example, the DAT_IDENTITY argument type uses the corresponding TW_IDENTITY data structure. Quindi a cosa punta quel pData, credo che dipenda dalle altre informazioni, DAT, ecc...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Messaggi: n/a
|
Innanzi tutto grazie, bene .. la struttura che ho citato è implementata nell'esempio della sorgente twain che installa l'SDK. Il pData è un parametro che passa il client twain ... quindi potrebbe essere banalmente una stringa passata per riferimento dentro la quale la sorgente che sto realizzando scriverà che ne so ... boh, il valore di determinate capability a seguito di una interrogazione.
Ad ogni modo credo che il mio problema stia da qualche altra parte perché effettivamente con una "memcpy" in un progettino di prova funziona perfettamente. Boh ... |
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:15.


















