以前没有仔细考虑过:
The following HRESULT values are defined in the System unit:
Constant Hex. Value Meaning
S_OK 00000000 No error. In some APIs, S_OK indicates a successful operation with a return value of true.
S_FALSE 00000001 No error, but operation did not produce a useful result. In some APIs, S_FALSE indicates a successful operation with a return value of false.
E_INTERFACE 80004002 Interface not supported.
E_UNEXPECTED 8000FFFF Catastrophic failure
E_NOTIMPL 80004001 Operation not implemented
Note that in the above constant names, the S_ and E_ prefixes correspond to the value of the Severity bit.
The following HRESULT values are defined in the Types unit (Linux) or Windows unit (Windows):
Constant Hex. Value Meaning
E_FAIL 80004005 Unspecified error.
STG_E_INVALIDFUNCTION 80030001 Unable to perform storage management function.
STG_E_FILENOTFOUND 80030002 File not found.
STG_E_PATHNOTFOUND 80030003 Path not found.
STG_E_TOOMANYOPENFILES 80030004 Insufficient resources to open another file.
STG_E_ACCESSDENIED 80030005 Access denied.
STG_E_INSUFFICIENTMEMORY 80030008 Insufficient memory to complete storage operation.
STG_E_NOMOREFILES 80030012 No more files to return.
STG_E_DISKISWRITEPROTECTED 80030013 Disk is write-protected.
STG_E_SEEKERROR 80030019 Error during seek.
STG_E_LOCKVIOLATION 80030021 Lock violation.
STG_E_FILEALREADYEXISTS 80030050 File already exists.
STG_E_INVALIDPARAMETER 80030057 Invalid parameter.
STG_E_MEDIUMFULL 80030070 Disk full.
STG_E_INVALIDNAME 800300FC Invalid name.
Note that an additional prefix is added to HRESULT constant names to indicate a non-zero Facility Code. In the above examples, the STG_ prefix and the Facility Code 3 both indicate storage errors.