Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// NetMisc.cpp
//
// Networking APIs that don't fit into any of the other big buckets
//
// History:
//
// 10/21/1999 KenSh Created (adapted from JetNet source code)
//
#include "stdafx.h"
#include "NetConn.h"
#include "theapp.h"
static const LPCTSTR c_rgUserLevelVxD[] = { _T("FILESEC"), _T("MSSP") };
BOOL WINAPI IsAccessControlUserLevel() { CRegistry reg;
for (int i = 0; i < _countof(c_rgUserLevelVxD); i++) { if (reg.OpenKey(HKEY_LOCAL_MACHINE, _T("System\\CurrentControlSet\\Services\\VxD"), KEY_READ)) { if (reg.OpenSubKey(c_rgUserLevelVxD[i])) return TRUE; } }
if (reg.OpenKey(HKEY_LOCAL_MACHINE, _T("Security\\Provider"), KEY_QUERY_VALUE)) { DWORD dwPlatformType; if (reg.QueryDwordValue(_T("Platform_Type"), &dwPlatformType)) { if (dwPlatformType != 0) return TRUE; } }
return FALSE; }
HRESULT WINAPI DisableUserLevelAccessControl() { HRESULT hr = NETCONN_SUCCESS;
CRegistry reg;
for (int i = 0; i < _countof(c_rgUserLevelVxD); i++) { reg.OpenKey(HKEY_LOCAL_MACHINE, _T("System\\CurrentControlSet\\Services\\VxD")); if (ERROR_SUCCESS == RegDeleteKeyAndSubKeys(reg.m_hKey, c_rgUserLevelVxD[i])) hr = NETCONN_NEED_RESTART; }
reg.OpenKey(HKEY_LOCAL_MACHINE, _T("Security\\Provider"), KEY_SET_VALUE); DWORD dwPlatformType = 0; reg.SetBinaryValue(_T("Platform_Type"), &dwPlatformType, sizeof(DWORD));
return hr; }
HRESULT WINAPI IcsUninstall(void) { return IcsUninstall16(); }
|