13#define NETWORK_SETUP_MAGIC 0x50515253
36 {(
LPWSTR)
L"MS_TCPIP", &GUID_DEVCLASS_NETTRANS},
37 {(
LPWSTR)
L"MS_NDISUIO", &GUID_DEVCLASS_NETTRANS}
56 const GUID *pClassGuid)
58 INetCfg *pNetCfg =
NULL;
59 INetCfgLock *pNetCfgLock =
NULL;
60 INetCfgClassSetup *pNetCfgClassSetup =
NULL;
61 INetCfgComponent *pNetCfgComponent =
NULL;
66 TRACE(
"InstallNetworkComponent(%S)\n", pszComponentName);
71 ERR(
"CoInitialize failed\n");
82 ERR(
"CoCreateInstance failed\n");
88 (
PVOID*)&pNetCfgLock);
91 ERR(
"QueryInterface failed\n");
95 hr = pNetCfgLock->AcquireWriteLock(5000,
100 ERR(
"AcquireWriteLock failed\n");
107 hr = pNetCfg->Initialize(
NULL);
110 ERR(
"Initialize failed\n");
116 hr = pNetCfg->QueryNetCfgClass(pClassGuid,
118 (
PVOID*)&pNetCfgClassSetup);
121 ERR(
"QueryNetCfgClass failed\n");
128 hr = pNetCfgClassSetup->Install(pszComponentName,
137 if (pNetCfgComponent !=
NULL)
142 ERR(
"Install failed\n");
146 hr = pNetCfg->Apply();
149 ERR(
"Apply failed\n");
154 if (pNetCfgClassSetup !=
NULL)
155 pNetCfgClassSetup->Release();
158 pNetCfg->Uninitialize();
161 pNetCfgLock->ReleaseWriteLock();
163 if (pNetCfgLock !=
NULL)
164 pNetCfgLock->Release();
171 TRACE(
"InstallNetworkComponent() done!\n");
185 TRACE(
"InstallThreadProc()\n");
225 if ((pNetworkSetupData !=
NULL) &&
235 pSetupData = pNetworkSetupData->pSetupData;
256 TRACE(
"Starting install thread!\n");
257 pNetworkSetupData->hwndPage = hwndDlg;
259 TRACE(
"Install thread done!\n");
299 if ((pNetworkSetupData !=
NULL) &&
309 pSetupData = pNetworkSetupData->pSetupData;
345 pNetworkSetupData->bTypicalNetworkSetup =
FALSE;
350 pNetworkSetupData->bTypicalNetworkSetup =
TRUE;
385 if ((pNetworkSetupData !=
NULL) &&
395 pSetupData = pNetworkSetupData->pSetupData;
449 WCHAR DomainName[51];
451 WCHAR ErrorName[256];
456 if ((pNetworkSetupData !=
NULL) &&
466 pSetupData = pNetworkSetupData->pSetupData;
471 wcscpy(DomainName,
L"WORKGROUP");
488 if (pNetworkSetupData !=
NULL)
523 wcscpy(ErrorName,
L"Setup cannot continue until you\nenter the name of your domain/workgroup.");
540 if (pNetworkSetupData->bTypicalNetworkSetup ==
TRUE)
566 DWORD dwPageCount = 4;
569 TRACE(
"NetSetupRequestWizardPages(%p %p %p)\n", pPageCount, pPages, pSetupData);
571 if (pPageCount ==
NULL)
576 TRACE(
"Return %lu pages\n", dwPageCount);
577 *pPageCount = dwPageCount;
581 if (*pPageCount < dwPageCount)
587 if (pNetworkSetupData ==
NULL)
596 psp.lParam = (
LPARAM)pNetworkSetupData;
598 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
605 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
613 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
621 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
628 TRACE(
"Return %lu pages\n", dwPageCount);
629 *pPageCount = dwPageCount;
#define IDS_NETWORKCOMPONENTTITLE
#define IDD_NETWORKCOMPONENTPAGE
#define IDS_REACTOS_SETUP
#define IDS_NETWORKSETTINGSTITLE
#define IDS_NETWORKINITTITLE
#define IDD_NETWORKDOMAINPAGE
#define IDS_NETWORKINITSUBTITLE
#define IDD_NETWORKINITPAGE
#define IDD_NETWORKSETTINGSPAGE
#define IDC_NETWORK_CUSTOM
#define IDS_NETWORKSETTINGSSUBTITLE
#define IDC_NETWORK_TYPICAL
#define IDS_NETWORKDOMAINTITLE
#define IDC_SELECT_WORKGROUP
#define IDS_NETWORKDOMAINSUBTITLE
#define IDC_INSTALL_PROGRESS
#define IDS_WZD_DOMAIN_NAME
#define IDC_NETWORK_DEVICE
#define IDS_NETWORKCOMPONENTSUBTITLE
static const WCHAR Title[]
#define ERROR_INVALID_PARAMETER
#define HeapFree(x, y, z)
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
struct _PSP * HPROPSHEETPAGE
EXTERN_C const IID IID_INetCfgClassSetup
EXTERN_C const IID IID_INetCfgLock
EXTERN_C const GUID CLSID_CNetCfg
EXTERN_C const IID IID_INetCfg
HINSTANCE netshell_hInstance
#define MAKEINTRESOURCE(i)
#define PropSheet_PressButton(d, i)
#define CreatePropertySheetPage
#define PropSheet_SetWizButtons(d, f)
struct _NETWORKSETUPDATA * PNETWORKSETUPDATA
static INT_PTR CALLBACK NetworkSettingsPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
DWORD WINAPI NetSetupRequestWizardPages(PDWORD pPageCount, HPROPSHEETPAGE *pPages, PSETUPDATA pSetupData)
struct _NETWORKCOMPONENT PNETWORKCOMPONENT
struct _NETWORKSETUPDATA NETWORKSETUPDATA
static HRESULT InstallNetworkComponent(LPWSTR pszComponentName, const GUID *pClassGuid)
static INT_PTR CALLBACK NetworkDomainPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static INT_PTR CALLBACK NetworkComponentPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define NETWORK_SETUP_MAGIC
static NETWORKCOMPONENT NetworkComponents[]
static VOID SetBoldText(HWND hwndDlg, INT control, PSETUPDATA pSetupData)
static DWORD WINAPI InstallThreadProc(_In_ LPVOID lpParameter)
static INT_PTR CALLBACK NetworkInitPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct _NETWORKCOMPONENT NETWORKCOMPONENT
BOOL bTypicalNetworkSetup
UINT uPostNetworkWizardPage
UINT uFirstNetworkWizardPage
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
#define ERROR_BUFFER_OVERFLOW
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
HWND WINAPI SetFocus(_In_opt_ HWND)
struct tagNMHDR * LPNMHDR
HWND WINAPI GetParent(_In_ HWND)
#define SendDlgItemMessage