2 * Windows and DOS version functions
4 * Copyright 1997 Marcus Meissner
5 * Copyright 1998 Patrik Stridvall
6 * Copyright 1998, 2003 Andreas Mohr
7 * Copyright 1997, 2003 Alexandre Julliard
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 #include "wine/port.h"
32 #define WIN32_NO_STATUS
39 #include "wine/unicode.h"
40 #include "wine/debug.h"
42 WINE_DEFAULT_DEBUG_CHANNEL(ver
);
45 /******************************************************************************
46 * VerifyVersionInfoA (KERNEL32.@)
48 BOOL WINAPI
VerifyVersionInfoA( LPOSVERSIONINFOEXA lpVersionInfo
, DWORD dwTypeMask
,
49 DWORDLONG dwlConditionMask
)
51 OSVERSIONINFOEXW verW
;
53 verW
.dwOSVersionInfoSize
= sizeof(OSVERSIONINFOEXW
);
54 verW
.dwMajorVersion
= lpVersionInfo
->dwMajorVersion
;
55 verW
.dwMinorVersion
= lpVersionInfo
->dwMinorVersion
;
56 verW
.dwBuildNumber
= lpVersionInfo
->dwBuildNumber
;
57 verW
.dwPlatformId
= lpVersionInfo
->dwPlatformId
;
58 verW
.wServicePackMajor
= lpVersionInfo
->wServicePackMajor
;
59 verW
.wServicePackMinor
= lpVersionInfo
->wServicePackMinor
;
60 verW
.wSuiteMask
= lpVersionInfo
->wSuiteMask
;
61 verW
.wProductType
= lpVersionInfo
->wProductType
;
62 verW
.wReserved
= lpVersionInfo
->wReserved
;
64 return VerifyVersionInfoW(&verW
, dwTypeMask
, dwlConditionMask
);
68 /******************************************************************************
69 * VerifyVersionInfoW (KERNEL32.@)
71 BOOL WINAPI
VerifyVersionInfoW( LPOSVERSIONINFOEXW lpVersionInfo
, DWORD dwTypeMask
,
72 DWORDLONG dwlConditionMask
)
74 switch(RtlVerifyVersionInfo( lpVersionInfo
, dwTypeMask
, dwlConditionMask
))
76 case STATUS_INVALID_PARAMETER
:
77 SetLastError( ERROR_BAD_ARGUMENTS
);
79 case STATUS_REVISION_MISMATCH
:
80 SetLastError( ERROR_OLD_WIN_VERSION
);
86 /***********************************************************************
87 * TermsrvAppInstallMode (KERNEL32.@)
89 * Find out whether the terminal server is in INSTALL or EXECUTE mode.
91 BOOL WINAPI
TermsrvAppInstallMode(void)
97 /***********************************************************************
98 * SetTermsrvAppInstallMode (KERNEL32.@)
100 * This function is said to switch between the INSTALL (TRUE) or
101 * EXECUTE (FALSE) terminal server modes.
103 * This function always returns zero on WinXP Home so it's probably
104 * safe to return that value in most cases. However, if a terminal
105 * server is running it will probably return something else.
107 DWORD WINAPI
SetTermsrvAppInstallMode(BOOL bInstallMode
)
109 FIXME("(%d): stub\n", bInstallMode
);
113 /***********************************************************************
114 * GetCurrentPackageId (KERNEL32.@)
116 LONG WINAPI
GetCurrentPackageId(UINT32
*len
, BYTE
*buffer
)
118 FIXME("(%p %p): stub\n", len
, buffer
);
119 return APPMODEL_ERROR_NO_PACKAGE
;
122 /***********************************************************************
123 * GetCurrentPackageFamilyName (KERNEL32.@)
125 LONG WINAPI
GetCurrentPackageFamilyName(UINT32
*length
, PWSTR name
)
127 FIXME("(%p %p): stub\n", length
, name
);
128 return APPMODEL_ERROR_NO_PACKAGE
;
131 /***********************************************************************
132 * GetCurrentPackageFullName (KERNEL32.@)
134 LONG WINAPI
GetCurrentPackageFullName(UINT32
*length
, PWSTR name
)
136 FIXME("(%p %p): stub\n", length
, name
);
137 return APPMODEL_ERROR_NO_PACKAGE
;
140 /***********************************************************************
141 * GetPackageFullName (KERNEL32.@)
143 LONG WINAPI
GetPackageFullName(HANDLE process
, UINT32
*length
, PWSTR name
)
145 FIXME("(%p %p %p): stub\n", process
, length
, name
);
146 return APPMODEL_ERROR_NO_PACKAGE
;