
com.sun.jna.platform.win32.DsGetDC Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jna-platform Show documentation
Show all versions of jna-platform Show documentation
Java Native Access Platform
/* Copyright (c) 2010 Daniel Doubrovkine, All Rights Reserved
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.sun.jna.platform.win32;
import java.util.Arrays;
import java.util.List;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.WString;
import com.sun.jna.platform.win32.Guid.GUID;
import com.sun.jna.platform.win32.WinNT.PSID;
import com.sun.jna.win32.StdCallLibrary;
/**
* Ported from DsGetDC.h. Windows SDK 6.0a
*
* @author dblock[at]dblock.org
*/
public interface DsGetDC extends StdCallLibrary {
/**
* The DOMAIN_CONTROLLER_INFO structure is used with the DsGetDcName
* function to receive data about a domain controller.
*/
public static class DOMAIN_CONTROLLER_INFO extends Structure {
public static class ByReference extends DOMAIN_CONTROLLER_INFO
implements Structure.ByReference {
}
public DOMAIN_CONTROLLER_INFO() {
}
public DOMAIN_CONTROLLER_INFO(Pointer memory) {
super(memory);
read();
}
/**
* Pointer to a null-terminated WString that specifies the computer name
* of the discovered domain controller. The returned computer name is
* prefixed with "\\". The DNS-style name, for example,
* "\\phoenix.fabrikam.com", is returned, if available. If the DNS-style
* name is not available, the flat-style name (for example, "\\phoenix")
* is returned. This example would apply if the domain is a Windows NT
* 4.0 domain or if the domain does not support the IP family of
* protocols.
*/
public WString DomainControllerName;
/**
* Pointer to a null-terminated WString that specifies the address of
* the discovered domain controller. The address is prefixed with "\\".
* This WString is one of the types defined by the
* DomainControllerAddressType member.
*/
public WString DomainControllerAddress;
/**
* Indicates the type of WString that is contained in the
* DomainControllerAddress member.
*/
public int DomainControllerAddressType;
/**
* The GUID of the domain. This member is zero if the domain controller
* does not have a Domain GUID; for example, the domain controller is
* not a Windows 2000 domain controller.
*/
public GUID DomainGuid;
/**
* Pointer to a null-terminated WString that specifies the name of the
* domain. The DNS-style name, for example, "fabrikam.com", is returned
* if available. Otherwise, the flat-style name, for example,
* "fabrikam", is returned. This name may be different than the
* requested domain name if the domain has been renamed.
*/
public WString DomainName;
/**
* Pointer to a null-terminated WString that specifies the name of the
* domain at the root of the DS tree. The DNS-style name, for example,
* "fabrikam.com", is returned if available. Otherwise, the flat-style
* name, for example, "fabrikam" is returned.
*/
public WString DnsForestName;
/**
* Contains a set of flags that describe the domain controller.
*/
public int Flags;
/**
* Pointer to a null-terminated WString that specifies the name of the
* site where the domain controller is located. This member may be NULL
* if the domain controller is not in a site; for example, the domain
* controller is a Windows NT 4.0 domain controller.
*/
public WString DcSiteName;
/**
* Pointer to a null-terminated WString that specifies the name of the
* site that the computer belongs to. The computer is specified in the
* ComputerName parameter passed to DsGetDcName. This member may be NULL
* if the site that contains the computer cannot be found; for example,
* if the DS administrator has not associated the subnet that the
* computer is in with a valid site.
*/
public WString ClientSiteName;
protected List getFieldOrder() {
return Arrays.asList(new String[] { "DomainControllerName",
"DomainControllerAddress", "DomainControllerAddressType",
"DomainGuid", "DomainName", "DnsForestName", "Flags",
"DcSiteName", "ClientSiteName" });
}
}
/**
* Pointer to DOMAIN_CONTROLLER_INFO.
*/
public static class PDOMAIN_CONTROLLER_INFO extends Structure {
public static class ByReference extends PDOMAIN_CONTROLLER_INFO
implements Structure.ByReference {
}
public DOMAIN_CONTROLLER_INFO.ByReference dci;
protected List getFieldOrder() {
return Arrays.asList(new String[] { "dci" });
}
}
/**
* Domain is a member of the forest.
*/
int DS_DOMAIN_IN_FOREST = 0x0001;
/**
* Domain is directly trusted.
*/
int DS_DOMAIN_DIRECT_OUTBOUND = 0x0002;
/**
* Domain is root of a tree in the forest.
*/
int DS_DOMAIN_TREE_ROOT = 0x0004;
/**
* Domain is the primary domain of queried server.
*/
int DS_DOMAIN_PRIMARY = 0x0008;
/**
* Primary domain is running in native mode.
*/
int DS_DOMAIN_NATIVE_MODE = 0x0010;
/**
* Domain is directly trusting.
*/
int DS_DOMAIN_DIRECT_INBOUND = 0x0020;
/**
* Valid domain flags.
*/
int DS_DOMAIN_VALID_FLAGS = DS_DOMAIN_IN_FOREST | DS_DOMAIN_DIRECT_OUTBOUND
| DS_DOMAIN_TREE_ROOT | DS_DOMAIN_PRIMARY | DS_DOMAIN_NATIVE_MODE
| DS_DOMAIN_DIRECT_INBOUND;
/**
* The DS_DOMAIN_TRUSTS structure is used with the DsEnumerateDomainTrusts
* function to contain trust data for a domain.
*/
public static class DS_DOMAIN_TRUSTS extends Structure {
public static class ByReference extends DS_DOMAIN_TRUSTS implements
Structure.ByReference {
}
/**
* Pointer to a null-terminated string that contains the NetBIOS name of
* the domain.
*/
public WString NetbiosDomainName;
/**
* Pointer to a null-terminated string that contains the DNS name of the
* domain. This member may be NULL.
*/
public WString DnsDomainName;
/**
* Contains a set of flags that specify more data about the domain
* trust.
*/
public int Flags;
/**
* Contains the index in the Domains array returned by the
* DsEnumerateDomainTrusts function that corresponds to the parent
* domain of the domain represented by this structure.
*/
public int ParentIndex;
/**
* Contains a value that indicates the type of trust represented by this
* structure.
*/
public int TrustType;
/**
* Contains a value that indicates the attributes of the trust
* represented by this structure.
*/
public int TrustAttributes;
/**
* Contains the security identifier of the domain represented by this
* structure.
*/
public PSID.ByReference DomainSid;
/**
* Contains the GUID of the domain represented by this structure.
*/
public GUID DomainGuid;
protected List getFieldOrder() {
return Arrays.asList(new String[] { "NetbiosDomainName",
"DnsDomainName", "Flags", "ParentIndex", "TrustType",
"TrustAttributes", "DomainSid", "DomainGuid" });
}
public DS_DOMAIN_TRUSTS() {
}
public DS_DOMAIN_TRUSTS(Pointer p) {
super(p);
read();
}
};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy