#include <ntos/ps.h>
#include <ntos/disk.h>
#include <ntos/gditypes.h>
-
+/*
typedef struct _VALENT
{
LPTSTR ve_valuename;
DWORD ve_valueptr;
DWORD ve_type;
} VALENT, *PVALENT;
+ */
+typedef struct _VALENT_A {
+ LPSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+} VALENTA, *PVALENTA;
+
+typedef struct _VALENT_W {
+ LPWSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+} VALENTW, *PVALENTW;
+
+#ifdef UNICODE
+typedef VALENTW VALENT;
+typedef PVALENTW PVALENT;
+#else
+typedef VALENTA VALENT;
+typedef PVALENTA PVALENT;
+#endif
#ifndef WIN32_LEAN_AND_MEAN
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
- LPWSTR lfFaceName;
+ WCHAR lfFaceName[LF_FACESIZE];
} LOGFONTW, *LPLOGFONTW, *PLOGFONTW;
typedef struct {
LONG xExt;
LONG yExt;
HMETAFILE hMF;
+#else
+ LONG mm; // robd
#endif
} METAFILEPICT, *PMETAFILEPICT, *LPMETAFILEPICT;
LPTSTR pszFile;
} OFNOTIFY, *LPOFNOTIFY;
-typedef struct _OSVERSIONINFO {
+typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
- TCHAR szCSDVersion[ 128 ];
-} OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
+ CHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
+
+typedef struct _OSVERSIONINFOW {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
+
+#ifdef UNICODE
+typedef OSVERSIONINFOA OSVERSIONINFO;
+#else
+typedef OSVERSIONINFOW OSVERSIONINFO;
+#endif
+
+typedef struct _OSVERSIONINFOEXA
+#if defined(__cplusplus)
+: public OSVERSIONINFOA
+{
+#elif 0
+{
+ OSVERSIONINFOA;
+#else
+{
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[ 128 ];
+#endif
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
+
+typedef struct _OSVERSIONINFOEXW
+#if defined(__cplusplus)
+: public OSVERSIONINFOW
+{
+#elif 0
+{
+ OSVERSIONINFOW;
+#else
+{
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[ 128 ];
+#endif
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
+
+#ifdef UNICODE
+typedef OSVERSIONINFOEXA OSVERSIONINFOEX;
+#else
+typedef OSVERSIONINFOEXW OSVERSIONINFOEX;
+#endif
typedef struct tagTEXTMETRIC {
LONG tmHeight;
DWORD Reserved;
} PORT_INFO_2;
+/* http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10010678.html
+ *
+ * IOCTL_DISK_MEDIA_REMOVAL disables the mechanism
+ * on a SCSI device that ejects media. This function
+ * may or may not be supported on SCSI devices that
+ * support removable media.
+ *
+ * TRUE means prevent media from being removed.
+ * FALSE means allow media removal.
+ */
typedef struct _PREVENT_MEDIA_REMOVAL {
BOOLEAN PreventMediaRemoval;
} PREVENT_MEDIA_REMOVAL ;