BOOL AFXAPI AfxOleLockControl(LPCTSTR lpszProgID) { // map prog id to CLSID CLSID clsid; HRESULT hr = AfxGetClassIDFromString(lpszProgID, &clsid); if (FAILED(hr)) return FALSE; return AfxOleLockControl(clsid); }
BOOL CWnd::CreateControl(LPCTSTR lpszClass, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CFile* pPersist, BOOL bStorage, BSTR bstrLicKey) { ASSERT(lpszClass != NULL); CLSID clsid; HRESULT hr = AfxGetClassIDFromString(lpszClass, &clsid); if (FAILED(hr)) return FALSE; return CreateControl(clsid, lpszWindowName, dwStyle, rect, pParentWnd, nID, pPersist, bStorage, bstrLicKey); }
BOOL COleDispatchDriver::CreateDispatch(LPCTSTR lpszProgID, COleException* pError) { ASSERT(m_lpDispatch == NULL); // map prog id to CLSID CLSID clsid; SCODE sc = AfxGetClassIDFromString(lpszProgID, &clsid); if (FAILED(sc)) { if (pError != NULL) pError->m_sc = sc; return FALSE; } // create with CLSID return CreateDispatch(clsid, pError); }