⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 microudfclasstypes.pas

📁 用于CD/DVD烧录的Delphi源码,包括source和demo
💻 PAS
📖 第 1 页 / 共 2 页
字号:

     UDF_GenericPartitionMap2 = packed record
          PartitionMapType      : Byte;
          PartitionMapLength    : Byte;
          PartitionIdent        : packed array [0..61] of Byte;
     end;
      pUDF_GenericPartitionMap2 = ^UDF_GenericPartitionMap2;

(* Unallocated Space Descriptor (ECMA 167r3 3/10.8) *)
     UDF_UnallocSpaceDesc = packed record
          DescriptorTag    : UDF_DescriptorTag;
          VolumeDescSeqNum : DWord;
          AumAllocDescs    : DWord;
          AllocDescs       : UDF_ExtentDescriptor;
     end;
      PUDF_UnallocSpaceDesc = ^UDF_UnallocSpaceDesc;

(* Terminating Descriptor (ECMA 167r3 3/10.9) *)
     UDF_TerminatingDesc = packed record
          DescriptorTag     : UDF_DescriptorTag;
          reserved          : packed array [0..495] of Byte;
     end;
      PUDF_TerminatingDesc = ^UDF_TerminatingDesc;


(* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) *)
     UDF_logicalVolumeIntegrityDesc = packed record
          DescriptorTag            : UDF_DescriptorTag;
          RecordingDateAndTime     : UDF_Timestamp;
          IntegrityType            : DWord;
          NextIntegrityExt         : UDF_ExtentDescriptor;
          LogicalVolContentsUse    : packed array [0..31] of char;
          NumOfPartitions          : DWord;
          LengthOfImpUse           : DWord;
          FreeSpaceTable           : DWord;
          SizeTable                : DWord;
          ImpUse                   : UDF_EntityIdentifier;
          NumberOfFiles            : DWord;
          NumberOfDirectories      : DWord;
          MinimumUDFReadRevision   : Word;
          MinimumUDFWriteRevision  : Word;
          MaximumUDFWriteRevision  : Word;
     end;
       PUDF_logicalVolumeIntegrityDesc = ^UDF_logicalVolumeIntegrityDesc;



(* File Set Descriptor (ECMA 167r3 4/14.1) *)
Type
  UDF_FileSetDescriptor = packed record
    DescriptorTag                    : UDF_DescriptorTag;
    RecordingDateAndTime             : UDF_TimeStamp;
    InterchangeLevel                 : Word;
    MaximumInterchangeLevel          : Word;
    CharacterSetList                 : DWord;
    MaximumCharacterSetList          : DWord;
    FileSetNumber                    : DWord;
    FileSetDescriptorNumber          : DWord;
    LogicalVolumeIdentifierCharSet   : UDF_CharSpec;
    LogicalVolumeIdentifier          : packed array [0..127] of dstring;
    FileSetCharacterSet              : UDF_CharSpec;
    FileSetIdentifier                : packed array [0..31] of dstring;
    CopyrightFileIdentifier          : packed array [0..31] of dstring;
    AbstractFileIdentifier           : packed array [0..31] of dstring;
    RootDirectoryICB                 : UDF_LongAllocationDescriptor;
    DomainIdentifier                 : UDF_EntityIdentifier;
    NextExtent                       : UDF_LongAllocationDescriptor;
    StreamDirectoryICB               : UDF_LongAllocationDescriptor;
    Reserved                         : packed array [0..31] of Byte;
  end;
   PUDF_FileSetDescriptor = ^UDF_FileSetDescriptor;


(* Partition Header Descriptor (ECMA 167r3 4/14.3) *)
  UDF_PartitionHeaderDescriptor = packed record
    UnallocatedSpaceTable     : UDF_ShortAllocationDescriptor;
    UnallocatedSpaceBitmap    : UDF_ShortAllocationDescriptor;
    PartitionIntegrityTable   : UDF_ShortAllocationDescriptor;
    FreedSpaceTable           : UDF_ShortAllocationDescriptor;
    FreedSpaceBitmap          : UDF_ShortAllocationDescriptor;
    Reserved                  : packed array [0..87] of Byte;
  end;
   PUDF_PartitionHeaderDescriptor = ^UDF_PartitionHeaderDescriptor;


