Zitat von
peanut:
Ich habe ihn überarbeitet und festgestellt, dass es auch ohne packed-Deklaration funktioniert.
Das ist korrekt. Packed hat dann eine Auswirkung, wenn sich ein Element, welches nicht "ausgerichtet" ist, zwischen anderen ausgerichteten Elementen befindet. Bsp., nähmen wir folgende Records an:
Delphi-Quellcode:
TCallbackInfo1 = packed record
ParentId : THANDLE;
bCreate : ByteBool;
ProcessId: THANDLE;
end;
TCallbackInfo2 = record
ParentId : THANDLE;
bCreate : ByteBool;
ProcessId: THANDLE;
end;
sizeof(TCallbackInfo2) == 12
sizeof(TCallbackInfo1) == 9
Übrigens, wenn du deinen Code noch etwas würzen willst, könntest du
PutBinResTo benutzen und den Treiber in dein Programm einbetten.