• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ bstr_t函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中bstr_t函数的典型用法代码示例。如果您正苦于以下问题:C++ bstr_t函数的具体用法?C++ bstr_t怎么用?C++ bstr_t使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了bstr_t函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: wmi_get_cpu_frequency

int wmi_get_cpu_frequency(float* pcpu_frequency) {

	assert(_initialized);
	assert(pcpu_frequency);

	float& cpu_frequency = *pcpu_frequency;

	IEnumWbemClassObject *enumerator = 0;
	IWbemClassObject * object = 0;

	// Use the IWbemServices pointer to make requests of WMI ----
	static const bstr_t WQL = bstr_t("WQL");
	static const bstr_t Query = bstr_t("SELECT CurrentClockSpeed FROM Win32_Processor");

	HRESULT result = services->ExecQuery(WQL,
		Query,
		WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
		NULL,
		&enumerator
	);

	if (FAILED(result)) {
		log_err("Query for operating system name failed."
					 " Error code = %d \n", result);
        services->Release();
        locator->Release();
        CoUninitialize();

		//TODO return valid error
        return -1;
    }

	VARIANT variant;
	ULONG uReturn;

	for(;;)
	{
		result = enumerator->Next(WBEM_INFINITE, 1, &object, &uReturn);
			
		if(0 == uReturn) {
			break;
		}

		VariantInit(&variant);

		result = object->Get(L"CurrentClockSpeed", 0, &variant, 0, 0);
		if (result == WBEM_S_NO_ERROR) {
				//Variant::Print(variant);
				cpu_frequency = (float)variant.iVal;
		}


		object->Release();
	}

	if (enumerator)
		enumerator->Release();	

	return 0;
}
开发者ID:hanappe,项目名称:low-energy-boinc,代码行数:60,代码来源:wmi.cpp


示例2: get_username

static int get_username() {
	
	IEnumWbemClassObject *enumerator = 0;
	IWbemClassObject * object = 0;

	bool res = false;
	_username = bstr_t();
	enumerator = request(bstr_t("select UserName from Win32_ComputerSystem"));

	VARIANT vUsername;
	VariantInit(&vUsername);

	ULONG uReturn;
	for(;;) {
		HRESULT result = enumerator->Next(WBEM_INFINITE, 1, &object, &uReturn);
		if(uReturn == 0) {
			break;
		}
		result = object->Get(L"UserName", 0, &vUsername, 0, 0);

		if (SUCCEEDED(result)) {
			_username = GetShortName(vUsername.bstrVal);
			res = true;
		}
		object->Release();
	}

	if (enumerator)
		enumerator->Release();

	//std::cout << "get_username(): " << _username << std::endl;

	return res;
}
开发者ID:hanappe,项目名称:low-energy-boinc,代码行数:34,代码来源:wmi.cpp


示例3: MakeWQL

bool TDBWMI::GetWMIInfo(PGLOBAL g)
  {
  if (Done)
    return false;

  char *cmd = MakeWQL(g);

  if (cmd == NULL) {
    sprintf(g->Message, "Error making WQL statement"); 
    Svc->Release();
    CoUninitialize();
    return true;               // Program has failed.
    }  // endif cmd

  // Query for Wclass in Nspace
  Rc = Svc->ExecQuery(bstr_t("WQL"), bstr_t(cmd),
//    WBEM_FLAG_BIDIRECTIONAL | WBEM_FLAG_RETURN_IMMEDIATELY, 
      WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
      NULL, &Enumerator);
  
  if (FAILED(Rc)) {
    sprintf(g->Message, "Query %s failed. Error code = %p", cmd, Rc); 
    Svc->Release();
    CoUninitialize();
    return true;               // Program has failed.
    }  // endif Rc

  Done = true;
  return false;
  } // end of GetWMIInfo
开发者ID:asmlib,项目名称:mariadb-server,代码行数:30,代码来源:tabwmi.cpp


