/** * 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 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; }