blob: dd4ec8589a6f84cbae748b9f99a2137a2fd0a1be [file] [log] [blame]
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_secext.d)
*/
// Don't include this file directly, use core.sys.windows.security instead.
module core.sys.windows.secext;
version (Windows):
@system:
version (ANSI) {} else version = Unicode;
pragma(lib, "secur32");
import core.sys.windows.w32api, core.sys.windows.windef;
static assert (_WIN32_WINNT >= 0x501,
"SecExt is only available on WindowsXP and later");
enum EXTENDED_NAME_FORMAT {
NameUnknown,
NameFullyQualifiedDN,
NameSamCompatible,
NameDisplay, // = 3
NameUniqueId = 6,
NameCanonical,
NameUserPrincipal,
NameCanonicalEx,
NameServicePrincipal, // = 10
NameDnsDomain = 12
}
alias EXTENDED_NAME_FORMAT* PEXTENDED_NAME_FORMAT;
extern (Windows) {
BOOLEAN GetComputerObjectNameA(EXTENDED_NAME_FORMAT, LPSTR, PULONG);
BOOLEAN GetComputerObjectNameW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
BOOLEAN GetUserNameExA(EXTENDED_NAME_FORMAT, LPSTR, PULONG);
BOOLEAN GetUserNameExW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
BOOLEAN TranslateNameA(LPCSTR, EXTENDED_NAME_FORMAT,
EXTENDED_NAME_FORMAT, LPSTR, PULONG);
BOOLEAN TranslateNameW(LPCWSTR, EXTENDED_NAME_FORMAT,
EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
}
version (Unicode) {
alias GetComputerObjectNameW GetComputerObjectName;
alias GetUserNameExW GetUserNameEx;
alias TranslateNameW TranslateName;
} else {
alias GetComputerObjectNameA GetComputerObjectName;
alias GetUserNameExA GetUserNameEx;
alias TranslateNameA TranslateName;
}