(* File Identifier Descriptor (ECMA 167r3 4/14.4) *)
  UDF_FileIdentifierDescriptor = packed record
    DescriptorTag              : UDF_DescriptorTag;
    FileVersionNumber          : Word;
    FileCharacteristics        : Byte;
    LengthOfFileIdentifier     : Byte;
    ICB                        : UDF_LongAllocationDescriptor;
    LengthOfImplementationUse  : Word;
    UDF_EntityIdentifierFlags  : Byte;
  end;
   PUDF_FileIdentifierDescriptor = ^UDF_FileIdentifierDescriptor;



(* Allocation Ext Descriptor (ECMA 167r3 4/14.5) *)
Type
     UDF_AllocExtDesc = Packed record
          DescriptorTag                  : UDF_DescriptorTag;
          PreviousAllocExtLocation       : Dword;
          LengthOfAllocationDescriptors  : Dword;
     end;
      PUDF_AllocExtDesc = ^UDF_AllocExtDesc;


(* ICB Tag (ECMA 167r3 4/14.6) *)
  UDF_ICBTag = packed record
    PriorRecordedNumberOfDirectEntries  : Dword;
    StrategyType                        : Word;
    StrategyParameter                   : packed array [0..1] of Byte;
    MaximumNumberOfEntries              : Word;
    Reserved                            : Byte;
    FileType                            : Byte;
    ParentICBLocation                   : UDF_RecordedAddress;
    Flags                               : Word;
  end;
    PUDF_ICBTag = ^UDF_ICBTag;


(* Indirect Entry (ECMA 167r3 4/14.7) *)
  UDF_IndirectEntry = packed record
    DescriptorTag         : UDF_DescriptorTag;
    ICBTag                : UDF_ICBTag;
    IndirectICB           : UDF_LongAllocationDescriptor;
  end;
   PUDF_IndirectEntry = ^UDF_IndirectEntry;


(* Terminal Entry (ECMA 167r3 4/14.8) *)
  UDF_TerminalEntry = packed record
    DescriptorTag   : UDF_DescriptorTag;
    UDF_ICBTag      : UDF_ICBTag;
  end;
   PUDF_TerminalEntry = ^UDF_TerminalEntry;


(* File Entry (ECMA 167r3 4/14.9) *)
  UDF_FileEntry = packed record
    DescriptorTag                : UDF_DescriptorTag;
    ICBTag                       : UDF_ICBTag;
    Uid                          : DWord;
    Gid                          : DWord;
    Permissions                  : DWord;
    FileLinkCount                : Word;
    RecordFormat                 : Byte;
    RecordDisplayAttributes      : Byte;
    RecordLength                 : DWord;
    InformationLength            : int64;
    LogicalBlocksRecorded        : int64;
    AccessDateAndTime            : UDF_TimeStamp;
    ModificationDateAndTime      : UDF_TimeStamp;
    AttributeDateAndTime         : UDF_TimeStamp;
    Checkpoint                   : DWord;
    ExtendedAttributeICB         : UDF_LongAllocationDescriptor;
    ImplementationIdentifier     : UDF_EntityIdentifier;
    UniqueID                     : int64;
    LengthOfExtendedAttributes   : DWord;
    LengthOfAllocationDescriptors: DWord;
    AllocationDescriptors        : packed array [0..1871] of Byte;
  end;
   PUDF_FileEntry = ^UDF_FileEntry;


Type
  UDF_ExtendedAttributeHeaderDescriptor = packed record
    DescriptorTag                     : UDF_DescriptorTag;
    ImplementationAttributesLocation  : DWord;
    ApplicationAttributesLocation     : DWord;
  end;
   PUDF_ExtendedAttributeHeaderDescriptor = ^UDF_ExtendedAttributeHeaderDescriptor;


