Repository methods return an HRESULT value that indicates whether or not the method completed successfully. If a Repository method fails to complete successfully, an error object is created that contains details about the failure. The REPOSERR data structure contains the following details.
struct REPOSERROR
{
ULONG iSize;
ULONG fFlags;
HRESULT hr;
TCHAR rcMsg[REPOSERROR_MSG_SIZE];
TCHAR rcHelpFile[_MAX_PATH];
ULONG dwHelpContext;
long iNativeError;
TCHAR rcSqlState[6];
short iReserved;
OBJID sObjID;
GUID clsid;
GUID iid;
};
iSize
The size in bytes of this data structure.
fFlags
Bit flags that define the validity of certain members of this data structure. Valid values are REPOSERROR_OBJKNOWN, REPOSERROR_SQLINFO, and REPOSERROR_HELPAVAIL. (See Repository Constants for the meaning of these constants.)
hr
The HRESULT return value that was returned from the method that logged this error.
rcMsg
The text message that is associated with this error.
rcHelpFile
The name of the help file that contains more information about this error.
dwHelpContext
The help context identifier that is associated with this error.
iNativeError
The error code that was returned from the database engine. The value of this member is only valid if the fFlags member indicates that SQL information is present.
rcSqlState
SQL state information supplied by the database engine. The value of this member is only valid if the fFlags member indicates that SQL information is present.
iReserved
Reserved for use by the Repository engine.
sObjID
The object identifier of the object that is associated with this error. The value of this member is only valid if the fFlags member indicates that the object is known.
clsid
The class identifier of the object that is associated with this error. The value of this member is only valid if the fFlags member indicates that the object is known.
iid
The interface identifier of the interface that is associated with this error. If the interface is not known, or not applicable, the value of this member is set to GUID_NULL.