  { FACILITY_STORAGE }

  { Unable to perform requested operation. }
  {$EXTERNALSYM STG_E_INVALIDFUNCTION}
  STG_E_INVALIDFUNCTION = DWORD($80030001);

  { %l could not be found. }
  {$EXTERNALSYM STG_E_FILENOTFOUND}
  STG_E_FILENOTFOUND = DWORD($80030002);

  { The path %l could not be found. }
  {$EXTERNALSYM STG_E_PATHNOTFOUND}
  STG_E_PATHNOTFOUND = DWORD($80030003);

  { There are insufficient resources to open another file. }
  {$EXTERNALSYM STG_E_TOOMANYOPENFILES}
  STG_E_TOOMANYOPENFILES = DWORD($80030004);

  { Access Denied. }
  {$EXTERNALSYM STG_E_ACCESSDENIED}
  STG_E_ACCESSDENIED = DWORD($80030005);

  { Attempted an operation on an invalid object. }
  {$EXTERNALSYM STG_E_INVALIDHANDLE}
  STG_E_INVALIDHANDLE = DWORD($80030006);

  { There is insufficient memory available to complete operation. }
  {$EXTERNALSYM STG_E_INSUFFICIENTMEMORY}
  STG_E_INSUFFICIENTMEMORY = DWORD($80030008);

  { Invalid pointer error. }
  {$EXTERNALSYM STG_E_INVALIDPOINTER}
  STG_E_INVALIDPOINTER = DWORD($80030009);

  { There are no more entries to return. }
  {$EXTERNALSYM STG_E_NOMOREFILES}
  STG_E_NOMOREFILES = DWORD($80030012);

  { Disk is write-protected. }
  {$EXTERNALSYM STG_E_DISKISWRITEPROTECTED}
  STG_E_DISKISWRITEPROTECTED = DWORD($80030013);

  { An error occurred during a seek operation. }
  {$EXTERNALSYM STG_E_SEEKERROR}
  STG_E_SEEKERROR = DWORD($80030019);

  { A disk error occurred during a write operation. }
  {$EXTERNALSYM STG_E_WRITEFAULT}
  STG_E_WRITEFAULT = DWORD($8003001D);

  { A disk error occurred during a read operation. }
  {$EXTERNALSYM STG_E_READFAULT}
  STG_E_READFAULT = DWORD($8003001E);

  { A share violation has occurred. }
  {$EXTERNALSYM STG_E_SHAREVIOLATION}
  STG_E_SHAREVIOLATION = DWORD($80030020);

  { A lock violation has occurred. }
  {$EXTERNALSYM STG_E_LOCKVIOLATION}
  STG_E_LOCKVIOLATION = DWORD($80030021);

  { %l already exists. }
  {$EXTERNALSYM STG_E_FILEALREADYEXISTS}
  STG_E_FILEALREADYEXISTS = DWORD($80030050);

  { Invalid parameter error. }
  {$EXTERNALSYM STG_E_INVALIDPARAMETER}
  STG_E_INVALIDPARAMETER = DWORD($80030057);

  { There is insufficient disk space to complete operation. }
  {$EXTERNALSYM STG_E_MEDIUMFULL}
  STG_E_MEDIUMFULL = DWORD($80030070);

  { Illegal write of non-simple property to simple property set. }
  {$EXTERNALSYM STG_E_PROPSETMISMATCHED}
  STG_E_PROPSETMISMATCHED = DWORD($800300F0);

  { An API call exited abnormally. }
  {$EXTERNALSYM STG_E_ABNORMALAPIEXIT}
  STG_E_ABNORMALAPIEXIT = DWORD($800300FA);

  { The file %l is not a valid compound file. }
  {$EXTERNALSYM STG_E_INVALIDHEADER}
  STG_E_INVALIDHEADER = DWORD($800300FB);

  { The name %l is not valid. }
  {$EXTERNALSYM STG_E_INVALIDNAME}
  STG_E_INVALIDNAME = DWORD($800300FC);

  { An unexpected error occurred. }
  {$EXTERNALSYM STG_E_UNKNOWN}
  STG_E_UNKNOWN = DWORD($800300FD);

  { That function is not implemented. }
  {$EXTERNALSYM STG_E_UNIMPLEMENTEDFUNCTION}
  STG_E_UNIMPLEMENTEDFUNCTION = DWORD($800300FE);

  { Invalid flag error. }
  {$EXTERNALSYM STG_E_INVALIDFLAG}
  STG_E_INVALIDFLAG = DWORD($800300FF);

  { Attempted to use an object that is busy. }
  {$EXTERNALSYM STG_E_INUSE}
  STG_E_INUSE = DWORD($80030100);

  { The storage has been changed since the last commit. }
  {$EXTERNALSYM STG_E_NOTCURRENT}
  STG_E_NOTCURRENT = DWORD($80030101);

  { Attempted to use an object that has ceased to exist. }
  {$EXTERNALSYM STG_E_REVERTED}
  STG_E_REVERTED = DWORD($80030102);

  { Can't save. }
  {$EXTERNALSYM STG_E_CANTSAVE}
  STG_E_CANTSAVE = DWORD($80030103);

  { The compound file %l was produced with an incompatible version of storage. }
  {$EXTERNALSYM STG_E_OLDFORMAT}
  STG_E_OLDFORMAT = DWORD($80030104);

  { The compound file %l was produced with a newer version of storage. }
  {$EXTERNALSYM STG_E_OLDDLL}
  STG_E_OLDDLL = DWORD($80030105);

  { Share.exe or equivalent is required for operation. }
  {$EXTERNALSYM STG_E_SHAREREQUIRED}
  STG_E_SHAREREQUIRED = DWORD($80030106);

  { Illegal operation called on non-file based storage. }
  {$EXTERNALSYM STG_E_NOTFILEBASEDSTORAGE}
  STG_E_NOTFILEBASEDSTORAGE = DWORD($80030107);

  { Illegal operation called on object with extant marshallings. }
  {$EXTERNALSYM STG_E_EXTANTMARSHALLINGS}
  STG_E_EXTANTMARSHALLINGS = DWORD($80030108);

  { The docfile has been corrupted. }
  {$EXTERNALSYM STG_E_DOCFILECORRUPT}
  STG_E_DOCFILECORRUPT = DWORD($80030109);

  { OLE32.DLL has been loaded at the wrong address. }
  {$EXTERNALSYM STG_E_BADBASEADDRESS}
  STG_E_BADBASEADDRESS = DWORD($80030110);

  { The file download was aborted abnormally.  The file is incomplete. }
  {$EXTERNALSYM STG_E_INCOMPLETE}
  STG_E_INCOMPLETE = DWORD($80030201);

  { The file download has been terminated. }
  {$EXTERNALSYM STG_E_TERMINATED}
  STG_E_TERMINATED = DWORD($80030202);

  { The underlying file was converted to compound file format. }
  {$EXTERNALSYM STG_S_CONVERTED}
  STG_S_CONVERTED = $00030200;

  { The storage operation should block until more data is available. }
  {$EXTERNALSYM STG_S_BLOCK}
  STG_S_BLOCK = $00030201;

  { The storage operation should retry immediately. }
  {$EXTERNALSYM STG_S_RETRYNOW}
  STG_S_RETRYNOW = $00030202;

  { The notified event sink will not influence the storage operation. }
  {$EXTERNALSYM STG_S_MONITORING}
  STG_S_MONITORING = $00030203;
