示例#1
0
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
	#ifndef NO_EXPIRATION_DATE

	// check if we are outdated
	// delete this for an official release
	SYSTEMTIME SystemTime;
	GetSystemTime(&SystemTime);
	if ((SystemTime.wYear * 500 + SystemTime.wMonth * 35 + SystemTime.wDay) >
		(EXP_YEAR         * 500 + EXP_MONTH         * 35 + EXP_DAY)) {
		char szTitle[256];
		LoadString(_Module.m_hInst, IDS_EXPIREDTITLE, szTitle, sizeof szTitle);
		char szText[256];
		LoadString(_Module.m_hInst, IDS_EXPIRED, szText, sizeof szText);
		MessageBox(0, szText, szTitle, MB_ICONINFORMATION|MB_OK);
		return CLASS_E_CLASSNOTAVAILABLE;
	}

	#endif

/*
	if ( !IsSingleThreadedApartment() ) {
		MessageBox(0, "Wrong threading model, please reinstall VPinMAME!", "Unable to run", MB_ICONINFORMATION|MB_OK);
		return CLASS_E_CLASSNOTAVAILABLE;
	}
*/

#ifdef _MERGE_PROXYSTUB
    if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK)
        return S_OK;
#endif
    return _Module.GetClassObject(rclsid, riid, ppv);
}
HRESULT OPCEngine::getClassObject(
	IN REFCLSID rclsid, 
	IN REFIID riid, 
	OUT LPVOID *ppvObj)
{ 
	return _Module.GetClassObject(rclsid, riid, ppvObj);
}
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
#ifdef _MERGE_PROXYSTUB
    if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK)
        return S_OK;
#endif
    return _Module.GetClassObject(rclsid, riid, ppv);
}
示例#4
0
文件: extend.cpp 项目: kcrazy/winekit
extern "C" STDAPI DllGetClassObject(
    __in            REFCLSID    rclsid,
    __in            REFIID      riid,
    __deref_out     LPVOID      *ppv)
{
    return _Module.GetClassObject(rclsid, riid, ppv);

}
/////////////////////////////////////////////////////////////////////////////
//++
//
//  DllGetClassObject
//
//  Description:
//      Returns a class factory to create an object of the requested type
//
//  Arguments:
//      rclsidIn    - CLSID of the class to create.
//      riidIn      - Requested interface of the class.
//      ppvOut      - Pointer to send the class back to the caller.
//
//  Return Value:
//      S_OK
//          Success.
//
//      Other errors as HRESULTs...
//
//--
/////////////////////////////////////////////////////////////////////////////
STDAPI
DllGetClassObject(
      REFCLSID  rclsidIn
    , REFIID    riidIn
    , LPVOID *  ppvOut
    )
{
    return _Module.GetClassObject( rclsidIn, riidIn, ppvOut );

}  //*** DllGetClassObject
示例#6
0
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
    // Initialize the application, if needed
    g_papp->Initialize(ZString());

#ifdef _MERGE_PROXYSTUB
    if (S_OK == PrxDllGetClassObject(rclsid, riid, ppv))
        return S_OK;
#endif

    return _Module.GetClassObject(rclsid, riid, ppv);
}
示例#7
0
//2 使用类厂创建对象,返回接口
IUnknown* MyCreateInstance2(CLSID clsid)
{
   //1 根据组件ID获取组件的类厂接口
	IClassFactory* piFactory=NULL;
	_Module.GetClassObject(clsid,IID_IClassFactory,
		(LPVOID*)&piFactory);
	//2 使用类厂创建组件,返回接口
	IUnknown* piUnknown=NULL;
	piFactory->CreateInstance(NULL,IID_IUnknown,
		(LPVOID*)&piUnknown);
	return piUnknown;
} 
示例#8
0
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) {
	return _Module.GetClassObject(rclsid, riid, ppv);
}
示例#9
0
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	return _Module.GetClassObject(rclsid, riid, ppv);
}
示例#10
0
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
    ATLTRACE("DllGetClassObject\n");

    return _Module.GetClassObject(rclsid, riid, ppv);
}
示例#11
0
STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID* ppv)
{
	TraceMsg( L"-->DllGetClassObject.\n");

	return _Module.GetClassObject(rclsid, riid, ppv);
}