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

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

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

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

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

示例1: IHlinkBC_Register

static HRESULT WINAPI IHlinkBC_Register(IHlinkBrowseContext* iface,        DWORD dwReserved, IUnknown *piunk, IMoniker *pimk, DWORD *pdwRegister){    static const WCHAR szIdent[] = {'W','I','N','E','H','L','I','N','K',0};    HlinkBCImpl  *This = impl_from_IHlinkBrowseContext(iface);    IMoniker *mon;    IMoniker *composite;    IRunningObjectTable *ROT;    HRESULT hr;    FIXME("(%p)->(%i %p %p %p)/n", This, dwReserved, piunk, pimk, pdwRegister);    hr = CreateItemMoniker(NULL, szIdent, &mon);    if (FAILED(hr))        return hr;    CreateGenericComposite(mon, pimk, &composite);    GetRunningObjectTable(0, &ROT);    IRunningObjectTable_Register(ROT, 0, piunk, composite, pdwRegister);    IRunningObjectTable_Release(ROT);    IMoniker_Release(composite);    IMoniker_Release(mon);    return S_OK;}
开发者ID:mvardan,项目名称:ros-svn-mirror,代码行数:26,


示例2: RegisterActiveObject

/*********************************************************************** *		RegisterActiveObject (OLEAUT32.33) * * Registers an object in the global item table. * * PARAMS *  punk        [I] Object to register. *  rcid        [I] CLSID of the object. *  dwFlags     [I] Flags. *  pdwRegister [O] Address to store cookie of object registration in. * * RETURNS *  Success: S_OK. *  Failure: HRESULT code. */HRESULT WINAPI RegisterActiveObject(	LPUNKNOWN punk,REFCLSID rcid,DWORD dwFlags,LPDWORD pdwRegister) {	WCHAR 			guidbuf[80];	HRESULT			ret;	LPRUNNINGOBJECTTABLE	runobtable;	LPMONIKER		moniker;        DWORD                   rot_flags = ROTFLAGS_REGISTRATIONKEEPSALIVE; /* default registration is strong */	StringFromGUID2(rcid,guidbuf,39);	ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker);	if (FAILED(ret))		return ret;	ret = GetRunningObjectTable(0,&runobtable);	if (FAILED(ret)) {		IMoniker_Release(moniker);		return ret;	}        if(dwFlags == ACTIVEOBJECT_WEAK)          rot_flags = 0;	ret = IRunningObjectTable_Register(runobtable,rot_flags,punk,moniker,pdwRegister);	IRunningObjectTable_Release(runobtable);	IMoniker_Release(moniker);	return ret;}
开发者ID:lucianolorenti,项目名称:wine,代码行数:40,


示例3: RevokeObjectRegistration

static voidRevokeObjectRegistration(    RegisteredInterp *riPtr){    LPRUNNINGOBJECTTABLE pROT = NULL;    HRESULT hr = S_OK;    if (riPtr->cookie != 0) {	hr = GetRunningObjectTable(0, &pROT);	if (SUCCEEDED(hr)) {	    hr = pROT->lpVtbl->Revoke(pROT, riPtr->cookie);	    pROT->lpVtbl->Release(pROT);	    riPtr->cookie = 0;	}    }    /*     * Release the name storage.     */    if (riPtr->name != NULL) {	free(riPtr->name);	riPtr->name = NULL;    }}
开发者ID:dgsb,项目名称:tk,代码行数:25,


示例4: AddGraphToRot

HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister) {    IMoniker * pMoniker;    IRunningObjectTable *pROT;    if (FAILED(GetRunningObjectTable(0, &pROT)))     {        return E_FAIL;    }    WCHAR wsz[128];    wsprintfW(wsz, L"FilterGraph %08x pid %08x", (DWORD_PTR)pUnkGraph,               GetCurrentProcessId());    HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);    if (SUCCEEDED(hr))     {        // Use the ROTFLAGS_REGISTRATIONKEEPSALIVE to ensure a strong reference        // to the object.  Using this flag will cause the object to remain        // registered until it is explicitly revoked with the Revoke() method.        //        // Not using this flag means that if GraphEdit remotely connects        // to this graph and then GraphEdit exits, this object registration         // will be deleted, causing future attempts by GraphEdit to fail until        // this application is restarted or until the graph is registered again.        hr = pROT->Register(ROTFLAGS_REGISTRATIONKEEPSALIVE, pUnkGraph,                             pMoniker, pdwRegister);        pMoniker->Release();    }    pROT->Release();    return hr;}
开发者ID:eaglezhao,项目名称:tracnghiemweb,代码行数:32,


示例5: AddGraphToRunningObjectTable

HRESULTAddGraphToRunningObjectTable(IUnknown *aUnkGraph, DWORD *aOutRotRegister){  HRESULT hr;  nsRefPtr<IMoniker> moniker;  nsRefPtr<IRunningObjectTable> runningObjectTable;  hr = GetRunningObjectTable(0, getter_AddRefs(runningObjectTable));  NS_ENSURE_TRUE(SUCCEEDED(hr), hr);  const size_t STRING_LENGTH = 256;  WCHAR wsz[STRING_LENGTH];  StringCchPrintfW(wsz,                   STRING_LENGTH,                   L"FilterGraph %08x pid %08x",                   (DWORD_PTR)aUnkGraph,                   GetCurrentProcessId());  hr = CreateItemMoniker(L"!", wsz, getter_AddRefs(moniker));  NS_ENSURE_TRUE(SUCCEEDED(hr), hr);  hr = runningObjectTable->Register(ROTFLAGS_REGISTRATIONKEEPSALIVE,                                    aUnkGraph,                                    moniker,                                    aOutRotRegister);  NS_ENSURE_TRUE(SUCCEEDED(hr), hr);  return S_OK;}
开发者ID:Incognito,项目名称:mozilla-central,代码行数:31,


示例6: RemoveGraphFromRot

// Removes a filter graph from the Running Object Tablevoid CTsReaderFilter::RemoveGraphFromRot(){  if (m_dwGraphRegister==0) return;  CComPtr <IRunningObjectTable> pROT;  if (SUCCEEDED(GetRunningObjectTable(0, &pROT)))      pROT->Revoke(m_dwGraphRegister);}
开发者ID:SilentException,项目名称:MediaPortal-1,代码行数:9,


示例7: RemoveFromRot

void RemoveFromRot(DWORD pdwRegister){	IRunningObjectTable *pROT;    if (SUCCEEDED(GetRunningObjectTable(0, &pROT))) {        pROT->Revoke(pdwRegister);        pROT->Release();    }}
开发者ID:BlackMael,项目名称:DirectEncode,代码行数:8,


示例8: RemoveGraphFromRunningObjectTable

voidRemoveGraphFromRunningObjectTable(DWORD aRotRegister){  nsRefPtr<IRunningObjectTable> runningObjectTable;  if (SUCCEEDED(GetRunningObjectTable(0, getter_AddRefs(runningObjectTable)))) {    runningObjectTable->Revoke(aRotRegister);  }}
开发者ID:Incognito,项目名称:mozilla-central,代码行数:8,


示例9: RemoveGraphFromRot

//-----------------------------------------------------------------------------// RemoveGraphFromRot// Removes a filter graph from the Running Object Tablevoid CDSUtils::RemoveGraphFromRot(DWORD pdwRegister){    CComPtr<IRunningObjectTable> pROT = NULL;    if (SUCCEEDED(GetRunningObjectTable(0, &pROT)))    {        pROT->Revoke(pdwRegister);    }}
开发者ID:MattHung,项目名称:sage-graphics,代码行数:12,


示例10: RemoveGraphFromRot

void CDShowControl::RemoveGraphFromRot(DWORD pRegister){	IRunningObjectTable *pRot;	if(SUCCEEDED(GetRunningObjectTable(0, &pRot)))	{		pRot->Revoke(pRegister);		pRot->Release();	}}
开发者ID:enildne,项目名称:zest,代码行数:9,


示例11: RegisterInterp

static HRESULTRegisterInterp(    const char *name,    RegisteredInterp *riPtr){    HRESULT hr = S_OK;    LPRUNNINGOBJECTTABLE pROT = NULL;    LPMONIKER pmk = NULL;    int i, offset;    const char *actualName = name;    Tcl_DString dString;    Tcl_DStringInit(&dString);    hr = GetRunningObjectTable(0, &pROT);    if (SUCCEEDED(hr)) {	offset = 0;	for (i = 1; SUCCEEDED(hr); i++) {	    if (i > 1) {		if (i == 2) {		    Tcl_DStringInit(&dString);		    Tcl_DStringAppend(&dString, name, -1);		    Tcl_DStringAppend(&dString, " #", 2);		    offset = Tcl_DStringLength(&dString);		    Tcl_DStringSetLength(&dString, offset+TCL_INTEGER_SPACE);		    actualName = Tcl_DStringValue(&dString);		}		sprintf(Tcl_DStringValue(&dString) + offset, "%d", i);	    }	    hr = BuildMoniker(actualName, &pmk);	    if (SUCCEEDED(hr)) {		hr = pROT->lpVtbl->Register(pROT,		    ROTFLAGS_REGISTRATIONKEEPSALIVE,		    riPtr->obj, pmk, &riPtr->cookie);		pmk->lpVtbl->Release(pmk);	    }	    if (hr == MK_S_MONIKERALREADYREGISTERED) {		pROT->lpVtbl->Revoke(pROT, riPtr->cookie);	    } else if (hr == S_OK) {		break;	    }	}	pROT->lpVtbl->Release(pROT);    }    if (SUCCEEDED(hr)) {	riPtr->name = strdup(actualName);    }    Tcl_DStringFree(&dString);    return hr;}
开发者ID:dgsb,项目名称:tk,代码行数:56,


示例12: RemoveGraphFromRot

// Removes a filter graph from the Running Object Tablevoid CBDAFilterGraph::RemoveGraphFromRot(        DWORD pdwRegister        ){    CComPtr <IRunningObjectTable> pROT;    if (SUCCEEDED(GetRunningObjectTable(0, &pROT)))         pROT->Revoke(pdwRegister);}
开发者ID:grakidov,项目名称:Render3D,代码行数:11,


示例13: RemoveGraphFromRot

// Removes a filter graph from the Running Object Tablevoid __fastcall RemoveGraphFromRot(DWORD dwRegister){	IRunningObjectTable *pROT;	if(SUCCEEDED(GetRunningObjectTable(0, &pROT)))	{		pROT->Revoke(dwRegister);		pROT->Release();	}}
开发者ID:Erls-Corporation,项目名称:webinaria-source,代码行数:11,


示例14: RemoveFGFromROT

//Приватная функция. Удаляет текущий граф из ROT (Running Object Table)void CDirectShow::RemoveFGFromROT(){	IRunningObjectTable *pRunningObjectTable = NULL;    if (SUCCEEDED(GetRunningObjectTable(0, &pRunningObjectTable)))	{        pRunningObjectTable->Revoke(m_dwROTRegister);        pRunningObjectTable->Release();		m_dwROTRegister = 0;    }}
开发者ID:BorisVorontsov,项目名称:easybar,代码行数:11,


示例15: RemoveFromObjectTable

void CDXGraph::RemoveFromObjectTable(void){	IRunningObjectTable * objectTable = 0;    if (SUCCEEDED(GetRunningObjectTable(0, &objectTable))) 	{        objectTable->Revoke(mObjectTableEntry);        objectTable->Release();		mObjectTableEntry = 0;    }}
开发者ID:niepp,项目名称:sperm-x,代码行数:10,


示例16: EnumRunningObjectTable

static NTSTATUS EnumRunningObjectTable(    _In_ PVOID ThreadParam    ){    IRunningObjectTable* iRunningObjectTable = NULL;    IEnumMoniker* iEnumMoniker = NULL;    IMoniker* iMoniker = NULL;    IBindCtx* iBindCtx = NULL;    IMalloc* iMalloc = NULL;    ULONG count = 0;    HWND listViewHandle = (HWND)ThreadParam;    if (!SUCCEEDED(CoGetMalloc(1, &iMalloc)))        return STATUS_INSUFFICIENT_RESOURCES;    // Query the running object table address    if (SUCCEEDED(GetRunningObjectTable(0, &iRunningObjectTable)))    {        // Enum the objects registered        if (SUCCEEDED(IRunningObjectTable_EnumRunning(iRunningObjectTable, &iEnumMoniker)))        {            while (IEnumMoniker_Next(iEnumMoniker, 1, &iMoniker, &count) == S_OK)            {                if (SUCCEEDED(CreateBindCtx(0, &iBindCtx)))                {                    OLECHAR* displayName = NULL;                    // Query the object name                    if (SUCCEEDED(IMoniker_GetDisplayName(iMoniker, iBindCtx, NULL, &displayName)))                    {                        // Set the items name column                        PhAddListViewItem(listViewHandle, MAXINT, displayName, NULL);                        // Free the object name                        IMalloc_Free(iMalloc, displayName);                    }                    IBindCtx_Release(iBindCtx);                }                IEnumMoniker_Release(iMoniker);            }            IEnumMoniker_Release(iEnumMoniker);        }        IRunningObjectTable_Release(iRunningObjectTable);    }    IMalloc_Release(iMalloc);    return STATUS_SUCCESS;}
开发者ID:phplugins,项目名称:plugins-extra,代码行数:54,


示例17:

// Function name	: CVMR9Graph::RemoveFromRot// Description	    : remove the graph instance accessibility from graphedit// Return type		: void void CVMR9Graph::RemoveFromRot(){	if (m_dwRotId != -1) {		IRunningObjectTable *pROT;		if (SUCCEEDED(GetRunningObjectTable(0, &pROT))) {			pROT->Revoke(m_dwRotId);			m_dwRotId = -1;			pROT->Release();		}	}}
开发者ID:smarinel,项目名称:ags-web,代码行数:14,


示例18: AccessVisualStudio

/** Accesses the correct visual studio instance if possible. */bool AccessVisualStudio(CComPtr<EnvDTE::_DTE>& OutDTE, const FString& InSolutionPath, const TArray<FVSAccessorModule::VisualStudioLocation>& InLocations){	bool bSuccess = false;	// Open the Running Object Table (ROT)	IRunningObjectTable* RunningObjectTable;	if (SUCCEEDED(GetRunningObjectTable(0, &RunningObjectTable)) &&		RunningObjectTable)	{		IEnumMoniker* MonikersTable;		RunningObjectTable->EnumRunning(&MonikersTable);		MonikersTable->Reset();		// Look for all visual studio instances in the ROT		IMoniker* CurrentMoniker;		while (!bSuccess && MonikersTable->Next(1, &CurrentMoniker, NULL) == S_OK)		{			IBindCtx* BindContext;			LPOLESTR OutName;			CComPtr<IUnknown> ComObject;			if (SUCCEEDED(CreateBindCtx(0, &BindContext)) &&				SUCCEEDED(CurrentMoniker->GetDisplayName(BindContext, NULL, &OutName)) &&				IsVisualStudioMoniker(FString(OutName), InLocations) &&				SUCCEEDED(RunningObjectTable->GetObject(CurrentMoniker, &ComObject)))			{				CComPtr<EnvDTE::_DTE> TempDTE;				TempDTE = ComObject;								// Get the solution path for this instance				// If it equals the solution we would have opened above in RunVisualStudio(), we'll take that				CComPtr<EnvDTE::_Solution> Solution;				LPOLESTR OutPath;				if (SUCCEEDED(TempDTE->get_Solution(&Solution)) &&					SUCCEEDED(Solution->get_FullName(&OutPath)))				{					FString Filename(OutPath);					FPaths::NormalizeFilename(Filename);					if( Filename == InSolutionPath )					{						OutDTE = TempDTE;						bSuccess = true;					}				}			}			BindContext->Release();			CurrentMoniker->Release();		}		MonikersTable->Release();		RunningObjectTable->Release();	}	return bSuccess;}
开发者ID:Tigrouzen,项目名称:UnrealEngine-4,代码行数:55,


示例19: BindCtxImpl_GetRunningObjectTable

/****************************************************************************** *        BindCtx_GetRunningObjectTable ******************************************************************************/static HRESULT WINAPIBindCtxImpl_GetRunningObjectTable(IBindCtx* iface,IRunningObjectTable** pprot){    BindCtxImpl *This = impl_from_IBindCtx(iface);    TRACE("(%p,%p)/n",This,pprot);    if (pprot==NULL)        return E_POINTER;    return GetRunningObjectTable(0, pprot);}
开发者ID:SnakeSolidNL,项目名称:reactos,代码行数:15,


示例20: RevokeActiveObject

/*********************************************************************** *		RevokeActiveObject (OLEAUT32.34) * * Revokes an object from the global item table. * * PARAMS *  xregister [I] Registration cookie. *  reserved  [I] Reserved. Set to NULL. * * RETURNS *  Success: S_OK. *  Failure: HRESULT code. */HRESULT WINAPI RevokeActiveObject(DWORD xregister,LPVOID reserved){	LPRUNNINGOBJECTTABLE	runobtable;	HRESULT			ret;	ret = GetRunningObjectTable(0,&runobtable);	if (FAILED(ret)) return ret;	ret = IRunningObjectTable_Revoke(runobtable,xregister);	if (SUCCEEDED(ret)) ret = S_OK;	IRunningObjectTable_Release(runobtable);	return ret;}
开发者ID:lucianolorenti,项目名称:wine,代码行数:25,


示例21: CreateIFileIsInUse

IFileIsInUse* CreateIFileIsInUse(const string& File){	IFileIsInUse *pfiu = nullptr;	IRunningObjectTable *prot;	if (SUCCEEDED(GetRunningObjectTable(0, &prot)))	{		IMoniker *pmkFile;		if (SUCCEEDED(CreateFileMoniker(File.data(), &pmkFile)))		{			IEnumMoniker *penumMk;			if (SUCCEEDED(prot->EnumRunning(&penumMk)))			{				HRESULT hr = E_FAIL;				ULONG celt;				IMoniker *pmk;				while (FAILED(hr) && (penumMk->Next(1, &pmk, &celt) == S_OK))				{					DWORD dwType;					if (SUCCEEDED(pmk->IsSystemMoniker(&dwType)) && dwType == MKSYS_FILEMONIKER)					{						IMoniker *pmkPrefix;						if (SUCCEEDED(pmkFile->CommonPrefixWith(pmk, &pmkPrefix)))						{							if (pmkFile->IsEqual(pmkPrefix) == S_OK)							{								IUnknown *punk;								if (prot->GetObject(pmk, &punk) == S_OK)								{									hr = punk->QueryInterface(#ifdef __GNUC__										IID_IFileIsInUse, IID_PPV_ARGS_Helper(&pfiu)#else										IID_PPV_ARGS(&pfiu)#endif										);									punk->Release();								}							}							pmkPrefix->Release();						}					}					pmk->Release();				}				penumMk->Release();			}			pmkFile->Release();		}		prot->Release();	}	return pfiu;}
开发者ID:modulexcite,项目名称:Far3bis-googlecode,代码行数:51,


示例22: FindInterpreterObject

static intFindInterpreterObject(    Tcl_Interp *interp,    const char *name,    LPDISPATCH *ppdisp){    LPRUNNINGOBJECTTABLE pROT = NULL;    int result = TCL_OK;    HRESULT hr = GetRunningObjectTable(0, &pROT);    if (SUCCEEDED(hr)) {	IBindCtx* pBindCtx = NULL;	hr = CreateBindCtx(0, &pBindCtx);	if (SUCCEEDED(hr)) {	    LPMONIKER pmk = NULL;	    hr = BuildMoniker(name, &pmk);	    if (SUCCEEDED(hr)) {		IUnknown *pUnkInterp = NULL, **ppUnkInterp = &pUnkInterp;		hr = pROT->lpVtbl->IsRunning(pROT, pmk);		hr = pmk->lpVtbl->BindToObject(pmk, pBindCtx, NULL,			&IID_IUnknown, (void **) ppUnkInterp);		if (SUCCEEDED(hr)) {		    hr = pUnkInterp->lpVtbl->QueryInterface(pUnkInterp,			    &IID_IDispatch, (void **) ppdisp);		    pUnkInterp->lpVtbl->Release(pUnkInterp);		} else {		    Tcl_SetObjResult(interp, Tcl_ObjPrintf(			    "no application named /"%s/"", name));		    Tcl_SetErrorCode(interp, "TK", "LOOKUP", "APPLICATION",			    NULL);		    result = TCL_ERROR;		}		pmk->lpVtbl->Release(pmk);	    }	    pBindCtx->lpVtbl->Release(pBindCtx);	}	pROT->lpVtbl->Release(pROT);    }    if (FAILED(hr) && result == TCL_OK) {	Tcl_SetObjResult(interp, Win32ErrorObj(hr));	result = TCL_ERROR;    }    return result;}
开发者ID:dgsb,项目名称:tk,代码行数:49,


示例23: GetCurrentProcessId

// register in the running object table for graph debuggingSTDMETHODIMP BridgeSource::JoinFilterGraph(IFilterGraph * pGraph, LPCWSTR pName){    HRESULT hr = CBaseFilter::JoinFilterGraph(pGraph, pName);    // for debugging, we register in the ROT so that you can use    // Graphedt's Connect command to view the graphs    // disabled by default owing to refcount leak issue    if (false) //SUCCEEDED(hr))    {        if (pGraph == NULL)        {            if (m_dwROT) {                IRunningObjectTablePtr pROT;                if (SUCCEEDED(GetRunningObjectTable(0, &pROT))) {                    pROT->Revoke(m_dwROT);                }            }        } else {            IMonikerPtr pMoniker;            IRunningObjectTablePtr pROT;            if (SUCCEEDED(GetRunningObjectTable(0, &pROT))) {				ostringstream strm;				DWORD graphaddress = (DWORD)((DWORD_PTR)(IUnknown*)pGraph) & 0xFFFFFFFF;				strm << "FilterGraph " << hex << graphaddress << " pid " << hex << GetCurrentProcessId();				_bstr_t strName = strm.str().c_str();                HRESULT hr = CreateItemMoniker(L"!", strName, &pMoniker);                if (SUCCEEDED(hr)) {                    hr = pROT->Register(0, pGraph, pMoniker, &m_dwROT);                }            }        }    }    return hr;}
开发者ID:changman,项目名称:GMFBridge,代码行数:37,


示例24: IHlinkBC_Revoke

static HRESULT WINAPI IHlinkBC_Revoke(IHlinkBrowseContext* iface,        DWORD dwRegister){    HRESULT r = S_OK;    IRunningObjectTable *ROT;    HlinkBCImpl  *This = (HlinkBCImpl*)iface;    FIXME("(%p)->(%li)/n", This, dwRegister);    GetRunningObjectTable(0, &ROT);    r = IRunningObjectTable_Revoke(ROT, dwRegister);    IRunningObjectTable_Release(ROT);    return r;}
开发者ID:howard5888,项目名称:wineT,代码行数:15,


示例25: AddToObjectTable

//////////////////////// For GraphEdit Dubug purpose /////////////////////////////void CDXGraph::AddToObjectTable(void){	IMoniker * pMoniker = 0;    IRunningObjectTable * objectTable = 0;    if (SUCCEEDED(GetRunningObjectTable(0, &objectTable))) 	{		WCHAR wsz[256];		wsprintfW(wsz, L"FilterGraph %08p pid %08x", (DWORD_PTR)mGraph, GetCurrentProcessId());		HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);		if (SUCCEEDED(hr)) 		{			hr = objectTable->Register(0, mGraph, pMoniker, &mObjectTableEntry);			pMoniker->Release();		}		objectTable->Release();	}}
开发者ID:niepp,项目名称:sperm-x,代码行数:18,


示例26: AddGraphToRot

HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister){    IMoniker * pMoniker;    IRunningObjectTable *pROT;    if (FAILED(GetRunningObjectTable(0, &pROT))) {        return E_FAIL;    }    WCHAR wsz[128];    wsprintfW(wsz, L"FilterGraph %08x pid %08x", (DWORD_PTR)pUnkGraph, GetCurrentProcessId());    HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);    if (SUCCEEDED(hr)) {        hr = pROT->Register(0, pUnkGraph, pMoniker, pdwRegister);        pMoniker->Release();    }    pROT->Release();    return hr;}
开发者ID:eaglezhao,项目名称:tracnghiemweb,代码行数:17,


示例27: GetFilterGraph

static bool GetFilterGraph(IFilterGraph** ppFG){	if(!ppFG) return(false);    CComPtr<IRunningObjectTable> pROT;    if(FAILED(GetRunningObjectTable(0, &pROT)))		return 1;	CComPtr<IEnumMoniker> pEM;	if(FAILED(pROT->EnumRunning(&pEM)))		return 1;	CComPtr<IBindCtx> pBindCtx;	CreateBindCtx(0, &pBindCtx);	for(CComPtr<IMoniker> pMoniker; S_OK == pEM->Next(1, &pMoniker, NULL); pMoniker = NULL)	{		LPOLESTR pDispName = NULL;		if(FAILED(pMoniker->GetDisplayName(pBindCtx, NULL, &pDispName)))			continue;		CStringW strw(pDispName);				CComPtr<IMalloc> pMalloc;		if(FAILED(CoGetMalloc(1, &pMalloc)))			continue;		pMalloc->Free(pDispName);		if(strw.Find(L"(MPC)") < 0)			continue;		CComPtr<IUnknown> pUnk;		if(S_OK != pROT->GetObject(pMoniker, &pUnk))			continue;		CComQIPtr<IFilterGraph> pFG = pUnk;		if(!pFG)			continue;		*ppFG = pFG.Detach();		break;	}	return(!!*ppFG);}
开发者ID:banduladh,项目名称:meplayer,代码行数:46,


示例28: ASSERT_VALID

void COleLinkingDoc::Revoke(){	ASSERT_VALID(this);	// revoke current registration	if (m_dwRegister != 0)	{		LPRUNNINGOBJECTTABLE lpROT = NULL;		GetRunningObjectTable(0, &lpROT);		if (lpROT != NULL)		{			lpROT->Revoke(m_dwRegister);			lpROT->Release();		}		m_dwRegister = 0;	}	RELEASE(m_lpMonikerROT);	m_strMoniker = _T("");}
开发者ID:jbeaurain,项目名称:omaha_vs2010,代码行数:19,


示例29: AddGraphToRot

HRESULT CTsReaderFilter::AddGraphToRot(IUnknown *pUnkGraph){  CComPtr <IMoniker>              pMoniker;  CComPtr <IRunningObjectTable>   pROT;  WCHAR wsz[128];  HRESULT hr;  if (m_dwGraphRegister!=0) return S_OK;  if (FAILED(GetRunningObjectTable(0, &pROT)))      return E_FAIL;  swprintf(wsz, L"FilterGraph %08x pid %08x/0", (DWORD_PTR) pUnkGraph, GetCurrentProcessId());  hr = CreateItemMoniker(L"!", wsz, &pMoniker);  if (SUCCEEDED(hr))  {    hr = pROT->Register(ROTFLAGS_REGISTRATIONKEEPSALIVE, pUnkGraph, pMoniker, &m_dwGraphRegister);  }  return hr;}
开发者ID:SilentException,项目名称:MediaPortal-1,代码行数:19,


示例30: AddFGToROT

//Добавляет текущий Filter Graph в ROT (Running Object Table)//В случае ошибки функция вернет значение меньше нуляint CDirectShow::AddFGToROT(){	if (m_pGraphBuilder)	{		IMoniker *pMoniker = NULL;		IRunningObjectTable *pRunningObjectTable = NULL;		if (FAILED(GetRunningObjectTable(0, &pRunningObjectTable)))		{			return -1;		}		WCHAR lpwItem[256] = { 0 };		swprintf(lpwItem, L"FilterGraph %08p pid %08x", (LPDWORD)m_pGraphBuilder, GetCurrentProcessId());		if (FAILED(CreateItemMoniker(L"!", lpwItem, &pMoniker))) return -1;		pRunningObjectTable->Register(0, m_pGraphBuilder, pMoniker, &m_dwROTRegister);		pMoniker->Release();		pRunningObjectTable->Release();		return 0;	}	else return -1;}
开发者ID:BorisVorontsov,项目名称:easybar,代码行数:22,



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


C++ GetSNm函数代码示例
C++ GetRows函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。