(* Generic Format (ECMA 167r3 4/14.10.2) *)
  UDF_GenericExtendedAttribute = packed record
    AttributeType             : DWord;
    AttributeSubtype          : Byte;
    Reserved                  : packed array [0..2] of Byte;
    AttributeLength           : DWord;
    AttrData1stByte           : Byte;
  end;
   PUDF_GenericExtendedAttribute = ^UDF_GenericExtendedAttribute;


     UDF_ExtendedAttributes = packed record
          Header  : UDF_ExtendedAttributeHeaderDescriptor;
          Content : UDF_GenericExtendedAttribute;
     end;
      PUDF_ExtendedAttributes = ^UDF_ExtendedAttributes;


(* Character Set Information (ECMA 167r3 4/14.10.3) *)
  UDF_CharacterSetInformationExtendedAttribute = packed record
    AttributeType            : DWord;
    AttributeSubtype         : Byte;
    Reserved                 : packed array [0..2] of Byte;
    AttributeLength          : DWord;
    EscapeSequencesLength    : DWord;
    CharacterSetType         : Byte;
    EscapeSeq1stByte         : Byte;
  end;
   PUDF_CharacterSetInformationExtendedAttribute = ^UDF_CharacterSetInformationExtendedAttribute;

(* Alternate Permissions (ECMA 167r3 4/14.10.4) *)
     UDF_AlternatePermissions = Packed record
          AttributeType      : Dword;
          AttributeSubtype   : Byte;
          Reserved           : Packed array [0..2] of Byte;
          AttributeLength    : DWord;
          OwnerIdent         : Word;
          GroupIdent         : Word;
          Permission         : Word;
     end;
      PUDF_AlternatePermissions = ^UDF_AlternatePermissions;

(* File Times Extended Attribute (ECMA 167r3 4/14.10.5) *)
     UDF_FileTimesExtendedAttribute = Packed record
          AttributeType          : DWord;
          AttributeSubtype       : Byte;
          Reserved               : Packed array [0..2] of Byte;
          AttributeLength        : DWord;
          DataLength             : DWord;
          FileTimeExistence      : DWord;
          FileTimes              : UDF_Timestamp;
     end;
       PUDF_FileTimesExtendedAttribute = ^UDF_FileTimesExtendedAttribute;


(* Information Times Extended Attribute (ECMA 167r3 4/14.10.6) *)
  UDF_InformationTimesExtendedAttribute = packed record
    AttributeType            : DWord;
    AttributeSubtype         : Byte;
    Reserved                 : packed array [0..2] of Byte;
    AttributeLength          : DWord;
    DataLength               : DWord;
    InformationTimeExistence : DWord;
    InfoTimes1stByte         : Byte;
  end;
   PUDF_InformationTimesExtendedAttribute = ^UDF_InformationTimesExtendedAttribute;


(* Device Specification (ECMA 167r3 4/14.10.7) *)
  UDF_DeviceSpecificationExtendedAttribute = packed record
    AttributeType                : DWord;
    AttributeSubtype             : Byte;
    Reserved                     : packed array [0..2] of Byte;
    AttributeLength              : DWord;
    ImplementationUseLength      : DWord;
    MajorDeviceIdentification    : DWord;
    MinorDeviceIdentification    : DWord;
    ImpUse1stByte                : Byte;
  end;
   PUDF_DeviceSpecificationExtendedAttribute = ^UDF_DeviceSpecificationExtendedAttribute;


(* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) *)
  UDF_ImplementationUseExtendedAttribute = packed record
    AttributeType              : DWord;
    AttributeSubtype           : Byte;
    Reserved                   : packed array [0..2] of Byte;
    AttributeLength            : DWord;
    ImplementationUseLength    : DWord;
    ImplementationIdentifier   : UDF_EntityIdentifier;
    ImpUse1stByte              : Byte;
  end;
   PUDF_ImplementationUseExtendedAttribute = ^UDF_ImplementationUseExtendedAttribute;


(* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) *)
  UDF_ApplicationUseExtendedAttribute = packed record
    AttributeType              : DWord;
    AttributeSubtype           : Byte;
    Reserved                   : packed array [0..2] of Byte;
    AttributeLength            : DWord;
    ApplicationUseLength       : DWord;
    ApplicationIdentifier      : UDF_EntityIdentifier;
    ApplicationUse1stByte      : Byte;
  end;
   PUDF_ApplicationUseExtendedAttribute = ^UDF_ApplicationUseExtendedAttribute;





(* Unallocated Space Entry (ECMA 167r3 4/14.11) *)
Type
  UDF_UnallocatedSpaceEntry = packed record
    DescriptorTag                    : UDF_DescriptorTag;
    UDF_ICBTag                       : UDF_ICBTag;
    LengthOfAllocationDescriptors    : DWord;
    AllocDescs1stByte                : Byte;
  end;
   PUDF_UnallocatedSpaceEntry = ^UDF_UnallocatedSpaceEntry;


(* Space Bitmap Descriptor (ECMA 167r3 4/14.12) *)
  UDF_SpaceBitmapDescriptor = packed record
    DescriptorTag       : UDF_DescriptorTag;
    NumberOfBits        : DWord;
    NumberOfBytes       : DWord;
    Bitmap1stByte       : Byte;
  end;
   PUDF_SpaceBitmapDescriptor = ^UDF_SpaceBitmapDescriptor;


(* Partition Integrity Entry (ECMA 167r3 4/14.13) *)
     UDF_PartitionIntegrityEntry = packed record
          DescriptorTag            : UDF_DescriptorTag;
          UDF_ICBTag               : UDF_ICBTag;
          RecordingDateAndTime     : UDF_Timestamp;
          IntegrityType            : Byte;
          reserved                 : array [0..174] of Byte;
          ImplimentationIdentifier : UDF_EntityIdentifier;
          ImplimentationUse        : packed array [0..255] of Byte;
     end;


(* Logical Volume Header Descriptor (ECMA 167r3 4/14.15) *)
    UDF_LogicalVolHeaderDesc = Packed record
          UniqueID : int64;
          Reserved : packed array [0..23] of Byte;
     end;
       PUDF_LogicalVolHeaderDesc = ^UDF_LogicalVolHeaderDesc;


(* Path Component (ECMA 167r3 4/14.16.1) *)
     UDF_PathComponent = packed record
          ComponentType              : Byte;
          LengthComponentIdent       : Byte;
          ComponentFileVersionNum    : Word;
          ComponentIdent1stByte      : dstring;
     end;
      PUDF_PathComponent = ^UDF_PathComponent;


(* File Entry (ECMA 167r3 4/14.17) *)
  UDF_ExtendedFileEntry = packed record
    DescriptorTag                  : UDF_DescriptorTag;
    ICBTag                         : UDF_ICBTag;
    Uid                            : DWord;
    Gid                            : DWord;
    Permissions                    : DWord;
    FileLinkCount                  : Word;
    RecordFormat                   : Byte;
    RecordDisplayAttributes        : Byte;
    RecordLength                   : DWord;
    InformationLength              : int64;
    ObjectSize                     : int64;
    LogicalBlocksRecorded          : int64;
    AccessDateAndTime              : UDF_TimeStamp;
    ModificationDateAndTime        : UDF_TimeStamp;
    CreationDateAndTime            : UDF_TimeStamp;
    AttributeDateAndTime           : UDF_TimeStamp;
    Checkpoint                     : DWord;
    reserved                       : DWord;
    ExtendedAttributeICB           : UDF_LongAllocationDescriptor;
    StreamDirectoryICB             : UDF_LongAllocationDescriptor;
    ImplementationIdentifier       : UDF_EntityIdentifier;
    UniqueID                       : int64;
    LengthOfExtendedAttributes     : DWord;
    LengthOfAllocationDescriptors  : DWord;
    ExtendedAttr1stByte            : Byte;
  end;
   PUDF_ExtendedFileEntry = ^UDF_ExtendedFileEntry;



implementation



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -