1/** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_secext.d) 8 */ 9// Don't include this file directly, use core.sys.windows.security instead. 10module core.sys.windows.secext; 11version (Windows): 12@system: 13 14version (ANSI) {} else version = Unicode; 15pragma(lib, "secur32"); 16 17import core.sys.windows.w32api, core.sys.windows.windef; 18 19static assert (_WIN32_WINNT >= 0x501, 20 "SecExt is only available on WindowsXP and later"); 21 22enum EXTENDED_NAME_FORMAT { 23 NameUnknown, 24 NameFullyQualifiedDN, 25 NameSamCompatible, 26 NameDisplay, // = 3 27 NameUniqueId = 6, 28 NameCanonical, 29 NameUserPrincipal, 30 NameCanonicalEx, 31 NameServicePrincipal, // = 10 32 NameDnsDomain = 12 33} 34alias EXTENDED_NAME_FORMAT* PEXTENDED_NAME_FORMAT; 35 36extern (Windows) { 37 BOOLEAN GetComputerObjectNameA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 38 BOOLEAN GetComputerObjectNameW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 39 BOOLEAN GetUserNameExA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 40 BOOLEAN GetUserNameExW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 41 BOOLEAN TranslateNameA(LPCSTR, EXTENDED_NAME_FORMAT, 42 EXTENDED_NAME_FORMAT, LPSTR, PULONG); 43 BOOLEAN TranslateNameW(LPCWSTR, EXTENDED_NAME_FORMAT, 44 EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 45} 46 47version (Unicode) { 48 alias GetComputerObjectNameW GetComputerObjectName; 49 alias GetUserNameExW GetUserNameEx; 50 alias TranslateNameW TranslateName; 51} else { 52 alias GetComputerObjectNameA GetComputerObjectName; 53 alias GetUserNameExA GetUserNameEx; 54 alias TranslateNameA TranslateName; 55} 56