I am trying to create a group policy on my win2k server in C++ using gpedit
via COM. ::CoGetClassObject succeeds but ::CoCreateInstance fails:
::CoInitializeEx(NULL, COINIT_MULTITHREADED);
std::stringstream ss;
ss << "CGPO Instantiation Test Begin..." << std::endl << std::endl;
//////////////////////////// CLSCTX_INPROC_SERVER //////////////////////////
{
CComPtr<IClassFactory> groupPolicyObject;
HRESULT hr = ::CoGetClassObject(CLSID_GroupPolicyObject,
CLSCTX_INPROC_SERVER,
NULL, IID_IClassFactory,
(void**)&(groupPolicyObject.p));
if (SUCCEEDED(hr))
{
ss << "CoGetClassObject CLSCTX_INPROC_SERVER SUCCEEDED: " << hr << std::endl;
}
else
{
ss << "CoGetClassObject CLSCTX_INPROC_SERVER FAILED: " << hr << std::endl;
}
}
{
CComPtr<IGroupPolicyObject> groupPolicyObject;
HRESULT hr = ::CoCreateInstance(CLSID_GroupPolicyObject,
NULL,
CLSCTX_INPROC_SERVER,
IID_IGroupPolicyObject,
(void**)&(groupPolicyObject.p));
if (SUCCEEDED(hr))
{
ss << "CoCreateInstance CLSCTX_INPROC_SERVER SUCCEEDED: " << hr << std::endl;
}
else
{
ss << "CoCreateInstance CLSCTX_INPROC_SERVER FAILED: " << hr << std::endl;
}
}
My server is service pack 4. Anyone got any ideas?