Immernoch auf Kriegsfuß mit C/C++, Luckie?
Hier wird ein kleiner Trick benutzt, den du erst ab Tiburon auch in Delphi so benutzen kannst. Habe das lang und breit
im JAPI-Blog erklärt und auch warum ich das Vorgehen von Borland fragwürdig finde.
Unter Delphi kannst du bisher im Prinzip nur PChar oder PAnsiChar zu diesem Zweck benutzen. PBYTE geht leider noch immer nicht. Was passiert ist, daß in der Zeile:
Code:
PBYTE pbHexMac = (PBYTE) pulMac;
der Pointer auf den ULONG in einen Pointer auf ein BYTE umgewandelt wird. Da BYTE und CHAR prinzipiell das gleiche sind (auf CPU-Ebene unter IA-32 und x64), und man in C/C++ einen Pointer auch als Array betrachten kann, geht die FOR-Schleife durch das Array und formatiert jeweils das Byte am Index i.