这篇教程C++ CMSetStatus函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CMSetStatus函数的典型用法代码示例。如果您正苦于以下问题:C++ CMSetStatus函数的具体用法?C++ CMSetStatus怎么用?C++ CMSetStatus使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CMSetStatus函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: __new_enumerationstatic struct native_enum * __new_enumeration ( int mm_add, CMPIArray * array, CMPIStatus * rc ){ static CMPIEnumerationFT eft = { NATIVE_FT_VERSION, __eft_release, __eft_clone, __eft_getNext, __eft_hasNext, __eft_toArray }; static CMPIEnumeration e = { "CMPIEnumeration", &eft }; struct native_enum * enumeration = (struct native_enum *) tool_mm_alloc ( mm_add, sizeof ( struct native_enum ) ); enumeration->enumeration = e; enumeration->mem_state = mm_add; enumeration->data = ( mm_add == TOOL_MM_NO_ADD )? CMClone ( array, rc ): array; CMSetStatus ( rc, CMPI_RC_OK ); return enumeration;}
开发者ID:brunolauze,项目名称:pegasus,代码行数:31,
示例2: __eft_clonestatic CMPIEnumeration * __eft_clone ( CONST CMPIEnumeration * enumeration, CMPIStatus * rc ){ CMPIStatus tmp; struct native_enum * e = (struct native_enum *) enumeration; CMPIArray * data; if (!checkArgs(enumeration, rc)) { return 0; } data = CMClone ( e->data, &tmp ); if (tmp.rc != CMPI_RC_OK) { CMSetStatus ( rc, CMPI_RC_ERR_FAILED ); return NULL; } return (CMPIEnumeration *) __new_enumeration ( TOOL_MM_NO_ADD, data, rc );}
开发者ID:brunolauze,项目名称:pegasus,代码行数:28,
示例3: memsetstatic NativeSubCond *__new_subcond(int mode, CMPIValuePtr ptr, CMPIStatus * rc){ static CMPISubCondFT eft = { NATIVE_FT_VERSION, __eft_release, __eft_clone, __eft_getCount, __eft_getPredicateAt, __eft_getPredicate }; static CMPISubCond c = { "CMPISubCond", &eft }; int state; NativeSubCond cond,*tCond; memset(&cond, 0, sizeof(cond)); cond.sc = c; cond.cond=ptr; tCond=memAddEncObj(mode, &cond, sizeof(cond),&state); tCond->mem_state=state; if (rc) CMSetStatus(rc, CMPI_RC_OK); return tCond;}
开发者ID:zaneb,项目名称:sblim-sfcb,代码行数:30,
示例4: __eft_toArraystatic CMPIArray * __eft_toArray ( CMPIEnumeration * enumeration, CMPIStatus * rc ){ struct native_enum * e = (struct native_enum *) enumeration; CMSetStatus ( rc, CMPI_RC_OK ); return e->data;}
开发者ID:juergh,项目名称:dash-sdk,代码行数:7,
示例5: __new_empty_resultstatic NativeResult *__new_empty_result(int mode, CMPIStatus *rc){ static CMPIResultFT rft = { NATIVE_FT_VERSION, __rft_release, __rft_clone, __rft_returnData, __rft_returnInstance, __rft_returnObjectPath, __rft_returnDone }; static CMPIResult r = { "CMPIResult", &rft }; int state; NativeResult result, *tRslt; memset(&result, 0, sizeof(NativeResult)); result.result = r; tRslt = memAddEncObj(mode, &result, sizeof(result), &state); tRslt->mem_state = state; if (rc) CMSetStatus(rc, CMPI_RC_OK); return tRslt;}
开发者ID:pravinmahajan,项目名称:sblim-sfcb,代码行数:31,
示例6: __new_expstatic struct native_selectexp * __new_exp ( int mm_add, CMPIUint64 id, CMPIStatus * rc ){ static CMPISelectExpFT eft = { NATIVE_FT_VERSION, __eft_release, __eft_clone, __eft_evaluate, __eft_getString, __eft_getDOC, __eft_getCOD, __eft_evaluateUsingAccessor }; static CMPISelectExp e = { "CMPISelectExp", &eft }; struct native_selectexp * exp = (struct native_selectexp *) tool_mm_alloc ( mm_add, sizeof ( struct native_selectexp ) ); exp->exp = e; exp->mem_state = mm_add; exp->id = id; CMSetStatus ( rc, CMPI_RC_OK ); return exp;}
开发者ID:host1812,项目名称:scx_plugin_public,代码行数:32,
示例7: __new_predicatestatic NativePredicate *__new_predicate(int mode, QLOperation * op, CMPIStatus *rc){ static CMPIPredicateFT eft = { NATIVE_FT_VERSION, __eft_release, __eft_clone, __eft_getData, __eft_evaluate }; static CMPIPredicate p = { "CMPIPredicate", &eft }; int state; NativePredicate pred, *tPred; memset(&pred, 0, sizeof(pred)); pred.pred = p; pred.op = op; tPred = memAddEncObj(mode, &pred, sizeof(pred), &state); tPred->mem_state = state; if (rc) CMSetStatus(rc, CMPI_RC_OK); return tPred;}
开发者ID:mchasal,项目名称:SFCB,代码行数:31,
示例8: __new_enumerationstatic struct native_enum * __new_enumeration ( CMPIArray * array, CMPIStatus * rc ){ static CMPIEnumerationFT eft = { NATIVE_FT_VERSION, __eft_release, __eft_clone, __eft_getNext, __eft_hasNext, __eft_toArray }; static const CMPIEnumeration e = { "CMPIEnumeration", &eft }; struct native_enum * enumeration = (struct native_enum *) calloc ( 1, sizeof ( struct native_enum ) ); enumeration->enumeration = e; enumeration->data = array; /* CMClone ( array, rc ) ? */ CMSetStatus ( rc, CMPI_RC_OK ); return enumeration;}
开发者ID:juergh,项目名称:dash-sdk,代码行数:25,
示例9: __new_expstatic NativeSelectExp *__new_exp(int mode, const char *queryString, const char *language, const char *sns, CMPIArray **projection, CMPIStatus *rc){ int state, irc; NativeSelectExp exp, *tExp; memset(&exp, 0, sizeof(exp)); exp.exp = eFt; /* * fprintf(stderr,"*** new select expression: %s %s/n",queryString, * language); */ exp.qs = parseQuery(mode, (char *) queryString, (char *) language, (char *) sns, &irc); if (irc) { if (rc) CMSetStatus(rc, CMPI_RC_ERR_INVALID_QUERY); return NULL; } exp.queryString = strdup(queryString); exp.language = strdup(language); if (sns) exp.sns = strdup(sns); if (projection) { char **list = exp.qs->spNames; int i; CMPIArray *ar = *projection = TrackedCMPIArray(exp.qs->spNext, CMPI_string, NULL); for (i = 0; *list; list++, i++) CMSetArrayElementAt(ar, i, (CMPIValue *) * list, CMPI_chars); } tExp = memAddEncObj(mode, &exp, sizeof(exp), &state); tExp->mem_state = state; if (rc) CMSetStatus(rc, CMPI_RC_OK); return tExp;}
开发者ID:pravinmahajan,项目名称:sblim-sfcb,代码行数:47,
示例10: dtGetBinaryFormat static CMPIUint64 dtGetBinaryFormat(const CMPIDateTime* eDt, CMPIStatus* rc) { CIMDateTime* dt=(CIMDateTime*)eDt->hdl; if (!dt) { if (rc) CMSetStatus(rc, CMPI_RC_ERR_INVALID_PARAMETER); return 0; } CMPIUint64 days,hours,mins,secs,usecs,utc,lTime; struct tm tm,tmt; CString tStr=dt->toString().getCString(); char cStr[26]; memset( cStr, 0, 26); memcpy (cStr, (const char*)tStr, 25); if (dt->isInterval()) { cStr[21]=0; usecs=atoi(cStr+15); cStr[15]=0; secs=atoi(cStr+12); cStr[12]=0; mins=atoi(cStr+10); cStr[10]=0; hours=atoi(cStr+8); cStr[8]=0; days=atoi(cStr); lTime=(days*PEGASUS_UINT64_LITERAL(86400000000))+ (hours*PEGASUS_UINT64_LITERAL(3600000000))+ (mins*60000000)+(secs*1000000)+usecs; } else { time_t tt=time(NULL); #ifdef PEGASUS_PLATFORM_WIN32_IX86_MSVC tmt=*localtime(&tt); #else localtime_r(&tt,&tmt); #endif memset(&tm,0,sizeof(tm)); tm.tm_isdst=tmt.tm_isdst; utc=atoi(cStr+21); cStr[21]=0; usecs=atoi(cStr+15); cStr[15]=0; tm.tm_sec=atoi(cStr+12); cStr[12]=0; tm.tm_min=atoi(cStr+10); cStr[10]=0; tm.tm_hour=atoi(cStr+8); cStr[8]=0; tm.tm_mday=atoi(cStr+6); cStr[6]=0; tm.tm_mon=(atoi(cStr+4)-1); cStr[4]=0; tm.tm_year=(atoi(cStr)-1900); lTime=mktime(&tm); lTime*=1000000; lTime+=usecs; } return lTime; }
开发者ID:ncultra,项目名称:Pegasus-2.5,代码行数:59,
示例11: __eft_evaluatestatic CMPIBoolean__eft_evaluate(const CMPIPredicate *pred, CMPIAccessor * acc, void *v, CMPIStatus *rc){ if (rc) CMSetStatus(rc, CMPI_RC_ERR_NOT_SUPPORTED); return 0;}
开发者ID:mchasal,项目名称:SFCB,代码行数:8,
示例12: KFindPropertyCMPIData KFindProperty( const CMPIInstance* ci, const char* name, CMPIStatus* status){ CMPICount count; CMPICount i; CMPIData cd; count = CMGetPropertyCount(ci, NULL); for (i = 0; i < count; i++) { CMPIString* pn = NULL; CMPIStatus st; cd = CMGetPropertyAt(ci, i, &pn, &st); if (!KOkay(st) || !pn) { memset(&cd, 0, sizeof(cd)); if (status) CMSetStatus(status, CMPI_RC_ERR_FAILED); return cd; } if (strcasecmp(KChars(pn), name) == 0) { if (status) CMSetStatus(status, CMPI_RC_OK); return cd; } } /* Not found! */ memset(&cd, 0, sizeof(cd)); if (status) CMSetStatus(status, CMPI_RC_ERR_NOT_FOUND); return cd;}
开发者ID:jubalh,项目名称:konkretcmpi,代码行数:46,
示例13: getQualifierCountstatic CMPICountgetQualifierCount(CMPIConstClass * cc, CMPIStatus *rc){ ClClass *cls = (ClClass *) cc->hdl; if (rc) CMSetStatus(rc, CMPI_RC_OK); return (CMPICount) ClClassGetQualifierCount(cls);}
开发者ID:mchasal,项目名称:SFCB,代码行数:8,
示例14: mbInvokeMethod static CMPIData mbInvokeMethod(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *cop, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc) { CMPIData data={0,CMPI_nullValue,{0}}; mb=CM_BROKER; if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_SUPPORTED); return data; }
开发者ID:ncultra,项目名称:Pegasus-2.5,代码行数:8,
示例15: __aft_getArgCountstatic unsigned int__aft_getArgCount(const CMPIArgs * args, CMPIStatus *rc){ ClArgs *ca = (ClArgs *) args->hdl; if (rc) CMSetStatus(rc, CMPI_RC_OK); return (CMPICount) ClArgsGetArgCount(ca);}
开发者ID:mchasal,项目名称:SFCB,代码行数:8,
示例16: sbcGetPredicateAt CMPIPredicate* sbcGetPredicateAt(const CMPISubCond* eSbc, unsigned int index, CMPIStatus* rc) { PEG_METHOD_ENTER( TRC_CMPIPROVIDERINTERFACE, "CMPI_SubCond:sbcGetPredicateAt()"); const CMPI_SubCond *sbc = (CMPI_SubCond*)eSbc->hdl; if( !sbc ) { PEG_TRACE_CSTRING( TRC_CMPIPROVIDERINTERFACE, Tracer::LEVEL1, "Invalid handle in CMPI_SubCond:sbcGetPredicateAt"); CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); PEG_METHOD_EXIT(); return 0; } CMPI_TableauRow* row = (CMPI_TableauRow* )sbc->priv; if( row ) { if( index<=row->size() ) { const CMPI_term_el *term=(row->getData())+index; CMPIPredicate *prd=(CMPIPredicate*)new CMPI_Predicate(term); /** CMPI_Object puts in the hdl the pointer to the CMPI_Predicate The sbcRelease will use that pointer to de-allocate the CMPI_Predicate structure. */ CMPI_Object *obj = new CMPI_Object(prd); CMSetStatus(rc,CMPI_RC_OK); CMPIPredicate* cmpiPredicate = reinterpret_cast<CMPIPredicate*>(obj); PEG_METHOD_EXIT(); return cmpiPredicate; } } CMSetStatus(rc, CMPI_RC_ERR_NO_SUCH_PROPERTY); PEG_METHOD_EXIT(); return NULL; }
开发者ID:host1812,项目名称:scx_plugin_public,代码行数:45,
示例17: errGetErrorType static CMPIErrorType errGetErrorType(const CMPIError* eErr, CMPIStatus* rc) { PEG_METHOD_ENTER( TRC_CMPIPROVIDERINTERFACE, "CMPI_Error:errGetErrorType()"); CIMError* cer=(CIMError*)eErr->hdl; if (!cer) { PEG_TRACE_CSTRING( TRC_CMPIPROVIDERINTERFACE, Tracer::LEVEL1, "Received invalid Handle - cer..."); CMSetStatus(rc, CMPI_RC_ERR_INVALID_PARAMETER); PEG_METHOD_EXIT(); return UnknownErrorType; } CMPIBoolean notNull; CIMError::ErrorTypeEnum pgErrorType; try { notNull = cer->getErrorType(pgErrorType); if (!notNull) { PEG_TRACE_CSTRING( TRC_CMPIPROVIDERINTERFACE, Tracer::LEVEL1, "Received invalid Parameter..."); CMSetStatus(rc, CMPI_RC_ERR_INVALID_PARAMETER); PEG_METHOD_EXIT(); return UnknownErrorType; } } catch (...) { CMSetStatus(rc, CMPI_RC_ERR_FAILED); PEG_METHOD_EXIT(); return UnknownErrorType; } CMSetStatus(rc,CMPI_RC_OK); PEG_METHOD_EXIT(); return(CMPIErrorType)pgErrorType; }
开发者ID:host1812,项目名称:scx_plugin_public,代码行数:45,
示例18: __cft_clonestatic CMPIContext * __cft_clone ( CONST CMPIContext * ctx, CMPIStatus * rc ){ if (!checkArgs(ctx, rc)) { return 0; } CMSetStatus ( rc, CMPI_RC_ERR_NOT_SUPPORTED ); return NULL;}
开发者ID:brunolauze,项目名称:pegasus,代码行数:9,
示例19: __dtft_getStringFormatstatic CMPIString *__dtft_getStringFormat(const CMPIDateTime *dt, CMPIStatus *rc){ struct native_datetime *ndt = (struct native_datetime *) dt; if (rc) CMSetStatus(rc, CMPI_RC_OK); return sfcb_native_new_CMPIString(ndt->cimDt, rc, 0);}
开发者ID:buccella,项目名称:SFCB,代码行数:9,
示例20: dateTime2charsvoiddateTime2chars(CMPIDateTime *dt, CMPIStatus *rc, char *str_time){ struct native_datetime *ndt = (struct native_datetime *) dt; strcpy(str_time, ndt->cimDt); if (rc) CMSetStatus(rc, CMPI_RC_OK);}
开发者ID:buccella,项目名称:SFCB,代码行数:9,
示例21: __dtft_getBinaryFormat/* * ! /param dt the native CMPIDateTime to be extracted. /param rc return * code pointer * * /return an amount of microseconds. */static CMPIUint64__dtft_getBinaryFormat(const CMPIDateTime *dt, CMPIStatus *rc){ struct native_datetime *ndt = (struct native_datetime *) dt; if (rc) CMSetStatus(rc, CMPI_RC_OK); return chars2bin(ndt->cimDt, rc);}
开发者ID:buccella,项目名称:SFCB,代码行数:15,
示例22: bin2charsstatic voidbin2chars(CMPIUint64 msecs, CMPIBoolean interval, CMPIStatus *rc, char *str_time){/** /brief bin2chars(): Converts microseconds since epoch to a string time. * * Uses the current timezone as the basis for the conversion, but will determine * if DST was in effect at the time in the input.*/ time_t secs = msecs / 1000000ULL; unsigned long usecs = msecs % 1000000ULL; if (interval) { unsigned long long useconds, seconds, mins, hrs, days; /* ddddddddhhmmss.mmmmmm:000, at most 8 characters for day */ const unsigned long long day_limit = 99999999; seconds = msecs / 1000000ULL; useconds = msecs % 1000000ULL; mins = seconds / 60ULL; seconds %= 60ULL; hrs = mins / 60ULL; mins %= 60ULL; /* Modify to avoid datetime string overflow when the time duration overflow */ days = ((hrs / 24ULL) > day_limit) ? day_limit : (hrs / 24ULL); hrs %= 24ULL; sprintf(str_time, "%8.8llu%2.2llu%2.2llu%2.2llu.%6.6llu:000", days, hrs, mins, seconds, useconds); } else { struct tm tm_time; char us_utc_time[11]; if (localtime_r(&secs, &tm_time) == NULL) { if (rc) CMSetStatus(rc, CMPI_RC_ERR_FAILED); return; } tzset(); snprintf(us_utc_time, 11, "%6.6ld%+4.3ld", usecs, (tm_time.tm_isdst != 0) * 60 - timezone / 60); strftime(str_time, 26, "%Y%m%d%H%M%S.", &tm_time); strcat(str_time, us_utc_time); }}
开发者ID:buccella,项目名称:SFCB,代码行数:57,
示例23: __dtft_isIntervalstatic CMPIBoolean__dtft_isInterval(const CMPIDateTime *dt, CMPIStatus *rc){ struct native_datetime *ndt = (struct native_datetime *) dt; if (rc) CMSetStatus(rc, CMPI_RC_OK); return ndt->cimDt[21] == ':' ? 1 : 0;}
开发者ID:buccella,项目名称:SFCB,代码行数:9,
示例24: getPropertyQualsAtCMPIDatagetPropertyQualsAt(CMPIConstClass * cc, CMPICount i, CMPIString **name, unsigned long *quals, CMPIString **refName, CMPIStatus *rc){ ClClass *cls = (ClClass *) cc->hdl; char *n; char *rName = NULL; CMPIData rv = { 0, CMPI_notFound, {0} }; if (ClClassGetPropertyAt(cls, i, &rv, name ? &n : NULL, quals, &rName)) { if (rc) CMSetStatus(rc, CMPI_RC_ERR_NOT_FOUND); return rv; } if (rv.type == CMPI_chars) { rv.value.string = sfcb_native_new_CMPIString(rv.value.chars, NULL, 0); rv.type = CMPI_string; } else if (rv.type == CMPI_ref) { if ((rv.state & CMPI_nullValue) == 0) rv.value.ref = getObjectPath((char *) ClObjectGetClString(&cls->hdr, (ClString *) & rv.value.chars), NULL); } if (rv.type & CMPI_ARRAY && rv.value.array) { rv.value.array = native_make_CMPIArray((CMPIData *) rv.value.array, NULL, &cls->hdr); } if (name) { *name = sfcb_native_new_CMPIString(n, NULL, 0); } if (refName && rName) { *refName = sfcb_native_new_CMPIString(rName, NULL, 0); } else { if (refName) { *refName = NULL; } } if (rc) CMSetStatus(rc, CMPI_RC_OK); return rv;}
开发者ID:mchasal,项目名称:SFCB,代码行数:44,
示例25: cmciRelease/** * cmciRelease**/CMPIStatus cmciRelease(CMCIClient* cmciClient){ CMPIStatus rc; cmciClient->ft->release (cmciClient); CMSetStatus(&rc, CMPI_RC_OK); return rc;}
开发者ID:juergh,项目名称:dash-sdk,代码行数:13,
示例26: __eft_getCountstatic CMPICount __eft_getCount(const CMPISubCond* cond, CMPIStatus* rc){ NativeSubCond *c = (NativeSubCond *) cond; CMPIArray *conds=(CMPIArray*)c->cond.ptr; CMPICount count=0; if (conds) count=CMGetArrayCount(conds,NULL); if (rc) CMSetStatus(rc, CMPI_RC_OK); return count;}
开发者ID:zaneb,项目名称:sblim-sfcb,代码行数:10,
示例27: arrayGetType PEGASUS_STATIC CMPIType arrayGetType( const CMPIArray* eArray, CMPIStatus* rc) { CMPI_Array *arr = (CMPI_Array*)eArray->hdl; if (!arr) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); return 0; } CMPIData *dta = (CMPIData*)arr->hdl; if (!dta) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); return CMPI_null; } CMSetStatus(rc,CMPI_RC_OK); return dta->type; }
开发者ID:brunolauze,项目名称:pegasus,代码行数:19,
示例28: arrayGetSize PEGASUS_STATIC CMPICount arrayGetSize( const CMPIArray* eArray, CMPIStatus* rc) { CMPI_Array *arr = (CMPI_Array*)eArray->hdl; if (!arr) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); return 0; } CMPIData *dta = (CMPIData*)arr->hdl; if (!dta) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); return 0; } CMSetStatus(rc,CMPI_RC_OK); return dta->value.uint32; }
开发者ID:brunolauze,项目名称:pegasus,代码行数:19,
示例29: dtClonestatic CMPIDateTime* dtClone(const CMPIDateTime* eDt, CMPIStatus* rc) { OpenWBEM::CIMDateTime * dt=(OpenWBEM::CIMDateTime*)eDt->hdl; //OpenWBEM::CIMDateTime * cDt=new OpenWBEM::CIMDateTime(dt->toString()); OpenWBEM::CIMDateTime * cDt = new OpenWBEM::CIMDateTime(*dt); CMPIDateTime* neDt=(CMPIDateTime*)new CMPI_Object(cDt,CMPI_DateTime_Ftab); CMSetStatus(rc,CMPI_RC_OK); return neDt;}
开发者ID:kkaempf,项目名称:openwbem,代码行数:10,
示例30: enumHasNext static CMPIBoolean enumHasNext( const CMPIEnumeration* eEnumObj, CMPIStatus* rc) { const CMPIEnumeration* eEnum = (CMPIEnumeration*)eEnumObj->hdl; if (!eEnum || !eEnum->hdl) { PEG_TRACE_CSTRING( TRC_CMPIPROVIDERINTERFACE, Tracer::LEVEL1, "Received invalid Handle - eEnum || eEnum->hdl..."); CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); return false; } CMSetStatus(rc, CMPI_RC_OK); if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab) { CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eEnum; if (ie->cursor<ie->max) { return true; } } else if ((void*)eEnum->ft == (void*)CMPI_InstEnumeration_Ftab) { CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eEnum; if (ie->cursor<ie->max) { return true; } } else { CMPI_OpEnumeration* oe = (CMPI_OpEnumeration*)eEnum; if (oe->cursor<oe->max) { return true; } } return false; }
开发者ID:brunolauze,项目名称:pegasus,代码行数:42,
注:本文中的CMSetStatus函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CMU_ClockEnable函数代码示例 C++ CMSerr函数代码示例 |