98 SC_HANDLE hManager =
NULL;
99 SC_HANDLE hService =
NULL;
101 DWORD cbBytesNeeded = 0;
106 if (hManager ==
NULL)
113 if (hService ==
NULL)
125 if (cbBytesNeeded == 0)
133 if (pServiceFailure ==
NULL)
153 if (bResult ==
FALSE && pServiceFailure !=
NULL)
172 PWSTR startPtr, endPtr;
236 if (*startPtr ==
L'\"')
239 endPtr =
wcschr(startPtr,
L'\"');
247 wcscpy(szBuffer, startPtr);
260 startPtr = endPtr + 1;
275 wcscpy(szBuffer, startPtr);
319 bRestartService =
TRUE;
327 bRebootComputer =
TRUE;
348 PWCHAR pszFilter =
L"Executable Files (*.exe;*.com;*.cmd;*.bat)\0*.exe;*.com;*.cmd;*.bat\0";
382 ZeroMemory(&FailureActions,
sizeof(FailureActions));
395 bRestartService =
TRUE;
405 bRebootComputer =
TRUE;
428typedef struct _SERVICE_FAILURE_ACTIONS {
459 if (pRecoveryData !=
NULL)
477 if (pRecoveryData !=
NULL)
INT AllocAndLoadString(OUT LPTSTR *lpTarget, IN HINSTANCE hInst, IN UINT uID)
struct _SERVICEPROPSHEET * PSERVICEPROPSHEET
#define IDC_SECOND_FAILURE
#define IDC_SUBSEQUENT_FAILURES
#define IDC_ADD_FAILCOUNT
#define IDC_BROWSE_PROGRAM
#define IDS_RESTART_COMPUTER
#define IDC_RESTART_TEXT1
#define IDC_RESTART_TEXT2
#define IDC_RESTART_OPTIONS
#define IDC_FIRST_FAILURE
#define OFN_FILEMUSTEXIST
#define OFN_PATHMUSTEXIST
#define HeapFree(x, y, z)
GLuint GLsizei GLsizei * length
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
HLOCAL NTAPI LocalFree(HLOCAL hMem)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
struct _RECOVERYDATA RECOVERYDATA
static VOID SetFailureActions(HWND hwndDlg)
static VOID BrowseFile(HWND hwndDlg)
static VOID ShowFailureActions(HWND hwndDlg, PRECOVERYDATA pRecoveryData)
static VOID InitRecoveryPage(HWND hwndDlg)
static BOOL GetServiceFailure(PRECOVERYDATA pRecoveryData)
static VOID UpdateFailureActions(HWND hwndDlg, PRECOVERYDATA pRecoveryData)
struct _RECOVERYDATA * PRECOVERYDATA
INT_PTR CALLBACK RecoveryPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define PropSheet_Changed(d, w)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
LPSERVICE_FAILURE_ACTIONS pServiceFailure
ENUM_SERVICE_STATUS_PROCESS * pService
SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS
LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS
#define SC_MANAGER_CONNECT
#define SERVICE_CONFIG_FAILURE_ACTIONS
#define QueryServiceConfig2
#define SERVICE_QUERY_CONFIG
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HWND WINAPI GetParent(_In_ HWND)