103 DWORD dwRequiredSize = 0;
118 ok(dwRequiredSize != 0,
"dwRequiredSize is zero, expected non-zero\n");
119 if (dwRequiredSize == 0)
121 skip(
"Required size is null; cannot proceed with QueryConfig2W --> %lu test\n",
dwInfoLevel);
129 skip(
"Cannot allocate %lu bytes of memory\n", dwRequiredSize);
140 ok(bError,
"bError = %u, expected TRUE\n", bError);
143 skip(
"QueryServiceConfig2W returned an error; cannot proceed with QueryConfig2W --> %lu test\n",
dwInfoLevel);
152 ok(lRet ==
ERROR_SUCCESS,
"RegOpenKeyExW failed with 0x%08lx\n", lRet);
155 skip(
"No regkey; cannot proceed with QueryConfig2W --> %lu test\n",
dwInfoLevel);
169 ok(dwRet ==
ERROR_SUCCESS,
"RegReadStringW returned 0x%08lx\n", dwRet);
170 ok(lpszDescription !=
NULL,
"lpszDescription is null, expected non-null\n");
178 ok(iRet == 0,
"Retrieved descriptions are different !\n");
202 ok(lRet ==
ERROR_SUCCESS,
"RegQueryValueExW returned 0x%08lx\n", lRet);
203 ok(dwType ==
REG_BINARY,
"dwType = %lu, expected REG_BINARY\n", dwType);
204 ok(dwRequiredSize != 0,
"dwRequiredSize is zero, expected non-zero\n");
207 if (lpFailureActions2 ==
NULL)
209 skip(
"Cannot allocate %lu bytes of memory\n", dwRequiredSize);
217 (
LPBYTE)lpFailureActions2,
219 ok(lRet ==
ERROR_SUCCESS,
"RegQueryValueExW returned 0x%08lx\n", lRet);
220 ok(dwRequiredSize != 0,
"dwRequiredSize is zero, expected non-zero\n");
227 ok(lpFailureActions1->
dwResetPeriod == lpFailureActions2->
dwResetPeriod,
"lpFailureActions1->dwResetPeriod != lpFailureActions2->dwResetPeriod\n");
228 ok(lpFailureActions1->
cActions == lpFailureActions2->
cActions,
"lpFailureActions1->cActions != lpFailureActions2->cActions\n");
235 if (lpFailureActions1->
cActions > 0 &&
240 ok(lpFailureActions1->
lpsaActions[
i].
Type == lpFailureActions2->
lpsaActions[
i].
Type ,
"lpFailureActions1->lpsaActions[%lu].Type != lpFailureActions2->lpsaActions[%lu].Type\n" ,
i,
i);
249 if (lpFailureActions1->
lpRebootMsg && lpRebootMessage)
254 ok(iRet == 0,
"Retrieved reboot messages are different !\n");
257 if (lpFailureActions1->
lpCommand && lpFailureCommand)
262 ok(iRet == 0,
"Retrieved commands are different !\n");
269 if (lpFailureCommand)
static DWORD RegReadStringW(HKEY hKey, LPWSTR lpValueName, LPWSTR *lpValue)
DWORD WINAPI GetLastError(VOID)
#define SERVICE_CONFIG_DESCRIPTION
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat,...)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
struct _SERVICE_DESCRIPTIONW * LPSERVICE_DESCRIPTIONW
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define SERVICE_CONFIG_FAILURE_ACTIONS
BOOL WINAPI QueryServiceConfig2W(SC_HANDLE hService, DWORD dwInfoLevel, LPBYTE lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
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
struct _SERVICE_FAILURE_ACTIONSW * LPSERVICE_FAILURE_ACTIONSW
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
struct _SC_ACTION * LPSC_ACTION
#define HeapFree(x, y, z)
#define RegCloseKey(hKey)
#define HKEY_LOCAL_MACHINE
#define ERROR_INSUFFICIENT_BUFFER