|
|
//===========================================================================
// dmtxlat.cpp
//
// Value lookup tables
//
// Functions:
// dmtxlatHRESULT
//
// History:
// 11/09/1999 - davidkl - created
//===========================================================================
#include "dimaptst.h"
//---------------------------------------------------------------------------
// HRESULT error list (used by dmtxlatHRESULT)
typedef struct _errlist { HRESULT rval; PSTR sz; } ERRLIST;
static ERRLIST elErrors[] = { // these are listed as found in dinput.h
// success codes
{ DI_OK, "S_OK" }, { S_FALSE, "DI_NOTATTACHED | DI_BUFFEROVERFLOW | DI_PROPNOEFFECT | DI_NOEFFECT" }, { DI_POLLEDDEVICE, "DI_POLLEDDEVICE" }, { DI_DOWNLOADSKIPPED, "DI_DOWNLOADSKIPPED" }, { DI_EFFECTRESTARTED, "DI_EFFECTRESTARTED" }, { DI_TRUNCATED, "DI_TRUNCATED" }, { DI_TRUNCATEDANDRESTARTED, "DI_TRUNCATEDANDRESTARTED" }, // failure codes
{ DIERR_OLDDIRECTINPUTVERSION, "DIERR_OLDDIRECTINPUTVERSION" }, { DIERR_BETADIRECTINPUTVERSION, "DIERR_BETADIRECTINPUTVERSION" }, { DIERR_BADDRIVERVER, "DIERR_BADDRIVERVER" }, { REGDB_E_CLASSNOTREG, "DIERR_DEVICENOTREG" }, { DIERR_NOTFOUND, "DIERR_NOTFOUND | DIERR_OBJECTNOTFOUND" }, { E_INVALIDARG, "DIERR_INVALIDPARAM" }, { E_NOINTERFACE, "DIERR_NOINTERFACE" }, { E_FAIL, "DIERR_GENERIC" }, { E_OUTOFMEMORY, "DIERR_OUTOFMEMORY" }, { E_NOTIMPL, "DIERR_UNSUPPORTED" }, { DIERR_NOTINITIALIZED, "DIERR_NOTINITIALIZED" }, { DIERR_ALREADYINITIALIZED, "DIERR_ALREADYINITIALIZED" }, { CLASS_E_NOAGGREGATION, "DIERR_NOAGGREGATION" }, { E_ACCESSDENIED, "DIERR_OTHERAPPHASPRIO | DIERR_READONLY | DIERR_HANDLEEXISTS" }, { DIERR_INPUTLOST, "DIERR_INPUTLOST" }, { DIERR_ACQUIRED, "DIERR_ACQUIRED" }, { DIERR_NOTACQUIRED, "DIERR_NOTACQUIRED" }, { E_PENDING, "E_PENDING" }, { DIERR_INSUFFICIENTPRIVS, "DIERR_INSUFFICIENTPRIVS" }, { DIERR_DEVICEFULL, "DIERR_DEVICEFULL" }, { DIERR_MOREDATA, "DIERR_MOREDATA" }, { DIERR_NOTDOWNLOADED, "DIERR_NOTDOWNLOADED" }, { DIERR_HASEFFECTS, "DIERR_HASEFFECTS" }, { DIERR_NOTEXCLUSIVEACQUIRED, "DIERR_NOTEXCLUSIVEACQUIRED" }, { DIERR_INCOMPLETEEFFECT, "DIERR_INCOMPLETEEFFECT" }, { DIERR_NOTBUFFERED, "DIERR_NOTBUFFERED" }, { DIERR_EFFECTPLAYING, "DIERR_EFFECTPLAYING" }, { DIERR_UNPLUGGED, "DIERR_UNPLUGGED" }, { DIERR_REPORTFULL, "DIERR_REPORTFULL" } };
//---------------------------------------------------------------------------
//===========================================================================
// dmtxlatHRESULT
//
// Translates HRESULT codes into human readable form.
//
// Parameters:
// HRESULT hRes - result code to translate
//
// Returns: PSTR
//
// History:
// 11/09/1999 - davidkl - created (adapted from tdmusic sources)
//===========================================================================
PSTR dmtxlatHRESULT(HRESULT hRes) { int i = 0;
for(i = 0; i < COUNT_ARRAY_ELEMENTS(elErrors); i++ ) { if(hRes == elErrors[i].rval) { return elErrors[i].sz; } }
return (PSTR)"Unknown HRESULT";
} //*** end dmtxlatHRESULT()
//===========================================================================
// dmtxlatAppData
//
// Translates DIDEVICEOBJECTDATA.uAppData into text string representing
// semantic action.
//
// Parameters:
//
// Returns: PSTR
//
// History:
// 11/11/1999 - davidkl - created
//===========================================================================
PSTR dmtxlatAppData(UINT_PTR uAppData, ACTIONNAME *pan, DWORD dwActions) { DWORD dw = 0;
for(dw = 0; dw < dwActions; dw++) { if(((DWORD)uAppData) == (pan+dw)->dw) { return (pan+dw)->sz; } }
return (PSTR)"Unknown action";
} //*** end dmtxlatAppData()
|