Thema: I wonder why

Einzelnen Beitrag anzeigen

Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

I wonder why

  Alt 20. Jul 2011, 23:28
Delphi-Quellcode:
type
  SCSI_PASS_THROUGH_DIRECT = record
    Length : Word;
    ScsiStatus : Byte;
    PathId : Byte;
    TargetId : Byte;
    Lun : Byte;
    CdbLength : Byte;
    SenseInfoLength : Byte;
    DataIn : Byte;
    DataTransferLength : ULONG;
    TimeOutValue : ULONG;
    DataBuffer : Pointer;
    SenseInfoOffset : ULONG;
    Cdb : Array[0..15] of Byte;
  end;

  SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER = record
    Spt : SCSI_PASS_THROUGH_DIRECT;
    Filler : ULONG;
    SenseBuf : Array[0..31] of Byte;
  end;

var
a : Konstanten.SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER; //// 77 byte sizeof
b : Laufwerke.SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER; //// 80 byte sife of
Nun sitze ich hier und frage mich, verstehe ich nichts mehr
bei SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER
sizeof sollte 77 byte rauskommen was für die Anwendung
leider falsch ist es sollten 80 byte sein.

die Version a ist in einer externen unit
die Version b ist in der Version von delphi praxis
wo ich leider die Referenz nicht mehr finde

die frage wo kommen die 3 byte unterschied her.

ps

ich hoffe ich bin verständlich
ich bin gefrustet und nicht mehr ganz nüchtern
Martin MIchael
  Mit Zitat antworten Zitat