D3DXFERR Return Values

The methods used to work with DirectX .x files can return the following values in addition to the standard COM return values.

typedef enum D3DXFERR_Return_Values
{
    D3DXFERR_BADARRAYSIZE,
    D3DXFERR_BADCACHEFILE,
    D3DXFERR_BADDataReference,
    D3DXFERR_BADFILE,
    D3DXFERR_BADFILEFLOATSIZE,
    D3DXFERR_BADFILETYPE,
    D3DXFERR_BADFILEVERSION,
    D3DXFERR_BADOBJECT,
    D3DXFERR_BADRESOURCE,
    D3DXFERR_BADTYPE,
    D3DXFERR_BADVALUE,
    D3DXFERR_FILENOTFOUND,
    D3DXFERR_NOMOREDATA,
    D3DXFERR_NOMOREOBJECTS,
    D3DXFERR_NOTDONEYET,
    D3DXFERR_NOTFOUND,
    D3DXFERR_PARSEERROR,
    D3DXFERR_RESOURCENOTFOUND,
} D3DXFERR Return Values, *LPD3DXFERR Return Values;

Constants

D3DXFERR_BADARRAYSIZE
An array exceeds the allowable size.
D3DXFERR_BADCACHEFILE
A cache file could not be read.
D3DXFERR_BADDataReference
Template member data could not be retrieved.
D3DXFERR_BADFILE
A file read or write operation failed.
D3DXFERR_BADFILEFLOATSIZE
File is not the expected size.
D3DXFERR_BADFILETYPE
File has an invalid format.
D3DXFERR_BADFILEVERSION
File has an invalid format version.
D3DXFERR_BADOBJECT
Data could not be read from or written to an object.
D3DXFERR_BADRESOURCE
An operation on a resource failed.
D3DXFERR_BADTYPE
File did not match known template types.
D3DXFERR_BADVALUE
A variable is outside its expected range; typically returned when an object pointer is invalid.
D3DXFERR_FILENOTFOUND
A valid handle could not be found for the specified file.
D3DXFERR_NOMOREDATA
Pointer offset extended beyond the end of the buffer.
D3DXFERR_NOMOREOBJECTS
No more child objects are available.
D3DXFERR_NOTDONEYET
Data type did not match allowed types.
D3DXFERR_NOTFOUND
Object could not be found from the specified parameters.
D3DXFERR_PARSEERROR
Data stream could not be parsed.
D3DXFERR_RESOURCENOTFOUND
A valid handle could not be found for the specified resource.

Remarks

The .x file error facility code _FACD3DXF is used to generate error codes. For example:

#define _FACD3DXF           0x876
#define D3DXFERR_BADOBJECT  MAKE_HRESULT( 1, _FACD3DXF, 900 )