|
|
/*++
Copyright (c) 1997 - 1997 Microsoft Corporation
Module Name:
joinp.h
Abstract:
Private definitions and prototypes of helper functions for netjoin. This file is intended to be included only be netjoin.c & joinutl.c.
Author:
kumarp 17-May-1999
--*/
#ifndef __JOINP_H__
#define __JOINP_H__
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" { #endif
LPWSTR GetStrPtr(IN LPWSTR szString OPTIONAL);
LPWSTR GetStrPtr(IN LPWSTR szString OPTIONAL);
NET_API_STATUS NET_API_FUNCTION NetpDuplicateString(IN LPCWSTR szSrc, IN LONG cchSrc, OUT LPWSTR* pszDst);
NET_API_STATUS NET_API_FUNCTION NetpGeneratePassword( IN LPCWSTR szMachine, IN BOOL fRandomPwdPreferred, IN LPCWSTR szDcName, IN BOOL fIsNt4Dc, OUT LPWSTR szPassword );
NET_API_STATUS NET_API_FUNCTION NetpGenerateRandomPassword( OUT LPWSTR szPassword );
void NetpGenerateDefaultPassword( IN LPCWSTR szMachine, OUT LPWSTR szPassword );
BOOL NetpIsDefaultPassword( IN LPCWSTR szMachine, IN LPWSTR szPassword );
NET_API_STATUS NET_API_FUNCTION NetpGetNt4RefusePasswordChangeStatus( IN LPCWSTR Nt4Dc, OUT BOOL* RefusePasswordChangeSet );
NET_API_STATUS NET_API_FUNCTION NetpGetComputerNameAllocIfReqd( OUT LPWSTR* ppwszMachine, IN UINT cLen );
NET_API_STATUS NET_API_FUNCTION NetpConcatStrings(IN LPCWSTR szSrc1, IN LONG cchSrc1, IN LPCWSTR szSrc2, IN LONG cchSrc2, OUT LPWSTR* pszDst);
NET_API_STATUS NET_API_FUNCTION NetpConcatStrings3(IN LPCWSTR szSrc1, IN LONG cchSrc1, IN LPCWSTR szSrc2, IN LONG cchSrc2, IN LPCWSTR szSrc3, IN LONG cchSrc3, OUT LPWSTR* pszDst);
NET_API_STATUS NET_API_FUNCTION NetpVerifyStrOemCompatibleOnMachine( IN LPCWSTR szRemoteMachine, IN LPCWSTR szString );
#define NJA_UpdateNetlogonCache 0x00001
#define NJA_SetPolicyDomainInfo 0x00002
#define NJA_AddToLocalGroups 0x00004
#define NJA_RemoveFromLocalGroups 0x00008
#define NJA_SetNetlogonState 0x00010
#define NJA_SetTimeSvcJoin 0x00020
#define NJA_SetTimeSvcUnjoin 0x00040
#define NJA_RecordDcInfo 0x00080
#define NJA_GenMachinePassword 0x00100
#define NJA_SetMachinePassword 0x00200
#define NJA_CreateAccount 0x00400
#define NJA_UseSpecifiedOU 0x00800
#define NJA_GetPolicyDomainInfo 0x01000
#define NJA_RandomPwdPreferred 0x02000
#define NJA_ValidateMachineAccount 0x04000
#define NJA_DeleteAccount 0x08000
#define NJA_DeleteMachinePassword 0x10000
#define NJA_RemoveDnsRegistrations 0x20000
#define NJA_IgnoreErrors 0x40000
#define NJA_RollbackOnFailure 0x80000
#define NJA_SetAutoenrolSvcJoin 0x100000
#define NJA_SetAutoenrolSvcUnjoin 0x200000
#define NJA_AddDnsRegistrations 0x400000
#define NJA_NeedDc (NJA_RecordDcInfo |\
NJA_SetMachinePassword |\ NJA_CreateAccount |\ NJA_DeleteAccount |\ NJA_GetPolicyDomainInfo |\ NJA_ValidateMachineAccount \ )
typedef struct _NET_JOIN_STATE { LPCWSTR szOU; LPCWSTR szDomainName; POLICY_PRIMARY_DOMAIN_INFO* pPolicyPDI; POLICY_DNS_DOMAIN_INFO* pPolicyDDI;
LPCWSTR szMachinePassword;
USHORT uiNetlogonStartType; USHORT uiNetlogonState; } NET_JOIN_STATE;
NET_API_STATUS NET_API_FUNCTION NetpApplyJoinState( IN NET_JOIN_STATE* pJoinState, IN DWORD dwJoinAction, IN LPWSTR szMachineName, OPTIONAL IN LPWSTR szUser, OPTIONAL IN LPWSTR szUserPassword, OPTIONAL IN LPWSTR szPreferredDc OPTIONAL );
#ifdef __cplusplus
} #endif
NET_API_STATUS NET_API_FUNCTION NetpWaitForNetlogonSc( IN LPCWSTR szDomainName );
NET_API_STATUS NET_API_FUNCTION NetpUpdateW32timeConfig( IN PCSTR szW32timeJoinConfigFuncName );
NET_API_STATUS NET_API_FUNCTION NetpUpdateAutoenrolConfig( IN BOOL UnjoinDomain );
#endif // __JOINP_H__
|