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 src/core/sys/windows/_secext.d) 8 */ 9 // Don't include this file directly, use core.sys.windows.security instead. 10 module core.sys.windows.secext; 11 version (Windows): 12 13 version (ANSI) {} else version = Unicode; 14 pragma(lib, "secur32"); 15 16 private import core.sys.windows.w32api, core.sys.windows.windef; 17 18 static assert (_WIN32_WINNT >= 0x501, 19 "SecExt is only available on WindowsXP and later"); 20 21 enum EXTENDED_NAME_FORMAT { 22 NameUnknown, 23 NameFullyQualifiedDN, 24 NameSamCompatible, 25 NameDisplay, // = 3 26 NameUniqueId = 6, 27 NameCanonical, 28 NameUserPrincipal, 29 NameCanonicalEx, 30 NameServicePrincipal, // = 10 31 NameDnsDomain = 12 32 } 33 alias EXTENDED_NAME_FORMAT* PEXTENDED_NAME_FORMAT; 34 35 extern (Windows) { 36 BOOLEAN GetComputerObjectNameA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 37 BOOLEAN GetComputerObjectNameW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 38 BOOLEAN GetUserNameExA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 39 BOOLEAN GetUserNameExW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 40 BOOLEAN TranslateNameA(LPCSTR, EXTENDED_NAME_FORMAT, 41 EXTENDED_NAME_FORMAT, LPSTR, PULONG); 42 BOOLEAN TranslateNameW(LPCWSTR, EXTENDED_NAME_FORMAT, 43 EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 44 } 45 46 version (Unicode) { 47 alias GetComputerObjectNameW GetComputerObjectName; 48 alias GetUserNameExW GetUserNameEx; 49 alias TranslateNameW TranslateName; 50 } else { 51 alias GetComputerObjectNameA GetComputerObjectName; 52 alias GetUserNameExA GetUserNameEx; 53 alias TranslateNameA TranslateName; 54 } 55