Browse Source

com & com security already initialized by here

Grant Limberg 4 years ago
parent
commit
5188c7d41f
2 changed files with 3 additions and 8 deletions
  1. 2 1
      osdep/EthernetTap.cpp
  2. 1 7
      osdep/WindowsEthernetTap.cpp

+ 2 - 1
osdep/EthernetTap.cpp

@@ -112,7 +112,7 @@ std::shared_ptr<EthernetTap> EthernetTap::newInstance(
 				-1,
 				NULL,
 				NULL,
-				RPC_C_AUTHN_LEVEL_DEFAULT,
+				RPC_C_AUTHN_LEVEL_PKT,
 				RPC_C_IMP_LEVEL_IMPERSONATE,
 				NULL,
 				EOAC_NONE,
@@ -120,6 +120,7 @@ std::shared_ptr<EthernetTap> EthernetTap::newInstance(
 			);
 			if (FAILED(hres)) {
 				CoUninitialize();
+				fprintf(stderr, "WinEthernetTap: Failed to initialize security");
 				throw std::runtime_error("WinEthernetTap: Failed to initialize security");
 			}
 			_comInit = true;

+ 1 - 7
osdep/WindowsEthernetTap.cpp

@@ -816,13 +816,7 @@ void WindowsEthernetTap::setFriendlyName(const char *dn)
 		RegCloseKey(ifp);
 	}
 
-	HRESULT hr = CoInitialize(nullptr);
-	if (hr != S_OK) return;
-	CoInitializeSecurity(NULL, -1, NULL, NULL,
-		RPC_C_AUTHN_LEVEL_PKT,
-		RPC_C_IMP_LEVEL_IMPERSONATE,
-		NULL, EOAC_NONE, NULL);
-	if (hr != S_OK) return;
+	HRESULT hr = S_OK;
 
 	INetSharingManager *nsm;
 	hr = CoCreateInstance(__uuidof(NetSharingManager), NULL, CLSCTX_ALL, __uuidof(INetSharingManager), (void**)&nsm);