#include <strsafe.h>
-#define REG_CLIENT_PARMS_KEY "SYSTEM\\CurrentControlSet\\Services\\TransarcAFSDaemon\\Parameters"
-#define REG_CLIENT_PROVIDER_KEY "SYSTEM\\CurrentControlSet\\Services\\TransarcAFSDaemon\\NetworkProvider"
-#define REG_CLIENT_DOMAINS_SUBKEY "Domain"
+#define REG_CLIENT_DOMAINS_SUBKEY "Domain"
#define REG_CLIENT_RETRY_INTERVAL_PARM "LoginRetryInterval"
#define REG_CLIENT_SLEEP_INTERVAL_PARM "LoginSleepInterval"
#define REG_CLIENT_FAIL_SILENTLY_PARM "FailLoginsSilently"
#define REG_CLIENT_TRACE_OPTION_PARM "TraceOption"
#define REG_CLIENT_LOGON_OPTION_PARM "LogonOptions"
#define REG_CLIENT_LOGON_SCRIPT_PARMW L"LogonScript"
-#define DEFAULT_RETRY_INTERVAL 30 /* seconds*/
+#define REG_CLIENT_THESE_CELLS_PARM "TheseCells"
+#define REG_CLIENT_LOGOFF_TOKENS_PARM "LogoffPreserveTokens"
+#define DEFAULT_RETRY_INTERVAL 60 /* seconds*/
#define DEFAULT_FAIL_SILENTLY FALSE
#define DEFAULT_SLEEP_INTERVAL 5 /* seconds*/
#define DEFAULT_LOGON_OPTION 1
typedef struct LogonOptions_type {
DWORD LogonOption;
BOOLEAN failSilently;
- int retryInterval;
- int sleepInterval;
+ int retryInterval;
+ int sleepInterval;
char * smbName;
LPWSTR logonScript;
DWORD flags; /* LOGON_FLAG_* */
+ char * theseCells;
} LogonOptions_t;
/* */
DWORD GetFileCellName(char * path, char * cell, size_t cellLen);
DWORD GetAdHomePath(char * homePath, size_t homePathLen, PLUID lpLogonId, LogonOptions_t * opt);
DWORD QueryAdHomePathFromSid(char * homePath, size_t homePathLen, PSID psid, PWSTR domain);
-BOOL GetLocalShortDomain(PWSTR Domain);
+BOOL GetLocalShortDomain(PWSTR Domain, DWORD cbDomain);
#ifdef __cplusplus
}