@@ -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(...) {}
|
||||
|
Reference in New Issue
Block a user