reactos/sdk/include/psdk/dsgetdc.h

213 lines
4.6 KiB
C

#ifndef _DSGETDC_H
#define _DSGETDC_H
#ifdef __cplusplus
extern "C" {
#endif
#define DS_DOMAIN_IN_FOREST 0x01
#define DS_DOMAIN_DIRECT_OUTBOUND 0x02
#define DS_DOMAIN_TREE_ROOT 0x04
#define DS_DOMAIN_PRIMARY 0x08
#define DS_DOMAIN_NATIVE_MODE 0x10
#define DS_DOMAIN_DIRECT_INBOUND 0x20
typedef struct _DOMAIN_CONTROLLER_INFOA
{
LPSTR DomainControllerName;
LPSTR DomainControllerAddress;
ULONG DomainControllerAddressType;
GUID DomainGuid;
LPSTR DomainName;
LPSTR DnsForestName;
ULONG Flags;
LPSTR DcSiteName;
LPSTR ClientSiteName;
} DOMAIN_CONTROLLER_INFOA, *PDOMAIN_CONTROLLER_INFOA;
typedef struct _DOMAIN_CONTROLLER_INFOW
{
LPWSTR DomainControllerName;
LPWSTR DomainControllerAddress;
ULONG DomainControllerAddressType;
GUID DomainGuid;
LPWSTR DomainName;
LPWSTR DnsForestName;
ULONG Flags;
LPWSTR DcSiteName;
LPWSTR ClientSiteName;
} DOMAIN_CONTROLLER_INFOW, *PDOMAIN_CONTROLLER_INFOW;
typedef struct _DS_DOMAIN_TRUSTSA
{
LPSTR NetbiosDomainName;
LPSTR DnsDomainName;
ULONG Flags;
ULONG ParentIndex;
ULONG TrustType;
ULONG TrustAttributes;
PSID DomainSid;
GUID DomainGuid;
} DS_DOMAIN_TRUSTSA, *PDS_DOMAIN_TRUSTSA;
typedef struct _DS_DOMAIN_TRUSTSW
{
LPWSTR NetbiosDomainName;
LPWSTR DnsDomainName;
ULONG Flags;
ULONG ParentIndex;
ULONG TrustType;
ULONG TrustAttributes;
PSID DomainSid;
GUID DomainGuid;
} DS_DOMAIN_TRUSTSW, *PDS_DOMAIN_TRUSTSW;
DWORD WINAPI
DsAddressToSiteNamesA(
LPCSTR ComputerName,
DWORD EntryCount,
PSOCKET_ADDRESS SocketAddresses,
LPSTR **SiteNames);
DWORD WINAPI
DsAddressToSiteNamesW(
LPCWSTR ComputerName,
DWORD EntryCount,
PSOCKET_ADDRESS SocketAddresses,
LPWSTR **SiteNames);
DWORD WINAPI
DsAddressToSiteNamesExA(
LPCSTR ComputerName,
DWORD EntryCount,
PSOCKET_ADDRESS SocketAddresses,
LPSTR **SiteNames,
LPSTR **SubnetNames);
DWORD WINAPI
DsAddressToSiteNamesExW(
LPCWSTR ComputerName,
DWORD EntryCount,
PSOCKET_ADDRESS SocketAddresses,
LPWSTR **SiteNames,
LPWSTR **SubnetNames);
DWORD WINAPI
DsDeregisterDnsHostRecordsA(
LPSTR ServerName,
LPSTR DnsDomainName,
GUID *DomainGuid,
GUID *DsaGuid,
LPSTR DnsHostName);
DWORD WINAPI
DsDeregisterDnsHostRecordsW(
LPWSTR ServerName,
LPWSTR DnsDomainName,
GUID *DomainGuid,
GUID *DsaGuid,
LPWSTR DnsHostName);
DWORD WINAPI
DsEnumerateDomainTrustsA(
LPSTR ServerName,
ULONG Flags,
PDS_DOMAIN_TRUSTSA* Domains,
PULONG DomainCount);
DWORD WINAPI
DsEnumerateDomainTrustsW(
LPWSTR ServerName,
ULONG Flags,
PDS_DOMAIN_TRUSTSW* Domains,
PULONG DomainCount);
DWORD WINAPI
DsGetDcNameA(
LPCSTR ComputerName,
LPCSTR DomainName,
GUID* DomainGuid,
LPCSTR SiteName,
ULONG Flags,
PDOMAIN_CONTROLLER_INFOA* DomainControllerInfo);
DWORD WINAPI
DsGetDcNameW(
LPCWSTR ComputerName,
LPCWSTR DomainName,
GUID* DomainGuid,
LPCWSTR SiteName,
ULONG Flags,
PDOMAIN_CONTROLLER_INFOW* DomainControllerInfo);
DWORD WINAPI
DsGetDcSiteCoverageA(
LPCSTR ServerName,
PULONG EntryCount,
LPSTR **SiteNames);
DWORD WINAPI
DsGetDcSiteCoverageW(
LPCWSTR ServerName,
PULONG EntryCount,
LPWSTR **SiteNames);
DWORD WINAPI
DsGetForestTrustInformationW(
LPCWSTR ServerName,
LPCWSTR TrustedDomainName,
DWORD Flags,
PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo);
DWORD WINAPI
DsGetSiteNameA(
LPCSTR ComputerName,
LPSTR *SiteName);
DWORD WINAPI
DsGetSiteNameW(
LPCWSTR ComputerName,
LPWSTR *SiteName);
DWORD WINAPI
DsMergeForestTrustInformationW(
LPCWSTR DomainName,
PLSA_FOREST_TRUST_INFORMATION NewForestTrustInfo,
PLSA_FOREST_TRUST_INFORMATION OldForestTrustInfo,
PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo);
DWORD WINAPI
DsValidateSubnetNameA(
LPCSTR SubnetName);
DWORD WINAPI
DsValidateSubnetNameW(
LPCWSTR SubnetName);
#ifdef UNICODE
typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO;
typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS, *PDS_DOMAIN_TRUSTS;
#define DsAddressToSiteNames DsAddressToSiteNamesW
#define DsAddressToSiteNamesEx DsAddressToSiteNamesExW
#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsW
#define DsGetDcName DsGetDcNameW
#define DsGetDcSiteCoverage DsGetDcSiteCoverageW
#define DsGetSiteName DsGetSiteNameW
#define DsValidateSubnetName DsValidateSubnetNameW
#else
typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO;
typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS, *PDS_DOMAIN_TRUSTS;
#define DsAddressToSiteNames DsAddressToSiteNamesA
#define DsAddressToSiteNamesEx DsAddressToSiteNamesExA
#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsA
#define DsGetDcName DsGetDcNameA
#define DsGetDcSiteCoverage DsGetDcSiteCoverageA
#define DsGetSiteName DsGetSiteNameA
#define DsValidateSubnetName DsValidateSubnetNameA
#endif
#ifdef __cplusplus
}
#endif
#endif