File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                                secext.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: // Don't include this file directly, use win32.security instead.
4e2933c620 2015-04-21        kinaba: module win32.secext;
4e2933c620 2015-04-21        kinaba: pragma(lib, "secur32.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.w32api, win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static assert (_WIN32_WINNT >= 0x0501,
4e2933c620 2015-04-21        kinaba:   "SecExt is only available on WindowsXP and later");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum EXTENDED_NAME_FORMAT {
4e2933c620 2015-04-21        kinaba: 	NameUnknown,
4e2933c620 2015-04-21        kinaba: 	NameFullyQualifiedDN,
4e2933c620 2015-04-21        kinaba: 	NameSamCompatible,
4e2933c620 2015-04-21        kinaba: 	NameDisplay,          // =  3
4e2933c620 2015-04-21        kinaba: 	NameUniqueId             =  6,
4e2933c620 2015-04-21        kinaba: 	NameCanonical,
4e2933c620 2015-04-21        kinaba: 	NameUserPrincipal,
4e2933c620 2015-04-21        kinaba: 	NameCanonicalEx,
4e2933c620 2015-04-21        kinaba: 	NameServicePrincipal, // = 10
4e2933c620 2015-04-21        kinaba: 	NameDnsDomain            = 12
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias EXTENDED_NAME_FORMAT* PEXTENDED_NAME_FORMAT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	BOOLEAN GetComputerObjectNameA(EXTENDED_NAME_FORMAT, LPSTR, PULONG);
4e2933c620 2015-04-21        kinaba: 	BOOLEAN GetComputerObjectNameW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
4e2933c620 2015-04-21        kinaba: 	BOOLEAN GetUserNameExA(EXTENDED_NAME_FORMAT, LPSTR, PULONG);
4e2933c620 2015-04-21        kinaba: 	BOOLEAN GetUserNameExW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
4e2933c620 2015-04-21        kinaba: 	BOOLEAN TranslateNameA(LPCSTR, EXTENDED_NAME_FORMAT,
4e2933c620 2015-04-21        kinaba: 	  EXTENDED_NAME_FORMAT, LPSTR, PULONG);
4e2933c620 2015-04-21        kinaba: 	BOOLEAN TranslateNameW(LPCWSTR, EXTENDED_NAME_FORMAT,
4e2933c620 2015-04-21        kinaba: 	  EXTENDED_NAME_FORMAT, LPWSTR, PULONG);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version (Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias GetComputerObjectNameW GetComputerObjectName;
4e2933c620 2015-04-21        kinaba: 	alias GetUserNameExW GetUserNameEx;
4e2933c620 2015-04-21        kinaba: 	alias TranslateNameW TranslateName;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias GetComputerObjectNameA GetComputerObjectName;
4e2933c620 2015-04-21        kinaba: 	alias GetUserNameExA GetUserNameEx;
4e2933c620 2015-04-21        kinaba: 	alias TranslateNameA TranslateName;
4e2933c620 2015-04-21        kinaba: }