* @remarks Call GetLastError() to obtain extended error information.\r
* @see http://support.microsoft.com/?scid=kb;en-us;132958\r
*/\r
-BOOL _GetAccountSid(LPTSTR SystemName, LPTSTR AccountName, PSID * Sid)\r
+BOOL _GetAccountSid(LPCTSTR SystemName, LPCTSTR AccountName, PSID * Sid)\r
{\r
LPTSTR ReferencedDomain = NULL;\r
DWORD cbSid = 128; /* initial allocation attempt */\r
* @param pszName the name of the account\r
* @param pszDesc description of the account\r
*/\r
-int CreateServiceAccount(char *pszName, char *pszDesc)\r
+int CreateServiceAccount(const char *pszName, const char *pszDesc)\r
{\r
USER_INFO_1 ui;\r
USER_INFO_1008 ui2;\r
STATUS_SUCCESS)\r
return 3;\r
\r
- _GetAccountSid(NULL, (LPTSTR) pszName, &pSID);\r
+ _GetAccountSid(NULL, (LPCTSTR) pszName, &pSID);\r
\r
- if (_SetPrivilegeOnAccount(hPolicy, pSID, L"SeServiceLogonRight", TRUE) != STATUS_SUCCESS)\r
+ if (_SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeServiceLogonRight", TRUE) != STATUS_SUCCESS)\r
return 4;\r
\r
- _SetPrivilegeOnAccount(hPolicy, pSID, L"SeDenyInteractiveLogonRight", TRUE);\r
- _SetPrivilegeOnAccount(hPolicy, pSID, L"SeDenyBatchLogonRight", TRUE);\r
- _SetPrivilegeOnAccount(hPolicy, pSID, L"SeDenyNetworkLogonRight", TRUE);\r
+ _SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeDenyInteractiveLogonRight", TRUE);\r
+ _SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeDenyBatchLogonRight", TRUE);\r
+ _SetPrivilegeOnAccount(hPolicy, pSID, (LPWSTR) L"SeDenyNetworkLogonRight", TRUE);\r
\r
GNLsaClose(hPolicy);\r
\r
NULL, (DWORD) dwErr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &err,\r
0, NULL ))\r
{\r
- err = "";\r
+ err = (char *) LocalAlloc (LMEM_FIXED | LMEM_ZEROINIT, 1);\r
}\r
\r
mem = strlen(err) + strlen(prefix) + 20;\r