tree::Exp * X86Frame::externalCall(const std::string &func, const tree::ExpList &args) { Label *flabel = gcnew(Label, (func)); tree::NAME *name = _NAME(flabel); tree::CALL *call = _CALL(name, args); return call; }
static FORCEINLINE const CHAR * __ReasonName( IN DWORD Reason ) { #define _NAME(_Reason) \ case DLL_ ## _Reason: \ return #_Reason; switch (Reason) { _NAME(PROCESS_ATTACH); _NAME(PROCESS_DETACH); _NAME(THREAD_ATTACH); _NAME(THREAD_DETACH); default: break; } return "UNKNOWN"; #undef _NAME }
#else #define _NAME(x) ((char*)NULL) #endif #define _cmd_t int #define _INTSIZE sizeof(_cmd_t) #define _NOT_TO_IMPLEMENT NULL #define _UNIMPLEMNTED_IN_ESD NULL #define _NEED_SAMPLE_SUPPORT NULL #define _ROAR2ESD(x) ((x)+1) #define _ESD2ROAR(x) ((x)-1) struct emul_esd_command g_emul_esd_commands[] = { {ESD_PROTO_CONNECT, ESD_KEY_LEN + _INTSIZE, _NAME("CONNECT"), emul_esd_on_connect}, {ESD_PROTO_LOCK, ESD_KEY_LEN + _INTSIZE, _NAME("LOCK"), NULL}, {ESD_PROTO_UNLOCK, ESD_KEY_LEN + _INTSIZE, _NAME("UNLOCK"), NULL}, {ESD_PROTO_STREAM_PLAY, ESD_NAME_MAX + 2 * _INTSIZE, _NAME("STREAM_PLAY"), emul_esd_on_stream}, {ESD_PROTO_STREAM_REC, ESD_NAME_MAX + 2 * _INTSIZE, _NAME("STREAM_REC"), emul_esd_on_stream}, {ESD_PROTO_STREAM_MON, ESD_NAME_MAX + 2 * _INTSIZE, _NAME("STREAM_MON"), emul_esd_on_stream}, {ESD_PROTO_SAMPLE_CACHE, ESD_NAME_MAX + 3 * _INTSIZE, _NAME("SAMPLE_CACHE"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_SAMPLE_FREE, _INTSIZE, _NAME("SAMPLE_FREE"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_SAMPLE_PLAY, _INTSIZE, _NAME("SAMPLE_PLAY"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_SAMPLE_LOOP, _INTSIZE, _NAME("SAMPLE_LOOP"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_SAMPLE_STOP, _INTSIZE, _NAME("SAMPLE_STOP"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_SAMPLE_KILL, 0 , _NAME("SAMPLE_KILL"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_STANDBY, ESD_KEY_LEN + _INTSIZE, _NAME("STANDBY"), emul_esd_on_standby}, {ESD_PROTO_RESUME, ESD_KEY_LEN + _INTSIZE, _NAME("RESUME"), emul_esd_on_standby}, {ESD_PROTO_SAMPLE_GETID, ESD_NAME_MAX , _NAME("SAMPLE_GETID"), _NEED_SAMPLE_SUPPORT}, {ESD_PROTO_STREAM_FILT, ESD_NAME_MAX + 2 * _INTSIZE, _NAME("STREAM_FILT"), emul_esd_on_stream},
static FORCEINLINE const CHAR * __FunctionName( IN DI_FUNCTION Function ) { #define _NAME(_Function) \ case DIF_ ## _Function: \ return #_Function; switch (Function) { _NAME(INSTALLDEVICE); _NAME(REMOVE); _NAME(SELECTDEVICE); _NAME(ASSIGNRESOURCES); _NAME(PROPERTIES); _NAME(FIRSTTIMESETUP); _NAME(FOUNDDEVICE); _NAME(SELECTCLASSDRIVERS); _NAME(VALIDATECLASSDRIVERS); _NAME(INSTALLCLASSDRIVERS); _NAME(CALCDISKSPACE); _NAME(DESTROYPRIVATEDATA); _NAME(VALIDATEDRIVER); _NAME(MOVEDEVICE); _NAME(DETECT); _NAME(INSTALLWIZARD); _NAME(DESTROYWIZARDDATA); _NAME(PROPERTYCHANGE); _NAME(ENABLECLASS); _NAME(DETECTVERIFY); _NAME(INSTALLDEVICEFILES); _NAME(ALLOW_INSTALL); _NAME(SELECTBESTCOMPATDRV); _NAME(REGISTERDEVICE); _NAME(NEWDEVICEWIZARD_PRESELECT); _NAME(NEWDEVICEWIZARD_SELECT); _NAME(NEWDEVICEWIZARD_PREANALYZE); _NAME(NEWDEVICEWIZARD_POSTANALYZE); _NAME(NEWDEVICEWIZARD_FINISHINSTALL); _NAME(INSTALLINTERFACES); _NAME(DETECTCANCEL); _NAME(REGISTER_COINSTALLERS); _NAME(ADDPROPERTYPAGE_ADVANCED); _NAME(ADDPROPERTYPAGE_BASIC); _NAME(TROUBLESHOOTER); _NAME(POWERMESSAGEWAKE); default: break; } return "UNKNOWN"; #undef _NAME }