diff win32/secext.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/win32/secext.d	Tue Apr 05 20:44:01 2011 +0200
@@ -0,0 +1,52 @@
+/***********************************************************************\
+*                                secext.d                               *
+*                                                                       *
+*                       Windows API header module                       *
+*                                                                       *
+*                 Translated from MinGW Windows headers                 *
+*                                                                       *
+*                       Placed into public domain                       *
+\***********************************************************************/
+// Don't include this file directly, use win32.security instead.
+module win32.secext;
+pragma(lib, "secur32.lib");
+
+private import win32.w32api, win32.windef;
+
+static assert (_WIN32_WINNT >= 0x0501,
+  "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;
+}