LPDWORD totalentries,
PDWORD_PTR resumehandle)
{
+ UNICODE_STRING ServerName;
PSAM_RID_ENUMERATION CurrentAlias;
PENUM_CONTEXT EnumContext = NULL;
PSID DomainSid = NULL;
*totalentries = 0;
*bufptr = NULL;
+ if (servername != NULL)
+ RtlInitUnicodeString(&ServerName, servername);
+
if (resumehandle != NULL && *resumehandle != 0)
{
EnumContext = (PENUM_CONTEXT)*resumehandle;
EnumContext->Index = 0;
EnumContext->BuiltinDone = FALSE;
- Status = SamConnect(NULL,
+ Status = SamConnect((servername != NULL) ? &ServerName : NULL,
&EnumContext->ServerHandle,
SAM_SERVER_CONNECT | SAM_SERVER_LOOKUP_DOMAIN,
NULL);
goto done;
}
- Status = GetAccountDomainSid(&DomainSid);
+ Status = GetAccountDomainSid((servername != NULL) ? &ServerName : NULL,
+ &DomainSid);
if (!NT_SUCCESS(Status))
{
ERR("GetAccountDomainSid failed (Status %08lx)\n", Status);