Windows Header-Dateien ... nur leider verschieden ... seltsam

08/12/2011 - 21:23 von Robert Hartmann | Report spam
Hallo zusammen,

Ich grübele gerade ein wenig ...

Ich habe mir die Definition von _INTERNET_CACHE_ENTRY_INFOA
und die Definition der Unicode-Variante _INTERNET_CACHE_ENTRY_INFOW
beide zufinden in der wininet.h etwas genauer angesehen.
Das soll heißen, ich habe mir die wininet.h von
Visual Studio 6, Visual Studio 2005, GCC von MinGW und Cygwin
sowie lcc vergleichend angesehen.

Ich musste feststellen, dass die Struktur prinzipiell
identisch aufgebaut sind, schließlich soll ja auch
die gleiche dll bedient werden.

ABER das "Attribut" mit dem Namen lpHeaderInfo der Struktur
ist nicht übergreifend konsistent:


VS6: LPBYTE lpHeaderInfo (ascii + unicode Variante gleich)
VS2005: LPSTR lpHeaderInfo (ascii Variante)
VS2005: LPWSTR lpHeaderInfo (unicode Variante)
MinGW: PBYTE lpHeaderInfo (ascii + unicode Variante gleich)
Cygwin: PBYTE lpHeaderInfo (ascii + unicode Variante gleich)
lcc: LPBYTE lpHeaderInfo (ascii + unicode Variante gleich)

Und hier
http://msdn.microsoft.com/en-us/lib...85134.aspx
steht: LPBYTE lpHeaderInfo

Und in ReactOS
http://doxygen.reactos.org/d8/d73/w...ource.html
ist es ebenfalls: LPBYTE lpHeaderInfo


Hat jemand eine Idee, warum VS2005 so aus der Reihe tanzt,
und ob ich "gefahrlos" die DLL trotzdem ansprechen kann.

Wie sieht es in neueren Visual Studio Versionen aus?

Gruß Robert
 

Lesen sie die antworten

#1 Martin Richter [MVP]
12/12/2011 - 09:54 | Warnen spam
Hallo Robert!

Hat jemand eine Idee, warum VS2005 so aus der Reihe tanzt,
und ob ich "gefahrlos" die DLL trotzdem ansprechen kann.



Bugs in den SDKs gibt es immer wieder.
Wenn Du diesen Parameter nicht benötigst ist das doch wurscht. Es ist
nur ein Zeiger und der ist immer 4/8 Bytes groß...

Wie sieht es in neueren Visual Studio Versionen aus?



Das neueste SDK ist mit Deinem VS-2005 identisch.
Dort ist lpHeaderInfo entweder ein LPWSTR bzw, ein LPSTR!

Du kannst Die selbst das neueste SDK herunterladen und integrieren in
Dein VS-2005.

Ich gehe davon aus, dass die Doku im Web falsch ist.

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com

Ähnliche fragen