示例4: dominoDocument

void TestDominoDocArtifact::TestCreateRelatedDocumentWithTmpFileName()
{
	DomDocHelper dominoDocument(TEST_ARTIFACT_FILE);      
	DominoDocArtifact artifact(m_spLibrary, dominoDocument.DocumentId, dominoDocument.GetVersionLabel());

	std::wstring tempFile = _bstr_t(CTempFileManager::GetTempFileName().c_str());
	std::wstring extension  = PathFindExtensionW(tempFile.c_str());  
	std::wstring w3TempFile = tempFile.substr(0, tempFile.length() - extension.length());
	w3TempFile.append(L".W3");

	rename(bstr_t(tempFile.c_str()), bstr_t(w3TempFile.c_str()));

	std::tofstream outFile(w3TempFile.c_str());
	outFile << _T("Some junk") << std::endl;
	outFile.close();

	Artifact relatedArtifact = artifact.CreateRelatedItem(w3TempFile, L"W3", L"", false);
	DominoDocManager  manager;
	manager.SetDocumentToDelete(relatedArtifact);
	CTempFileManager::DeleteTempFileName(w3TempFile);

	std::wstring dominoFileName = GetDominoDocumentFileName(relatedArtifact, m_spLibrary);
	extension = PathFindExtensionW(dominoFileName.c_str());  
	dominoFileName = dominoFileName.substr(0, dominoFileName.length() - extension.length());

	assertEqualsNoCase(_T(".W3"), bstr_t(extension.c_str()));
	assertEquals(artifact.Name, dominoFileName);
	assertEquals(artifact.Name + L".W3", relatedArtifact.Name);
}
开发者ID:killbug2004,项目名称:WSProf,代码行数:29,代码来源:TestDominoDocArtifact.cpp


示例5: LWARNING

VARIANT* GpuCapabilitiesWindows::WMIquery(std::string wmiClass, std::string attribute) {

    // Code based upon:  "Example: Getting WMI Data from the Local Computer"
    // http://msdn2.microsoft.com/en-us/library/aa390423.aspx

    if (!isWMIinited()) {
        LWARNING("WMI not initiated");
        return 0;
    }

    HRESULT hres;
    VARIANT* result = 0;

    // Step 6: --------------------------------------------------
    // Use the IWbemServices pointer to make requests of WMI ----
    IEnumWbemClassObject* pEnumerator = NULL;
    std::string query = "SELECT " + attribute + " FROM " + wmiClass;
    hres = pWbemServices_->ExecQuery(
        bstr_t("WQL"),
        bstr_t(query.c_str()),
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
        NULL,
        &pEnumerator);

    if (FAILED(hres)) {
        LWARNING("ERROR: WMI query failed: " << query);
        return 0;
    }

    // Step 7: -------------------------------------------------
    // Get the data from the query in step 6 -------------------

    IWbemClassObject* pclsObj = 0;
    ULONG uReturn = 0;

    if (pEnumerator) {
        HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
            &pclsObj, &uReturn);

        if (uReturn) {
            // Get the value of the attribute and store it in result
            result = new VARIANT;
            hr = pclsObj->Get(LPCWSTR(str2wstr(attribute).c_str()), 0, result, 0, 0);
        }
    }

    if (!result) {
        LWARNING("No WMI query result");
    }

    // Clean enumerator and pclsObject
    if (pEnumerator)
        pEnumerator->Release();
    if (pclsObj)
        pclsObj->Release();

    return result;

}
开发者ID:tusharuiit,项目名称:2014-2015_HiwiMedicalXTTVisualization,代码行数:59,代码来源:gpucapabilitieswindows.cpp


示例6: IsPropertyElement

bool PropertyElement::IsPropertyElement(MSXML2::IXMLDOMNodePtr  pNode)
{
	MSXML2::IXMLDOMNodePtr pNameElement = pNode->selectSingleNode(bstr_t(L"Name"));
	MSXML2::IXMLDOMNodePtr pValueElement = pNode->selectSingleNode(bstr_t(L"Value"));
	if(pNameElement!=NULL && pValueElement !=NULL)
		return true;
	return false;
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:8,代码来源:ResourceIntegrator.cpp


示例7: OnAxActivate

 void SFlashCtrl::OnAxActivate( IUnknown *pUnknwn )
 {
     flash_=pUnknwn;
     if(flash_)
     {
         flash_->put_WMode(bstr_t(_T("transparent")));
         if(!m_strUrl.IsEmpty()) flash_->put_Movie(bstr_t(m_strUrl));
     }
 }
开发者ID:hdwdsj,项目名称:SoUiTestProject,代码行数:9,代码来源:SActiveX.cpp


示例8: CalculateExpression_Ole

BOOL CalculateExpression_Ole(CString& sExpr, CString sLang, BOOL bInSilence, int iEntryPoint)
{
	cs.Lock();
	int iRes=0;
	::CoInitialize(NULL);
	BOOL bJScriptLang=(sLang=="JScript" || sLang=="");
	BOOL bVBScriptLang=(sLang=="VBScript");
	if(bJScriptLang || bVBScriptLang)
	{// Создаем область видимости чтобы разрушение ком-объекта было нормальным
		MSScriptControl::IScriptControlPtr ScriptEngine;
		ScriptEngine.CreateInstance("MSScriptControl.ScriptControl"); 
		if(bJScriptLang){
			ScriptEngine->Language="JScript";
		}else if(bVBScriptLang){
			ScriptEngine->Language="VBScript";
		}else{
			ScriptEngine->Language=(const char*)sLang;
		}
		ScriptEngine->Timeout = -1;//No timeout
		try {//RET_FAIL(spAS->AddNamedItem(OLESTR("MyObject"), SCRIPTITEM_ISVISIBLE | SCRIPTITEM_ISSOURCE), "IActiveScript::AddNamedItem()");
			_variant_t result;
			if(!bJScriptLang){
				sExpr=CString("Dim OUTPUT\r\n")+sExpr;
				ScriptEngine->ExecuteStatement(bstr_t(sExpr));
				sExpr="OUTPUT";
				result=ScriptEngine->Eval(bstr_t(sExpr));
			}else{
				result=ScriptEngine->Eval(bstr_t(sExpr));
			}
			sExpr=(const char*)_bstr_t(result);
			iRes=1;
		}catch(_com_error err){
			if(!bInSilence){
				//FLOG1("Script error: \n%s\n",sExpr)
				CString sErr((BSTR)err.Description());
				CString sErrSource((BSTR)err.Source());
				if(sErrSource!=""){
					sErr+="\n";
					sErr+=sErrSource;
				}
				if(sErr==""){
					sErr=GetCOMError(err.Error());
				}
				AfxMessageBox(sErr);
			}
			iRes=-1;
		};
	}else
	{// Загружаем дллку
		iRes=FALSE;
	}
	::CoUninitialize();
	cs.Unlock();
	return iRes;
}
开发者ID:calupator,项目名称:wiredplane-wintools,代码行数:55,代码来源:WKPlugin.cpp


示例9: bstr_t

VARIANT WMIQuery::requestData(const char* WMIClass, LPCWSTR dataName) {
	result = services->ExecQuery(bstr_t("WQL"), bstr_t("SELECT * FROM ") + bstr_t(WMIClass), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &enumerator);
	ULONG uReturn;
	while(enumerator) {
		HRESULT result = enumerator->Next(WBEM_INFINITE, 1, &object, &uReturn);
		if(0 == uReturn) {
			break;
		}
		result = object->Get(dataName, 0, &returnVariant, 0, 0);
		return returnVariant;
	}
	return returnVariant;
}
开发者ID:Forgive,项目名称:CPU-Information,代码行数:13,代码来源:wmiquery.cpp


示例10: bstr_t

void PropertyElement::Save(CMSD::CProperty & prop)
{
	if((name == bstr_t(L"None") && value == bstr_t(L"None")) ||
		(name == bstr_t(L"") && value == bstr_t(L""))
		)
	{
		MSXML2::IXMLDOMNodePtr  pNode = prop.GetNode()->GetparentNode(); 
		pNode->removeChild(prop.GetNode()); 
		return;
	}
	prop.Name.append() = std::string((LPCSTR) this->name);
	prop.Value2.append() = std::string((LPCSTR) value);
	CREATEIF(prop.Description.append(), description);
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:14,代码来源:ResourceIntegrator.cpp


示例11: CoInitializeSecurity

HRESULT WMI::Open(LPCTSTR machine, LPCTSTR user, LPCTSTR pass)
{
    IWbemLocator *locator;
    wchar_t path[MAX_PATH];

    if (wbem) {
        result = S_OK;
        return result;
    }

    result =
        CoInitializeSecurity(NULL,                        //Security Descriptor
                             -1,                          //COM authentication
                             NULL,                        //Authentication services
                             NULL,                        //Reserved
                             RPC_C_AUTHN_LEVEL_DEFAULT,   //Default authentication
                             RPC_C_IMP_LEVEL_IMPERSONATE, //Default Impersonation
                             NULL,                        //Authentication info
                             EOAC_NONE,                   //Additional capabilities
                             NULL);                       //Reserved

    result = CoCreateInstance(CLSID_WbemLocator,
                              NULL, /* IUnknown */
                              CLSCTX_INPROC_SERVER,
                              IID_IWbemLocator,
                              (LPVOID *)&locator);

    if (FAILED(result)) {
        return result;
    }

    if (machine == NULL) {
        machine = L".";
    }

    wsprintf(path, L"\\\\%S\\ROOT\\CIMV2", machine);

    result = locator->ConnectServer(bstr_t(path), //Object path of WMI namespace
                                    bstr_t(user), //User name. NULL = current user
                                    bstr_t(pass), //User password. NULL = current
                                    NULL,         //Locale. NULL indicates current
                                    0,            //Security flags
                                    NULL,         //Authority (e.g. Kerberos)
                                    NULL,         //Context object
                                    &wbem);       //pointer to IWbemServices proxy

    locator->Release();

    return result;
}
开发者ID:Krillsson,项目名称:sigar,代码行数:50,代码来源:wmi.cpp


示例12: return

std::string IObject::GetValue(int index)
{
	MyStructMeta ** meta = this->GetMetaData();

	if(index < 0 || index >= HeaderCount())
	{
		return ""; 
	}
	
	MyStructMeta * ameta =  meta[index];

	if(ameta->eType == type_is_bstr_t)
	{
		return ( (LPCSTR) *(bstr_t *) ((char *) this + ameta->oFieldOffset) );
	}
	// treat like a vector of bstr for now  name=value(units)description,...
	// Big problem is multiline descriptions - not handled
	else if(ameta->eType == type_is_propertylist) 
	{
		std::vector<bstr_t> * bstrs = (std::vector<bstr_t> *) ((char *) this + ameta->oFieldOffset);
		bstr_t a = accumulate( (*bstrs).begin(), (*bstrs).end(), bstr_t("") );
		return ((LPCSTR) a);

	}
	else if(ameta->eType == type_is_array)  // comma delimited string
	{
		std::vector<bstr_t> * bstrs = (std::vector<bstr_t> *) ((char *) this + ameta->oFieldOffset);
		bstr_t a = GetCommaString(bstrs,","); // accumulate( (*bstrs).begin(), (*bstrs).end(), bstr_t(",") );
		return ((LPCSTR) a);
	}
	return "";
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:32,代码来源:SimpleReflection.cpp


示例13: IsDistributionReferenceProperty

bool PropertyElement::IsDistributionReferenceProperty(MSXML2::IXMLDOMNodePtr  pNode)
{
	MSXML2::IXMLDOMNodePtr pDistRefElement = pNode->selectSingleNode(bstr_t(L"./DistributionDefinitionReference/DistributionDefinitionIdentifier"));
	if(pDistRefElement !=NULL)
		return true;
	return false;
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:7,代码来源:ResourceIntegrator.cpp


示例14: get_num_core

static int get_num_core() {
	IEnumWbemClassObject *enumerator = 0;
	IWbemClassObject * object = 0;

	int res = -1;
	_num_core = 0;
	enumerator = request(bstr_t("select NumberOfCores from Win32_Processor"));

	VARIANT vUsername;
	VariantInit(&vUsername);

	ULONG uReturn;
	for(;;) {
		HRESULT result = enumerator->Next(WBEM_INFINITE, 1, &object, &uReturn);
		if(uReturn == 0) {
			break;
		}
		result = object->Get(L"NumberOfCores", 0, &vUsername, 0, 0);

		if (SUCCEEDED(result)) {
			_num_core = vUsername.uiVal;
			res = 0;
		}
		object->Release();
	}

	if (enumerator)
		enumerator->Release();

	//std::cout << "get_num_core(): " << _num_core << std::endl;

	return res;
}
开发者ID:hanappe,项目名称:low-energy-boinc,代码行数:33,代码来源:wmi.cpp


示例15: spAttacment

STDMETHODIMP Proxy::GetAttachmentById(BSTR id, IAttachment** pValue)
{
    try
    {
        if(!pValue)
            return E_POINTER;

        long size = m_attachments.GetSize();
        if(0 == size)
            return E_FAIL;

        for(long index = 0; index != size; ++index)
        {
            CComPtr<IAttachment> spAttacment(m_attachments[index]);
            bstr_t contentId;
            spAttacment->GetContentId(contentId.GetAddress());
            if(contentId == bstr_t(id))
            {
                *pValue = spAttacment.Detach();
                return S_OK;
            }
        }
        *pValue = NULL;
        return E_FAIL;
    }
    catch(...)
    {
        return E_FAIL;
    }
}
开发者ID:killbug2004,项目名称:WSProf,代码行数:30,代码来源:Proxy.cpp


示例16: LoadFromXmlString

HRESULT CSolarSystemDoc::LoadFromXmlString(const CString& str)
{
	if (str.IsEmpty()) return E_FAIL;

	MSXML::IXMLDOMDocumentPtr pDocument;

	HRESULT hResult = pDocument.CreateInstance(__uuidof(DOMDocument));

	if (FAILED(hResult)) return hResult;

	try
	{
		pDocument->async = VARIANT_FALSE;

		if (VARIANT_FALSE == pDocument->loadXML(bstr_t(str)))
			return E_FAIL;

		ParseXmlDocument(pDocument);
	}
	catch (_com_error &e)
	{
		return e.Error();
	}

	return S_OK;
}
开发者ID:aromanro,项目名称:SolarSystem,代码行数:26,代码来源:SolarSystemDoc.cpp


示例17: Play

 BOOL SFlashCtrl::Play( LPCWSTR pszUrl )
 {
     if(!flash_) return FALSE;
     m_strUrl = pszUrl;
     HRESULT hr = flash_->put_Movie(bstr_t(m_strUrl));
     return SUCCEEDED(hr);
 }
开发者ID:hdwdsj,项目名称:SoUiTestProject,代码行数:7,代码来源:SActiveX.cpp


示例18: MTLASSERT

//
// Support for SiP plugin by TOXIC
//
bstr_t CDatabase::GetContactSettingWStringFromSiP(HANDLE hContact, const char* param) const
{
    MTLASSERT(param && lstrlenA(param) > 0);

    bstr_t res(L"");

    DBVARIANT dbv;

    DBCONTACTGETSETTING cgs;
    cgs.szModule  = "SiP";
    cgs.szSetting = param;
    cgs.pValue    = &dbv;
    dbv.type      = DBVT_ASCIIZ;

    if(S_OK == CallService(MS_DB_CONTACT_GETSETTING_STR, (WPARAM)hContact, (LPARAM)&cgs))
    {
        MTLASSERT(DBVT_ASCIIZ == dbv.type);

        res = bstr_t(dbv.pszVal);

        DBFreeVariant(&dbv);
    }

    return res;
}
开发者ID:BackupTheBerlios,项目名称:mgoodies-svn,代码行数:28,代码来源:database.cpp


示例19: CREATEIF

void ProcessPlan::Save(CMSD::CProcessPlan &processplan)
{
	CREATEIF(processplan.Identifier.append() , identifier);	
	CREATEIF(processplan.FirstProcess.append().ProcessIdentifier.append() , firstProcessId);	
	//CREATEIFBSTR(processplan.RepetitionCount.append().GetNode()->text , repetitionCount);	

	// Assign process sequence
	if(processSequenceName!=bstr_t(L"None"))
	{
		CMSD::CProcess process = processplan.Process.append();
		process.Identifier.append() = std::string((LPCSTR) processSequenceName);
		//CREATEIFBSTR(process.RepetitionCount.append().GetNode()->text , repetitionCount);	
		if(steps.size() > 0)
		{
			process.SubProcessGroup.append();
			for(int i=0; i< steps.size(); i++)
			{
				CREATEIF(process.SubProcessGroup[0].Process.append().ProcessIdentifier.append(),steps[i]);
			}
		}
	}
	for(int i=0; i< this->processIds.size(); i++)
	{
		Process * process =	FindProcess(processIds[i]);
		if(process!=NULL)
			process->Save(processplan.Process.append());
	}
	PropertyElement().SaveProperties<CMSD::CProcessPlan>(processplan, properties);
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:29,代码来源:ResourceIntegrator.cpp


示例20: ASSIGN

void ProcessPlan::Load(MSXML2::IXMLDOMNodePtr  ini)
{
	CMSD::CProcessPlan pp = ini;
	ASSIGN(identifier ,((std::string) pp.Identifier[0]).c_str(), L"None");
	ASSIGN(firstProcessId ,((std::string) pp.FirstProcess[0].ProcessIdentifier[0]).c_str(), L"None");
	//ASSIGN(repetitionCount, pp.RepetitionCount[0].GetNode()->text,L"None");
	for(int i=0; i<pp.Process.count();i++)
	{
		// If its a sequence process, push into process plan, and continue
		if(pp.Process[i].SubProcessGroup.count()>0)
		{
			ASSIGN(processSequenceName , ((std::string) pp.Process[i].Identifier[0]).c_str(), L"None");
			for(int j=0; j< pp.Process[i].SubProcessGroup[0].Process.count(); j++)
			{
				bstr_t processid;// = ((std::string)process.SubProcessGroup[i].ResourceIdentifier[0]).c_str();
				ASSIGN(processid,((std::string) pp.Process[i].SubProcessGroup[0].Process[j].ProcessIdentifier[0]).c_str(),L"None");
				if(processid!=bstr_t(L"None"))
					steps.push_back(processid);
			}
			continue;
		}

		Process* process ( (Process *)  IObject::CreateSave<Process>());
		process->Load(pp.Process[i].GetNode());
		processes.push_back(process);
		processIds.push_back(process->identifier);
	}
	PropertyElement().LoadProperties<CMSD::CProcessPlan>(pp, properties);  
}
开发者ID:amanrenishaw,项目名称:MTConnectGadgets,代码行数:29,代码来源:ResourceIntegrator.cpp



注:本文中的bstr_t函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ bstrcasecmp函数代码示例发布时间:2022-05-30
下一篇:
C++ bstr_ptr函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap