您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CoUninitialize函数代码示例

51自学网 2021-06-01 20:12:07
  C++
这篇教程C++ CoUninitialize函数代码示例写得很实用,希望能帮到您。

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

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

示例1: main

//.........这里部分代码省略.........    //Allocate Memory    categories = (long *)calloc (numberOfCategories , sizeof(long));    BAIL_ON_ALLOC_FAILURE(categories, calloc);    //Take Firewall Category Ownership    categories[0] = NET_FW_RULE_CATEGORY_FIREWALL;    result = ArrayOfLongsToVariant(numberOfCategories, categories, &varCategories);    	displayName = SysAllocString(L"@RegisterFirewallSample.exe,-127");    BAIL_ON_ALLOC_FAILURE(displayName, SysAllocString);    hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);    if (FAILED(hr))    {        //COM initialize failed        wprintf(L"CoInitialize failed: 0x%08lx/n", result);        goto CLEANUP;    }    comInit = TRUE;    hr = CoCreateInstance(__uuidof(NetFwProduct),NULL,CLSCTX_INPROC_SERVER,__uuidof(INetFwProduct),(void**)&product );    if (FAILED(hr))    {        //CoCreateInstance Failed        wprintf(L"CoCreateInstance for INetFwProduct failed: 0x%08lx/n", hr);        goto CLEANUP;    }    hr = product->put_DisplayName(displayName);    if (FAILED(hr))    {        //Put_displayName failed        wprintf(L"put_DisplayName for INetFwProduct failed Error: 0x%08lx/n", hr);        goto CLEANUP;    }    hr = product->put_RuleCategories(varCategories);    if (FAILED(hr))    {        //Put_rulecategories failed        wprintf(L"put_RuleCategories failed for INetFwProduct Error: 0x%08lx/n", hr);        goto CLEANUP;    }    hr = CoCreateInstance(__uuidof(NetFwProducts),NULL,CLSCTX_INPROC_SERVER,__uuidof(INetFwProducts),(void**)&products );    if (FAILED(hr))    {        //CoCreateInstance Failed        wprintf(L"CoCreateInstance for INetFwProducts failed: 0x%08lx/n", hr);        goto CLEANUP;    }    hr = products->Register(product, &registration);    if (FAILED(hr))    {        //Failed to Register Products        wprintf(L"Register failed: 0x%08lx/n", hr);        goto CLEANUP;    }			    hr = products->get_Count( &count);    if (FAILED(hr))    {        //Failed to get Count of Products        wprintf(L"Get count failed: 0x%08lx/n", hr);        goto CLEANUP;    }		    wprintf(L"INetFwProducts_Count returned %ld./n", count);    wprintf(L"Hit any key to unregister./n");    _getch();CLEANUP:	if (registration != NULL)   {      registration->Release();   }   if (products != NULL)   {      products->Release();   }   if (product != NULL)   {      product->Release();   }   if (comInit)   {      CoUninitialize();   }   free(categories);   SysFreeString(displayName);   VariantClear(&varCategories);   return;} 
开发者ID:Essjay1,项目名称:Windows-classic-samples,代码行数:101,


示例2: MOZ_ASSERT

voidWMFDecoderModule::OnDecodeThreadFinish(){  MOZ_ASSERT(!NS_IsMainThread(), "Must be on main thread.");  CoUninitialize();}
开发者ID:Gozala,项目名称:gecko-dev,代码行数:6,


示例3: MCIQTZ_mciOpen

//.........这里部分代码省略.........    hr = IGraphBuilder_QueryInterface(wma->pgraph, &IID_IMediaSeeking, (void**)&wma->seek);    if (FAILED(hr)) {        TRACE("Cannot get IMediaSeeking interface (hr = %x)/n", hr);        goto err;    }    hr = IGraphBuilder_QueryInterface(wma->pgraph, &IID_IMediaEvent, (void**)&wma->mevent);    if (FAILED(hr)) {        TRACE("Cannot get IMediaEvent interface (hr = %x)/n", hr);        goto err;    }    hr = IGraphBuilder_QueryInterface(wma->pgraph, &IID_IVideoWindow, (void**)&wma->vidwin);    if (FAILED(hr)) {        TRACE("Cannot get IVideoWindow interface (hr = %x)/n", hr);        goto err;    }    hr = IGraphBuilder_QueryInterface(wma->pgraph, &IID_IBasicVideo, (void**)&wma->vidbasic);    if (FAILED(hr)) {        TRACE("Cannot get IBasicVideo interface (hr = %x)/n", hr);        goto err;    }    hr = IGraphBuilder_QueryInterface(wma->pgraph, &IID_IBasicAudio, (void**)&wma->audio);    if (FAILED(hr)) {        TRACE("Cannot get IBasicAudio interface (hr = %x)/n", hr);        goto err;    }    if (!(dwFlags & MCI_OPEN_ELEMENT) || (dwFlags & MCI_OPEN_ELEMENT_ID)) {        TRACE("Wrong dwFlags %x/n", dwFlags);        goto err;    }    if (!lpOpenParms->lpstrElementName || !lpOpenParms->lpstrElementName[0]) {        TRACE("Invalid filename specified/n");        goto err;    }    TRACE("Open file %s/n", debugstr_w(lpOpenParms->lpstrElementName));    hr = IGraphBuilder_RenderFile(wma->pgraph, lpOpenParms->lpstrElementName, NULL);    if (FAILED(hr)) {        TRACE("Cannot render file (hr = %x)/n", hr);        goto err;    }    IVideoWindow_put_AutoShow(wma->vidwin, OAFALSE);    IVideoWindow_put_Visible(wma->vidwin, OAFALSE);    if (dwFlags & MCI_DGV_OPEN_WS)        style = lpOpenParms->dwStyle;    if (dwFlags & MCI_DGV_OPEN_PARENT) {        IVideoWindow_put_MessageDrain(wma->vidwin, (OAHWND)lpOpenParms->hWndParent);        IVideoWindow_put_WindowState(wma->vidwin, SW_HIDE);        IVideoWindow_put_WindowStyle(wma->vidwin, style|WS_CHILD);        IVideoWindow_put_Owner(wma->vidwin, (OAHWND)lpOpenParms->hWndParent);        GetClientRect(lpOpenParms->hWndParent, &rc);        IVideoWindow_SetWindowPosition(wma->vidwin, rc.left, rc.top, rc.right - rc.top, rc.bottom - rc.top);        wma->parent = (HWND)lpOpenParms->hWndParent;    }    else if (style)        IVideoWindow_put_WindowStyle(wma->vidwin, style);    IBasicVideo_GetVideoSize(wma->vidbasic, &rc.right, &rc.bottom);    wma->opened = TRUE;    if (dwFlags & MCI_NOTIFY)        mciDriverNotify(HWND_32(LOWORD(lpOpenParms->dwCallback)), wDevID, MCI_NOTIFY_SUCCESSFUL);    return 0;err:    if (wma->audio)        IBasicAudio_Release(wma->audio);    wma->audio = NULL;    if (wma->vidbasic)        IBasicVideo_Release(wma->vidbasic);    wma->vidbasic = NULL;    if (wma->seek)        IMediaSeeking_Release(wma->seek);    wma->seek = NULL;    if (wma->vidwin)        IVideoWindow_Release(wma->vidwin);    wma->vidwin = NULL;    if (wma->pgraph)        IGraphBuilder_Release(wma->pgraph);    wma->pgraph = NULL;    if (wma->mevent)        IMediaEvent_Release(wma->mevent);    wma->mevent = NULL;    if (wma->pmctrl)        IMediaControl_Release(wma->pmctrl);    wma->pmctrl = NULL;    if (wma->uninit)        CoUninitialize();    wma->uninit = FALSE;    return MCIERR_INTERNAL;}
开发者ID:acourreges,项目名称:wine,代码行数:101,


示例4: UnCOM

static void UnCOM (void){	CoUninitialize ();}
开发者ID:emileb,项目名称:gzdoom,代码行数:4,


示例5: main

