2008-08-27 17:18:25 +00:00
|
|
|
#include "precomp.h"
|
|
|
|
|
2014-01-25 10:59:27 +00:00
|
|
|
#include <olectl.h>
|
|
|
|
|
2008-08-27 17:18:25 +00:00
|
|
|
HINSTANCE netshell_hInstance;
|
2008-08-29 14:18:55 +00:00
|
|
|
|
2012-01-20 21:50:54 +00:00
|
|
|
extern "C"
|
2008-08-27 17:18:25 +00:00
|
|
|
{
|
|
|
|
|
2015-02-28 10:11:51 +00:00
|
|
|
/* FIXME: rpcproxy.h */
|
|
|
|
HRESULT __wine_register_resources(HMODULE module);
|
|
|
|
HRESULT __wine_unregister_resources(HMODULE module);
|
|
|
|
|
2008-08-27 17:18:25 +00:00
|
|
|
BOOL
|
|
|
|
WINAPI
|
|
|
|
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
|
|
|
|
{
|
|
|
|
switch (fdwReason)
|
|
|
|
{
|
|
|
|
case DLL_PROCESS_ATTACH:
|
|
|
|
netshell_hInstance = hinstDLL;
|
|
|
|
DisableThreadLibraryCalls(netshell_hInstance);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT
|
|
|
|
WINAPI
|
|
|
|
DllCanUnloadNow(void)
|
|
|
|
{
|
|
|
|
return S_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
STDAPI
|
|
|
|
DllRegisterServer(void)
|
|
|
|
{
|
2015-02-28 10:11:51 +00:00
|
|
|
return __wine_register_resources(netshell_hInstance);
|
2008-08-27 17:18:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
STDAPI
|
|
|
|
DllUnregisterServer(void)
|
|
|
|
{
|
2015-02-28 10:11:51 +00:00
|
|
|
return __wine_unregister_resources(netshell_hInstance);
|
2008-08-27 17:18:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
STDAPI
|
|
|
|
DllGetClassObject(
|
|
|
|
REFCLSID rclsid,
|
|
|
|
REFIID riid,
|
2012-01-20 21:50:54 +00:00
|
|
|
LPVOID *ppv)
|
2008-08-27 17:18:25 +00:00
|
|
|
{
|
|
|
|
if (!ppv)
|
|
|
|
return E_INVALIDARG;
|
|
|
|
|
|
|
|
*ppv = NULL;
|
|
|
|
|
2012-01-20 21:50:54 +00:00
|
|
|
return IClassFactory_fnConstructor(rclsid, riid, ppv);
|
2008-08-27 17:18:25 +00:00
|
|
|
}
|
2008-08-29 14:18:55 +00:00
|
|
|
|
|
|
|
VOID
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2012-01-20 21:50:54 +00:00
|
|
|
NcFreeNetconProperties(NETCON_PROPERTIES *pProps)
|
2008-08-29 14:18:55 +00:00
|
|
|
{
|
|
|
|
CoTaskMemFree(pProps->pszwName);
|
|
|
|
CoTaskMemFree(pProps->pszwDeviceName);
|
|
|
|
CoTaskMemFree(pProps);
|
|
|
|
}
|
2012-01-20 21:50:54 +00:00
|
|
|
|
2016-11-30 20:31:50 +00:00
|
|
|
BOOL
|
|
|
|
WINAPI
|
|
|
|
NcIsValidConnectionName(_In_ PCWSTR pszwName)
|
|
|
|
{
|
|
|
|
if (!pszwName)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
BOOL nonSpace = FALSE;
|
|
|
|
while (*pszwName)
|
|
|
|
{
|
|
|
|
switch(*(pszwName++))
|
|
|
|
{
|
|
|
|
case L'\\':
|
|
|
|
case L'/':
|
|
|
|
case L':':
|
|
|
|
case L'*':
|
|
|
|
case L'\t':
|
|
|
|
case L'?':
|
|
|
|
case L'<':
|
|
|
|
case L'>':
|
|
|
|
case L'|':
|
|
|
|
case L'\"':
|
|
|
|
return FALSE;
|
|
|
|
case L' ':
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
nonSpace = TRUE;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nonSpace;
|
|
|
|
}
|
|
|
|
|
2012-01-20 21:50:54 +00:00
|
|
|
} // extern "C"
|