@@ -171,7 +171,7 @@ DWORD WINAPI EapPeerConfigBlob2Xml(
|
||||
|
||||
// Create configuration XML document.
|
||||
com_obj<IXMLDOMDocument2> pConfigDoc;
|
||||
if (FAILED(hr = pConfigDoc.create(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER)))
|
||||
if (FAILED(hr = CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, pConfigDoc)))
|
||||
return dwResult = g_peer.log_error(ppEapError, HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error creating XML document."));
|
||||
|
||||
pConfigDoc->put_async(VARIANT_FALSE);
|
||||
|
@@ -44,12 +44,15 @@ STDAPI DllRegisterServer()
|
||||
try {
|
||||
tstring sz, sz2;
|
||||
reg_key key_methods, key_author, key_method;
|
||||
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY)) throw win_runtime_error();
|
||||
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY, key_methods);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
sprintf(sz, _T("%u"), EAPMETHOD_AUTHOR_ID);
|
||||
if (!key_author.create(key_methods, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
|
||||
s = RegCreateKeyEx(key_methods, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_author, NULL);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
set_value(key_author, NULL, _T(PRODUCT_NAME_STR));
|
||||
sprintf(sz, _T("%u"), EAPMETHOD_TYPE);
|
||||
if (!key_method.create(key_author, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
|
||||
s = RegCreateKeyEx(key_author, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_method, NULL);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
if (!GetModuleFileName(g_peer.m_instance, sz)) throw win_runtime_error("GetModuleFileName failed.");
|
||||
sprintf(sz2, _T("@%s,-1"), sz.c_str());
|
||||
set_value(key_method, _T("PeerDllPath") , sz);
|
||||
@@ -77,7 +80,8 @@ STDAPI DllUnregisterServer()
|
||||
try {
|
||||
tstring sz;
|
||||
reg_key key_methods;
|
||||
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ)) throw win_runtime_error();
|
||||
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ, key_methods);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
sprintf(sz, _T("%u\\%u"), EAPMETHOD_AUTHOR_ID, EAPMETHOD_TYPE);
|
||||
if (!key_methods.delete_subkey(sz.c_str())) throw win_runtime_error();
|
||||
} catch(...) {}
|
||||
|
@@ -44,12 +44,15 @@ STDAPI DllRegisterServer()
|
||||
try {
|
||||
tstring sz;
|
||||
reg_key key_methods, key_author, key_method;
|
||||
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY)) throw win_runtime_error();
|
||||
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY, key_methods);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
sprintf(sz, _T("%u"), EAPMETHOD_AUTHOR_ID);
|
||||
if (!key_author.create(key_methods, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
|
||||
s = RegCreateKeyEx(key_methods, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_author, NULL);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
set_value(key_author, NULL, _T(PRODUCT_NAME_STR));
|
||||
sprintf(sz, _T("%u"), EAPMETHOD_TYPE);
|
||||
if (!key_method.create(key_author, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
|
||||
s = RegCreateKeyEx(key_author, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_method, NULL);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
if (!GetModuleFileName(g_peer.m_instance, sz)) throw win_runtime_error("GetModuleFileName failed.");
|
||||
set_value(key_method, _T("PeerConfigUIPath") , sz);
|
||||
set_value(key_method, _T("PeerIdentityPath") , sz);
|
||||
@@ -78,7 +81,8 @@ STDAPI DllUnregisterServer()
|
||||
try {
|
||||
tstring sz;
|
||||
reg_key key_methods;
|
||||
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ)) throw win_runtime_error();
|
||||
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ, key_methods);
|
||||
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
|
||||
sprintf(sz, _T("%u\\%u"), EAPMETHOD_AUTHOR_ID, EAPMETHOD_TYPE);
|
||||
key_methods.delete_subkey(sz.c_str());
|
||||
} catch(...) {}
|
||||
|
Reference in New Issue
Block a user