int main(int argc, char* argv[]){			IGraphBuilder         *pGraph = NULL;	ICaptureGraphBuilder2 *pBuilder = NULL;	IBaseFilter           *pSrc = NULL;	IBaseFilter           *ppf = NULL;	IFileSinkFilter       *pSink = NULL;	IMediaControl         *pMC   = NULL;	HRESULT hr;		CoInitialize (NULL);	// Create the filter graph.	CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,	      IID_IGraphBuilder, (void **)&pGraph);	// Create the capture graph builder.	CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, 	      IID_ICaptureGraphBuilder2, (void **)&pBuilder);	pBuilder->SetFiltergraph(pGraph);    		pSrc=GetAudioDevice ();	// add the first audio filter in the list	pGraph->AddFilter(pSrc, L"Video Capture");/*	pBuilder->SetOutputFileName(		&MEDIASUBTYPE_Avi,		L"C://Example.avi", 		&ppf, 		&pSink);*///	pBuilder->AllocCapFile (L"C://temp.avi", _MAX_PATH);	pBuilder->RenderStream(        &PIN_CATEGORY_CAPTURE,  // Pin category        &MEDIATYPE_Audio,       // Media type        pSrc,                   // Capture filter        NULL,                   // Compression filter (optional)        ppf                     // Multiplexer or renderer filter    ); 	REFERENCE_TIME  rtStart = 20000000,                 rtStop = 50000000;/*	pBuilder->ControlStream(        &PIN_CATEGORY_CAPTURE,         &MEDIATYPE_Audio,         pSrc,       // Source filter        &rtStart,   // Start time        &rtStop,    // Stop time        0,          // Start cookie        0           // Stop cookie	 );*/	pGraph->QueryInterface (IID_IMediaControl, (void **) &pMC);	pMC->Run ();	MessageBox (NULL, "Stop Recording", NULL, NULL);	pMC->Stop ();/*	CProgress *pProg = new CProgress(TEXT(""), NULL, &hr);        IAMCopyCaptureFileProgress *pIProg = NULL;                    hr = pProg->QueryInterface(IID_IAMCopyCaptureFileProgress,                                            (void **)&pIProg);	//pBuilder->CopyCaptureFile (L"C://temp.avi", L"C://final.avi", TRUE, pIProg);*/   	CoUninitialize ();		return 0;}
开发者ID:eaglezhao,项目名称:tracnghiemweb,代码行数:74,


示例6: main

//.........这里部分代码省略.........	if (!SUCCEEDED(hr) )	{		return hr;	}	VARIANT var;			// we omit checking result for brevity..	// First Name	VariantInit(&var);	V_BSTR(&var) = SysAllocString(L"Janet");	V_VT(&var) = VT_BSTR;	hr = pADs->Put( L"givenName", var );	// Last Name	VariantClear(&var);	V_BSTR(&var) = SysAllocString(L"Johns");	V_VT(&var) = VT_BSTR;	hr = pADs->Put( L"sn", var ); 	VariantClear(&var);	// Other Telephones	LPWSTR pszPhones[] = { L"425 844 1234", L"425 924 4321" };	DWORD dwNumber = sizeof( pszPhones ) /sizeof(LPWSTR);	hr = ADsBuildVarArrayStr( pszPhones, dwNumber, &var );	hr = pADs->Put( L"otherTelephone", var ); 	VariantClear(&var);	hr = pADs->SetInfo();	pADs->Release();	if (!SUCCEEDED(hr) )	{				return hr;	}	/////////////////////////////////////////////////	// Alternatively, you can use IDirectoryObject	//////////////////////////////////////////////////	IDirectoryObject *pDir=NULL;	hr = ADsGetObject(pszADsPath,		              IID_IDirectoryObject, 			   	      (void**) &pDir );	if ( !SUCCEEDED(hr) )	{		return hr;	}		DWORD  dwReturn;	ADSVALUE  snValue;	ADSVALUE  fNameValue;	ADSVALUE  phoneValue[2];	ADS_ATTR_INFO  attrInfo[] = {   		{L"givenName",ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING,&snValue,1},		{L"sn", ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING,&fNameValue,1 },		{L"otherTelephone", ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, phoneValue,2 }								};	DWORD dwAttrs = sizeof(attrInfo)/sizeof(ADS_ATTR_INFO); 	///// First Name ///////////	fNameValue.dwType=ADSTYPE_CASE_IGNORE_STRING;	fNameValue.CaseIgnoreString = L"Janet";	 	///// Last Name ///////////	snValue.dwType= ADSTYPE_CASE_IGNORE_STRING;	snValue.CaseIgnoreString = L"Johns";		///// Other Telephone ///////////	phoneValue[0].dwType = ADSTYPE_CASE_IGNORE_STRING;	phoneValue[0].CaseIgnoreString = L"425 844 1234";	phoneValue[1].dwType = ADSTYPE_CASE_IGNORE_STRING;	phoneValue[1].CaseIgnoreString = L"425 924 4321";	hr = pDir->SetObjectAttributes(attrInfo, dwAttrs, &dwReturn);	pDir->Release();	if ( !SUCCEEDED(hr) )	{		return hr;	}	CoUninitialize();	return 0;}
开发者ID:AbdoSalem95,项目名称:WindowsSDK7-Samples,代码行数:101,


示例7: PromptFileLocation

bool PromptFileLocation(std::wstring& resultPath, std::wstring title=L"Open", fileType filterType=ft_exe){    HRESULT hr;        hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);    if (!SUCCEEDED(hr))    {        CoUninitialize();        return false;    }    IFileOpenDialog *pFileOpen;    // Create the FileOpenDialog object.    hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_ALL, IID_IFileOpenDialog, reinterpret_cast<void**>(&pFileOpen));    if (!SUCCEEDED(hr))    {        pFileOpen->Release();        CoUninitialize();        return false;    }    // Set the filter type    switch (filterType)    {    case ft_exe:            {                COMDLG_FILTERSPEC filter;                filter.pszName = L"Windows Executable";                filter.pszSpec = L"*.exe";                hr = pFileOpen->SetFileTypes(1, &filter);                break;            }    default:        {            break;        }    }    if (!SUCCEEDED(hr))    {        pFileOpen->Release();        CoUninitialize();        return false;    }    // Set the title    hr = pFileOpen->SetTitle(L"Please locate your Blender executable.");    if (!SUCCEEDED(hr))    {        pFileOpen->Release();        CoUninitialize();        return false;    }    // Show the Open dialog box.    hr = pFileOpen->Show(NULL);    if (!SUCCEEDED(hr))    {        pFileOpen->Release();        CoUninitialize();        return false;    }    // Get the file name from the open dialog box.    IShellItem *pItem;    hr = pFileOpen->GetResult(&pItem);    if (!SUCCEEDED(hr))    {        pItem->Release();        pFileOpen->Release();        CoUninitialize();        return false;    }    PWSTR pszFilePath;    hr = pItem->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath);    if (!SUCCEEDED(hr))    {        pItem->Release();        pFileOpen->Release();        CoUninitialize();        CoTaskMemFree(pszFilePath);        return false;    }    resultPath = pszFilePath;    CoTaskMemFree(pszFilePath);    pItem->Release();    pFileOpen->Release();    CoUninitialize();    return true;}
开发者ID:BeigeAlert,项目名称:Blender_Compile_Utility,代码行数:92,


示例8: FX_WINOLEAPI_

		FX_WINOLEAPI_(void)		FX_CoUninitialize(void)		{			CoUninitialize();		}
开发者ID:boatgm,项目名称:urchin,代码行数:4,


示例9: ContentPartnerThreadProc

DWORD WINAPI ContentPartnerThreadProc(LPVOID lpParameter){   CONTENT_PARTNER_THREAD_CONTEXT* pThreadCtx = NULL;   CComPtr<IWMPContentPartnerCallback> spCallback;   MSG msg = {0};   HRESULT hr = S_OK;   BOOL comInitialized = FALSE;   if(NULL == lpParameter)   {      hr = E_INVALIDARG;      goto cleanup;   }   pThreadCtx = static_cast<CONTENT_PARTNER_THREAD_CONTEXT*>(lpParameter);   if(NULL == pThreadCtx->pIStream)   {      hr = E_INVALIDARG;      goto cleanup;   }   hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);   if(FAILED(hr))   {      ATLTRACE2("%x: ContentPartnerThreadProc(type %d): CoInitializeEx failed. %x/n", GetCurrentThreadId(), pThreadCtx->threadType, hr);      goto cleanup;   }     comInitialized = TRUE;   // Get a pointer to an IWMPContentPartnerCallback interface.   hr = CoGetInterfaceAndReleaseStream(      pThreadCtx->pIStream,      __uuidof(IWMPContentPartnerCallback),      reinterpret_cast<LPVOID*>(&spCallback) );   // The stream was released (even if CoGetInterfaceAndReleaseStream failed).    // Set the stream pointer to NULL.   pThreadCtx->pIStream = NULL;   if(FAILED(hr))   {      ATLTRACE2("%x: ContentPartnerThreadProc(type %d): Failed to get IWMPContentPartnerCallback interface. %x/n", GetCurrentThreadId(), pThreadCtx->threadType, hr);      goto cleanup;   }   if(NULL == spCallback)   {      hr = E_UNEXPECTED;      goto cleanup;   }   ATLTRACE2("%x: ContentPartnerThreadProc(type %d): Succeeded in getting IWMPContentPartnerCallback interface./n", GetCurrentThreadId(), pThreadCtx->threadType);   // Make sure we have a message queue.   PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);   // Tell the main thread that we are ready to receive messages.   SetEvent(pThreadCtx->hInitialized);   hr = ContentPartnerMessageLoop(pThreadCtx, spCallback);cleanup:   if(NULL != pThreadCtx)   {      // Set this event here, just in case there was a "goto cleanup"      // before the event was set.      SetEvent(pThreadCtx->hInitialized);      // The thread that started this thread allocated a      // CONTENT_PARTNER_THREAD_CONTEXT structure.      // We must free that memory here.        if(NULL != pThreadCtx->pIStream)      {         // For some reason, CoGetInterfaceAndReleaseStream never got called.         // So release the stream here.         pThreadCtx->pIStream->Release();         pThreadCtx->pIStream = NULL;      }      ATLTRACE2("%x: ContentPartnerThreadProc(type %d): Returning %x/n", GetCurrentThreadId(), pThreadCtx->threadType, hr);      delete pThreadCtx;      pThreadCtx = NULL;   }                      if(comInitialized)   {      CoUninitialize();   }     return hr;}
开发者ID:AbdoSalem95,项目名称:WindowsSDK7-Samples,代码行数:99,


示例10: main

void  main(){	// DirectShowのインスタンス宣言	IGraphBuilder *p_graph=NULL;	IMediaControl *p_control=NULL;	IMediaEvent   *p_event=NULL;	HRESULT hr;   // 
C++ Codef函数代码示例
C++ CoTaskMemFree函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。