home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / zkuste / digifoto / where / download / WhereIsIt / setup.exe / %MAINDIR% / DescAPI / DescAPI.inc < prev    next >
Encoding:
Text File  |  2002-08-11  |  6.9 KB  |  221 lines

  1. const
  2. {$IFDEF DescAPI_10}
  3.   MaxDescLength = 4096;
  4. {$ELSE}
  5.   MaxDescLength = 32768;
  6. {$ENDIF}
  7.   MaxAliasLength = 255;
  8.   MaxDiskNameLength = 255;
  9.  
  10.   DT_Floppy525_360     = 0;
  11.   DT_Floppy525_12      = 1;
  12.   DT_Floppy35_720      = 2;
  13.   DT_Floppy525_8SD     = 3;
  14.   DT_Floppy525_8DD     = 4;
  15.   DT_HardDisk          = 5;
  16.   DT_TapeDrive         = 6;
  17.   DT_Floppy35_144      = 7;
  18.   DT_Optical           = 8;
  19.   DT_Floppy35_288      = 9;
  20.   DT_CDROM             = 10;
  21.   DT_Network           = 11;
  22.   DT_RamDisk           = 12;
  23.   DT_Removable         = 13;
  24.   DT_ZipDrive          = 14;
  25.   DT_JazDrive          = 15;
  26.   DT_ZipDrivePlus      = 16;
  27.   DT_SeagateDirectTape = 17;
  28.   DT_LS120             = 18;
  29.   DT_MOS320            = 19;
  30.   DT_MOS332            = 20;
  31.   DT_M2531A            = 21;
  32.   DT_Jaz2Drive         = 22;
  33.   DT_Zip250            = 23;
  34. {$IFDEF DescAPI_20}
  35.   DT_AudioCD           = 24;
  36. {$ENDIF}
  37.   DT_Unknown           = $FF;
  38.  
  39.   // Plugins can use the following error code with SetLastError() function
  40.   // to abort disk scanning. This code should be used with unrecoverable
  41.   // errors that affect scanning altogether, for example if plugin detects
  42.   // that media is no longer available
  43.   ERR_AbortScan = $FFFA8047;
  44.  
  45. type
  46.   TPluginType =
  47.      (ptReserved, ptSameFile, ptParentItem, ptItemList, ptDiskInfo, ptCDDB,
  48.       ptFormatting, ptThumbnails, ptCustomIcons, ptFileNameFormatting);
  49.  
  50.   TPluginDefaultState =
  51.      (pdsUserDefined_EnabledFirstTime, pdsUserDefined_DisabledFirstTime,
  52.       pdsForceAlwaysEnabled, pdsForceAlwaysDisabled);
  53.  
  54.   TDescInfoRecord = record
  55.     lpszRootPath: PChar;
  56.     lpszVirtualRoot: PChar;
  57.     lpszVolumeLabel: PChar;
  58.     lpszFSName: PChar;
  59.     iMaxNameLength: Integer;
  60.     dwSerialNumber: DWORD;
  61.     wDiskNum: Word;
  62.     wMediaType: Word;
  63.     iBytesPerSector: Integer;
  64.     iSectorsPerCluster: Integer;
  65.     iTotalClusters: Integer;
  66.     iFreeClusters: Integer;
  67.     iNumberOfFiles: Integer;
  68.     iNumberOfCompressedFiles: Integer;
  69.     wNumberOfDirs: Word;
  70.   end;
  71.  
  72.  
  73.   //********** Common functions to both DescAPI 1.0 and DescAPI 2.0 **********
  74.  
  75.   TConfigPluginProc = procedure(HInstance: THandle; OwnerWnd: THandle;
  76.      PluginID: Word); stdcall;
  77.  
  78.   TRegisterPlugin = function (PluginID: Word; PluginType: TPluginType; PluginName,
  79.      FileMask: PChar; ConfigProc: TConfigPluginProc): Integer; stdcall;
  80.  
  81.   TRegisterDescPlugins = procedure (RegisterPlugin: TRegisterPlugin); stdcall;
  82.  
  83.   TInitDescImport = procedure; stdcall;
  84.  
  85.   TDoneDescImport = procedure; stdcall;
  86.  
  87.   TRequireFileProc = function(FileName: PChar): PChar; stdcall;
  88.  
  89.   TStoreDescProc = function(FileName, Desc: PChar): Boolean; stdcall;
  90.  
  91.  
  92.   //****************** DescAPI 1.0 specific functions ************************
  93.  
  94.   TModuleInfo = procedure(ModuleName, Author, Version: PChar); stdcall;
  95.  
  96.   TImportDesc_SameFile = function(PluginID: Word; FileName,Desc: PChar;
  97.      RequireFile: TRequireFileProc): Boolean; stdcall;
  98.  
  99.   TImportDesc_ParentItem = function(PluginID: Word; ParentName,FoundList,Desc: PChar;
  100.      RequireFile: TRequireFileProc): Boolean; stdcall;
  101.  
  102.   TImportDesc_ItemList = procedure(PluginID: Word; ParentName,FoundList: PChar;
  103.      RequireFile: TRequireFileProc; StoreDescProc: TStoreDescProc); stdcall;
  104.  
  105.   TImportDesc_DiskInfoProc = function(PluginID: Word; DescInfo: TDescInfoRecord;
  106.      Desc: PChar): Boolean; stdcall;
  107.  
  108.   //****************** DescAPI 2.0 specific functions ************************
  109.  
  110.   TStoreAliasNameProc = function(FileName, AliasName: PChar): Boolean; stdcall;
  111.  
  112.   TModuleInfoRec = record
  113.      lpszModuleName: PChar;
  114.      lpszAuthor: PChar;
  115.      lpszVersion: PChar
  116.   end;
  117.   TModuleInfoPtr = ^TModuleInfoRec;
  118.   TModuleInfoEx = procedure(ModuleInfo: TModuleInfoPtr); stdcall;
  119.  
  120.   TPluginDefaultStateProc = function(PluginID: Word): TPluginDefaultState; stdcall;
  121.  
  122.   TPluginCapabilitiesRec = record
  123.      ImportingDesc: Boolean;
  124.      ImportingAlias: Boolean;
  125.   end;
  126.   TPluginCapabilitiesPtr = ^TPluginCapabilitiesRec;
  127.  
  128.   TPluginCapabilitiesProc = function(PluginID: Word; PluginCapabilities: TPluginCapabilitiesPtr): Integer; stdcall;
  129.  
  130.   TImportSameFileRec = record
  131.      FileName: PChar;
  132.      Desc: PChar;
  133.      AliasName: PChar;
  134.      RequireFileProc: TRequireFileProc;
  135.      MaxDescSize: Word;
  136.      SilentMode: Boolean;
  137.      OwnerWnd: THandle;
  138.   end;
  139.   TImportSameFilePtr = ^TImportSameFileRec;
  140.   TImportDesc_SameFileEx = function(PluginID: Word; ImportSameFile: TImportSameFilePtr): Integer; stdcall;
  141.  
  142.   TImportParentItemRec = record
  143.      ParentName: PChar;
  144.      FoundList: PChar;
  145.      Desc: PChar;
  146.      AliasName: PChar;
  147.      RequireFileProc: TRequireFileProc;
  148.      MaxDescSize: Word;
  149.      SilentMode: Boolean;
  150.      OwnerWnd: THandle;
  151.   end;
  152.   TImportParentItemPtr = ^TImportParentItemRec;
  153.   TImportDesc_ParentItemEx = function(PluginID: Word; ImportParentItem: TImportParentItemPtr): Integer; stdcall;
  154.  
  155.   TImportItemListRec = record
  156.      ParentName: PChar;
  157.      FoundList: PChar;
  158.      RequireFileProc: TRequireFileProc;
  159.      StoreDescProc: TStoreDescProc;
  160.      StoreAliasNameProc: TStoreAliasNameProc;
  161.      MaxDescSize: Word;
  162.      SilentMode: Boolean;
  163.      OwnerWnd: THandle;
  164.   end;
  165.   TImportItemListPtr = ^TImportItemListRec;
  166.   TImportDesc_ItemListEx = function(PluginID: Word; ImportItemList: TImportItemListPtr): Integer; stdcall;
  167.  
  168.   TImportDiskInfoRec = record
  169.      DescInfo: TDescInfoRecord;
  170.      Desc: PChar;
  171.      DiskName: PChar;
  172.      CDDBQueryID: PChar;
  173.      MaxDescSize: Word;
  174.      SilentMode: Boolean;
  175.      OwnerWnd: THandle;
  176.   end;
  177.   TImportDiskInfoPtr = ^TImportDiskInfoRec;
  178.   TImportDesc_DiskInfoProcEx = function(PluginID: Word; ImportDiskInfo: TImportDiskInfoPtr): Integer; stdcall;
  179.  
  180.   TFormatDescRec = record
  181.      Desc: PChar;
  182.      MaxDescSize: Word;
  183.      SourceModuleFile: PChar;
  184.      SourcePluginID: Word;
  185.      OwnerWnd: THandle;
  186.   end;
  187.   TFormatDescPtr = ^TFormatDescRec;
  188.   TFormatDescriptionProcEx = function(PluginID: Word; FormatDesc: TFormatDescPtr): Integer; stdcall;
  189.  
  190.   TThumbnailRec = record
  191.      FileName: PChar;
  192.      XSize,YSize: Word;
  193.      BitmapHandle: HBitmap;
  194.      RequireFileProc: TRequireFileProc;
  195.      SilentMode: Boolean;
  196.      OwnerWnd: THandle;
  197.   end;
  198.   TThumbnailPtr = ^TThumbnailRec;
  199.   TImportThumbnailProcEx = function(PluginID: Word; ThumbnailPtr: TThumbnailPtr): Integer; stdcall;
  200.  
  201.   //****************** DescAPI 2.10 specific functions ******************
  202.  
  203.   TFormatFileNameRec = record
  204.      FileName: PChar;
  205.      FullPath: PChar;
  206.      IsDirectory: Boolean;
  207.      IsCompressed: Boolean;
  208.      OwnerWnd: THandle;
  209.   end;
  210.   TFormatFileNamePtr = ^TFormatFileNameRec;
  211.   TFormatFileNameProcEx = function(PluginID: Word; FormatFileName: TFormatFileNamePtr): Integer; stdcall;
  212.  
  213.   TCustomIconRec = record
  214.      ItemPath: PChar;
  215.      IconHandle: HIcon;
  216.      SilentMode: Boolean;
  217.      OwnerWnd: THandle;
  218.   end;
  219.   TCustomIconPtr = ^TCustomIconRec;
  220.   TImportCustomIconProcEx = function(PluginID: Word; CustomIconPtr: TCustomIconPtr): Integer; stdcall;
  221.