2013-10-30  Ozkan Sezer  <sezeroz@gmail.com>

	* bthdef.h: Remove duplicated PnPInformationServiceClass_UUID
	definition (bug #355.)

2013-07-09  Roland Schwingel <roland.schwingel@onevision.com>

	* include/wincon.h: Replace BOOL by WINBOOL in
	struct _CONSOLE_SCREEN_BUFFER_INFOEX.

2013-07-04  Ozkan Sezer  <sezeroz@gmail.com>

	* ntddmodm.h: New header based on data from msdn and ioctls.net

2013-01-31  Jacek Caban  <jacek@codeweavers.com>

	Merge from trunk r5525:
	* winbase.h: Use wrapper instead of macro for GetCurrentTime in C++

2013-01-31  Kai Tietz  <ktietz@redhat.com>

	Merge from trunk r5573-r5574:
	* mstcpip.h: Correct RtlIpv6StringToAddressExW, RtlIpv6AddressToStringA
	and RtlIpv6AddressToStringW prototypes.
	Merge from trunk r5531:
	* winnls.h (NormalizeString): Remove duplicate.

2012-12-07  Jason Hood  <adoxa@users.sourceforge.net>

	* winbase.h (LOAD_LIBRARY_AS_IMAGE_RESOURCE): Fix typo.

2012-11-14  Corinna Vinschen  <vinschen@redhat.com>

	* winternl.h (struct _FILE_FULL_DIR_INFORMATION): Rename from
	_FILE_FULL_DIRECTORY_INFORMATION per WDK documentation.
	(struct _FILE_ID_FULL_DIR_INFORMATION): Rename from
	_FILE_ID_FULL_DIRECTORY_INFORMATION.
	(struct _FILE_BOTH_DIR_INFORMATION): Rename from
	_FILE_BOTH_DIRECTORY_INFORMATION.
	(struct _FILE_ID_BOTH_DIR_INFORMATION): Rename from
	_FILE_ID_BOTH_DIRECTORY_INFORMATION.
	(FILE_FULL_DIRECTORY_INFORMATION, PFILE_FULL_DIRECTORY_INFORMATION,
	FILE_ID_FULL_DIRECTORY_INFORMATION, PFILE_ID_FULL_DIRECTORY_INFORMATION,
	FILE_BOTH_DIRECTORY_INFORMATION, PFILE_BOTH_DIRECTORY_INFORMATION,
	FILE_ID_BOTH_DIRECTORY_INFORMATION,
	PFILE_ID_BOTH_DIRECTORY_INFORMATION): Explicitely typedef in a new
	block.  Add comment to describe as being outdated.

2012-11-13  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from trunk rev. 5452:
	Corinna Vinschen  <vinschen@redhat.com>
	* winternl.h (SYSTEM_BASIC_INFORMATION): Change type of address
	members to match 64 bit systems.

2012-11-05  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from trunk rev. 5445:
	Jonathan Yong  <jon_y@users.sourceforge.net>
	* icmpapi.h: IcmpParseReplies and Icmp6ParseReplies are actually
	stdcall.

2012-09-20  Kai Tietz  <ktietz@redhat.com>

	PR 3561209
	* wincrypt.h (szOID_NIST_AES128_CBC): New.
	(szOID_NIST_AES192_CBC): Likewise.
	(szOID_NIST_AES256_CBC): Likewise.

2012-08-29  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>

	* winternl.h (_FILE_RENAME_INFORMATION): Fix member names per MSDN.
	(NtQueryInformationFile): Change type of len to ULONG per MSDN.

2012-08-01  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from trunk rev. 5245:
	Kai Tietz  <ktietz@redhat.com>
	* msxml.h, msxml2.h: Make abort agnostic against user-defines.

	Merge from trunk rev. 5236:
	Corinna Vinschen  <vinschen@redhat.com>
	* usb.h: Check for _WIN64 instead of WIN64.

2012-07-11  Ozkan Sezer  <sezeroz@gmail.com>

	* tapi.h: Move the unicode A/W macros after the function prototypes.
	(lineAddProvider,lineBlindTransfer,lineConfigDialog,
	lineConfigDialogEdit,lineDial,lineGatherDigits,lineGenerateDigits,
	lineGetAddressID,lineGetAppPriority,lineGetDevConfig,lineGetIcon,
	lineGetID,lineHandoff,lineMakeCall,linePark,linePickup,lineRedirect,
	lineSetAppPriority,lineSetDevConfig,lineSetTollList,
	lineTranslateAddress,lineTranslateDialog,lineUnpark,phoneConfigDialog,
	phoneGetIcon,phoneGetID,tapiGetLocationInfo,tapiRequestMakeCall,
	tapiRequestMediaCall): Define as *A variant only for TAPI2 or newer,
	but always define as *W variant when UNICODE is defined.

2012-06-29  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4808 and 5149:
	2012-02-07  Rafaël Carré  <funman@videolan.org>
	* dxva2api.h : Add missing UUIDS
	2012-06-28  Rafaël Carré  <funman@videolan.org>
	* dxva2api.h: Remove DXVA_* GUIDs and structs ...
	* dxva.h: ... And put them here.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* ntdef.h (PHYSICAL_ADDRESS): Define unconditionally.

2012-06-27  Corinna Vinschen  <vinschen@redhat.com>

	* include/stralign.h: Fix and add #endif comments.

2012-05-09  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h (MAPVK_VK_TO_*): Moved map types for MapVirtualKeyEx
	out of win7 ifdefs. Protected MAPVK_VK_TO_VSC_EX for vista-only.
	* winuser.h (HTOUCHINPUT): Added new declaration (merged trunk
	rev. 4810 by cjacek.)

2012-05-08  Ozkan Sezer  <sezeroz@gmail.com>

	* uxtheme.h (MAX_INTLIST_COUNT): Define as 402 instead of 10 for
	vista and newer. (bug #3524667).

2012-05-07  Ozkan Sezer  <sezeroz@gmail.com>

	* dwmapi.h: Fixed all function prototypes to be WINAPI.

2012-04-28  Jonathan Liu  <net147@users.sourceforge.net>

	* wlanapi.h: Fixed incorrectly nested if blocks.

2012-04-23  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4961/4962:
	2012-04-23  Stefan Sundin  <recover89@gmail.com>
	* adhoc.h, audioengineendpoint.h, bdaiface.h, dvbsiparser.h, dwrite.h,
	dxvahd.h, evr.h, fsrm.h, fsrmquota.h, fsrmreports.h, fsrmscreen.h,
	functiondiscoveryapi.h, functiondiscoverynotification.h,
	identitystore.h, locationapi.h, mfapi.h, mfidl.h, mfobjects.h,
	mfplay.h, mfreadwrite.h, mftransform.h, mpeg2data.h, mpeg2psiparser.h,
	msrdc.h, ndhelper.h, opmapi.h, portabledeviceconnectapi.h,
	rdpencomapi.h, strmif.h, tuner.h, vsadmin.h, vsbackup.h, vsmgmt.h,
	vsprov.h, vss.h, vswriter.h, winsync.h, wmcontainer.h, wsdattachment.h,
	wsdbase.h, wsdclient.h, wsddisco.h, wsdhost.h, wsdxml.h: Fix incorrect
	references for pVtbl to lpVtbl.
	* adhoc.h (IDot11AdHocInterfaceNotificationSink): Fix
	OnConnectionStatusChange.
	2012-04-23  Kai Tietz  <ktietz@redhat.com>
	* endpointvolume.h (IAudioEndpointVolume): Fix. (PR/3520095)

2012-02-24  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4790, 4807, 4809, 4815, 4816 and
	4817 by wavael to fix some embarassing issues in dxva2api.h:
	* dxva2api.h (Direct3DDeviceManager9): Fix COBJMACROS to use lpVtbl.
	(DirectXVideoDecoder): Likewise.
	(DirectXVideoAccelerationService): Likewise.
	(DirectXVideoDecoderService): Likewise.
	(DXVA2_E_NOT_INITIALIZED): Add missing error code.
	(DXVA2_E_NEW_VIDEO_DEVICE): Likewise.
	(DXVA2_E_VIDEO_DEVICE_LOCKED): Likewise.
	(DXVA2_E_NOT_AVAILABLE): Likewise.
	(DXVA2_ConfigPictureDecode): Change type from UINT to USHORT (msdn
	documentation is incorrect.)
	* dxva2api.h: Remove global packing directives and pack only the
	DXVA_FilmGrainChar_H264, DXVA_SliceInfo and DXVA_Slice_H264_Short
	structures.

2012-01-26  Kai Tietz  <ktietz@redhat.com>

	* nldef.h (NL_INTERFACE_OFFLOAD_ROD): Remove
	TlStreamFastPathCompatible and TlDatagramFastPathCompatible
	members, which are merged into FastPathCompatible.
	(note msdn is wrong here).

2012-01-26  Ozkan Sezer  <sezeroz@gmail.com>

	* mprapi.h (MprAdminConnectionRemoveQuarantine): Revert
	to old definition which is correct by marking the function
	as WINAPI.

2012-01-25  Kai Tietz  <ktietz@redhat.com>

	* iprtrmib.h (MIB_TCP_STATE): New typedef.
	* mprapi.h (MprAdminConnectionRemoveQuarantine): Remove
	double definition.

2012-01-19  Kai Tietz  <ktietz@redhat.com>

	PR 3474190
	* windef.h (STRICT): Regard definition of NO_STRICT.

2012-01-06  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h: Fix several typos found by Rinrin <rinrin@imbrian.org>:
	(TOUCHEVENTMASKF_TIMEFROMSYSTEM): Rename to
	 TOUCHINPUTMASKF_TIMEFROMSYSTEM.
	(TOUCHEVENTMASKF_EXTRAINFO): Rename to TOUCHINPUTMASKF_EXTRAINFO.
	(TOUCHEVENTMASKF_CONTACTAREA): Rename to TOUCHINPUTMASKF_CONTACTAREA.
	(struct _TOUCHINPUT): Fix member name from wMask to dwMask.

2012-01-04  Ozkan Sezer  <sezeroz@gmail.com>

	* wingdi.h: Uglify the function param names a bit for bug #3469308

2011-12-14  Ozkan Sezer  <sezeroz@gmail.com>

	* winnls.h (WC_ERR_INVALID_CHARS): New macro, defined as 0x80.

2011-11-19  Ozkan Sezer  <sezeroz@gmail.com>

	* wincon.h: Added MOUSE_HWHEELED (0x8).  Moved the Vista version guard
	to cover only GetConsoleOriginalTitle[A|W].

2011-11-17  Ozkan Sezer  <sezeroz@gmail.com>

	Add gdiplus from mingw.org sources: Original work was by Markus Koenig
	<basilo@users.sourceforge.net>.  Patch to integrate into mingw-w64 was
	provided by Mark Dootson <mark.dootson@znix.com>.

	* gdiplus.h: New.
	* gdiplus/gdiplus.h: New.
	* gdiplus/gdiplusbase.h: New.
	* gdiplus/gdiplusbrush.h: New.
	* gdiplus/gdipluscolor.h: New.
	* gdiplus/gdipluscolormatrix.h: New.
	* gdiplus/gdipluseffects.h: New.
	* gdiplus/gdiplusenums.h: New.
	* gdiplus/gdiplusflat.h: New.
	* gdiplus/gdiplusgpstubs.h: New.
	* gdiplus/gdiplusgraphics.h: New.
	* gdiplus/gdiplusheaders.h: New.
	* gdiplus/gdiplusimageattributes.h: New.
	* gdiplus/gdiplusimagecodec.h: New.
	* gdiplus/gdiplusimaging.h: New.
	* gdiplus/gdiplusimpl.h: New.
	* gdiplus/gdiplusinit.h: New.
	* gdiplus/gdipluslinecaps.h: New.
	* gdiplus/gdiplusmatrix.h: New.
	* gdiplus/gdiplusmem.h: New.
	* gdiplus/gdiplusmetafile.h: New.
	* gdiplus/gdiplusmetaheader.h: New.
	* gdiplus/gdipluspath.h: New.
	* gdiplus/gdipluspen.h: New.
	* gdiplus/gdipluspixelformats.h: New.
	* gdiplus/gdiplusstringformat.h: New.
	* gdiplus/gdiplustypes.h: New.
	* configure.ac: Add GDIPLUSHEAD_LIST as a new header list.
	* configure: Regenerate.
	* Makefile.am: Add gdiplusheaddir and gdiplushead_HEADERS.
	* Makefile.in: Regenerate.

2011-11-16  Ozkan Sezer  <sezeroz@gmail.com>

	* wincon.h (SetConsoleDisplayMode): Add missing prototype from
	http://msdn.microsoft.com/en-us/library/ms686028(v=VS.85).aspx
	(CONSOLE_FULLSCREEN_MODE): New macro.
	(CONSOLE_WINDOWED_MODE): New macro.

2011-11-03  Ozkan Sezer  <sezeroz@gmail.com>

	* ntdef.h (FORCEINLINE): Sync the definition to the winnt.h version.

2011-10-19  Ozkan Sezer  <sezeroz@gmail.com>

	* imagehlp.h: Fixed misplaced extern "C" {} braces which used to break
	C_ASSERTs. (bug #3425478.)

2011-09-26  Ozkan Sezer  <sezeroz@gmail.com>

	* sdkddkver.h: Whitespace tidy-up.  Add our standart license header.
	(_WIN32_WINNT): Define default value as _WIN32_WINNT_WS03, i.e. 0x0502,
	which is what we had been defining in windows.h until this day.
	(NTDDI_VERSION): Define default value as NTDDI_WS03, i.e. 0x05020000,
	matching what we had been defining in windows.h until this day.
	(WINVER): Define default value as 0x0502, which is what we had been
	defining in windows.h until this day.
	* winnt.h: Include sdkddkver.h.
	* windows.h: Include sdkddkver.h.
	(WINVER): Now that we include sdkddkver.h, remove the extra definition.

2011-09-16  Ozkan Sezer  <sezeroz@gmail.com>

	* ks.h (KSPROPSETID_MemoryTransport): New.
	* ksmedia.h (KSPROPSETID_Wave_Queued): New.
	(KSPROPSETID_VramCapture): New.

2011-09-14  Vincent Torri  <vincent.torri@gmail.com>

	* psapi.h (LIST_MODULES_DEFAULT): New constant.
	(LIST_MODULES_32BIT): New constant.
	(LIST_MODULES_64BIT): New constant.
	(LIST_MODULES_ALL): New constant.

2011-09-12  Ozkan Sezer  <sezeroz@gmail.com>

	* wlanapi.h: Added WLAN_NOTIFICATION_ACM enumeration (patch from
	'balkin7').

2011-09-03  Jose Fonseca  <jrfonseca@users.sourceforge.net>

	* winuser.h (CreateDesktopEx, CreateDesktopExA, CreateDesktopExW):
	Don't define when NOGDI is defined.

2011-08-26  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h: Added missing SM_ constants for new windows versions :
	(SM_MOUSEHORIZONTALWHEELPRESENT): New constant, 91.
	(SM_CXPADDEDBORDER): New constant, 92.
	(SM_DIGITIZER): New constant, 94.
	(SM_MAXIMUMTOUCHES): New constant, 95.
	(NID_INTEGRATED_TOUCH): New constant, 0x01.
	(NID_EXTERNAL_TOUCH): New constant, 0x02.
	(NID_INTEGRATED_PEN): New constant, 0x04.
	(NID_EXTERNAL_PEN): New constant, 0x08.
	(NID_MULTI_INPUT): New constant, 0x40.
	(NID_READY): New constant, 0x80.
	(SM_CMETRICS): Adjusted after the new additions.

2011-08-24  Jonathan Yong  <jon_y@users.sourceforge.net>

	* d2d1.h: Fix typos.

2011-08-22  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (FORCEINLINE): Simplify based on _mingw.h definition.

2011-08-22  Jonathan Yong  <jon_y@users.sourceforge.net>

	* Changes by: Corinna Vinschen  corinna [a] sourceware.org  2011-08-19 11:58:05
	* winuser.h: Add missing MAPVK_xxx definitions.

2011-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	* dxva2api.h: Implemented missing inline functions:
	(DXVA2_Fixed32OpaqueAlpha): New.
	(DXVA2_Fixed32TransparentAlpha): New.
	(DXVA2FixedToFloat): New.
	(DXVA2FloatToFixed): New.

2011-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	* iscsidsc.h: Fixed many of the constants and data types.

2011-08-07  Ozkan Sezer  <sezeroz@gmail.com>

	* wincrypt.h: Added MS_ENH_RSA_AES_PROV_XP[_A|_W]. (Thanks to Alon
	Bar-Lev.)

2011-08-07  Ozkan Sezer  <sezeroz@gmail.com>

	* psdk_inc/_socket_types.h: Provide the SOCKET type as unsigned.

2011-07-23  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h (C_ASSERT): Revert the EXTERN_C change from rev.4285/4286.
	* usbioctl.h: Remove the extern "C" {} from the header completely.
	There are no functions or variables are declared, only data types,
	therefore it is not needed.
	* dbghelp.h, psdk_inc/_dbg_common.h: move the extern "C" braces so
	that the C_ASSERTs are not contained within them. (bug #3373905.)

2011-07-23  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h: Move the intrin.h include before the __faststorefence
	inline. Remove the redundant prototype for _m_prefetchw() which
	is already in intrin.h.

2011-07-21  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h (C_ASSERT): Define using EXTERN_C instead of extern.
	* ws2tcpip.h: Move the extern "C" closing brace to cover the IN6_
	prototypes.

2011-06-23  Kai Tietz  <ktietz@redhat.com>

	* basetyps.h (DECLARE_INTERFACE_IID_): New macro.
	* objbase.h: Likewise.

2011-06-21  Jonathan Yong  <jon_y@users.sourceforge.net>

	* d2d1.h: Remove redundant declarations.
	* dwrite.h: New.
	* dcommon.h: New.

2011-06-15  Jonathan Yong  <jon_y@users.sourceforge.net>

	* wincon.h(ENABLE_INSERT_MODE): Define.
	(ENABLE_QUICK_EDIT_MODE): Define.
	(ENABLE_EXTENDED_FLAGS): Define.
	(ENABLE_AUTO_POSITION): Define.
	(GetConsoleOriginalTitleA): Make DLLIMPORT.
	(GetConsoleOriginalTitleW): Likewise.
	(GetConsoleScreenBufferInfoEx): Likewise.
	(GetCurrentConsoleFontEx): Likewise.
	(SetConsoleHistoryInfo): Likewise.
	(SetCurrentConsoleFontEx): Likewise.

2011-06-09  Ozkan Sezer  <sezeroz@gmail.com>

	* winevt.h: Fix the EVT_HANDLE type and move it before its users.
	* eaptypes.h: Fix the EAP_SESSIONID type.
	* mfapi.h: Fix the MFWORKITEM_KEY type.
	* cryptxml.h (CRYPT_XML_CRYPTOGRAPHIC_INTERFACE): Remove a fixme note
	because the guessed type is correct.
	* cryptxml.h: Fix the HCRYPTXML type. Remove the non-existent HXML
	type, make CryptXmlClose() to use HCRYPTXML parm.
	* bdatypes.h: Fix the ScanModulationTypes enumeration and uncomment it.
	* propidl.h: Fix the he REFPROPVARIANT type.
	* mfobjects.h: Fix the MediaEventType type; remove a duplicated
	definition of REFPROPVARIANT.
	* clfsw32.h: Fix PFILE type. Fix CLFS_PRINT_RECORD_ROUTINE callback
	type.
	* wdspxe.h: Fix PXE_BOOT_ACTION type.
	* netioapi.h: Fix PIPINTERFACE_CHANGE_CALLBACK type.
	* bdatypes.h (FECMethod): Fix the BDA_FEC_MAX enumerated value.

2011-06-09  Jonathan Yong  <jon_y@users.sourceforge.net>

	* locationapi.h(IID_ILocationReport): Define.
	(IID_ICivicAddressReport): Define.
	(IID_IDefaultLocation): Define.
	(ILocationReport): Fix COM ordering.
	(ICivicAddressReport): Likewise.
	(IDefaultLocation): Likewise.

2011-06-09  Jonathan Yong  <jon_y@users.sourceforge.net>

	* mpeg2psiparser.h: New.
	* audiopolicy.h: New.
	* d2d1helper.h(HwndRenderTargetProperties): Declare.
	* identitystore.h: New.
	* audioengineendpoint.h(HNSTIME): Define.
	(IAudioDeviceEndpoint): Declare.
	(IAudioEndpoint): Declare.
	(IAudioEndpointControl): Declare.
	(IAudioEndpointRT): Declare.
	(IAudioEndpointVolumeEx): Declare.
	(IAudioInputEndpointRT): Declare.
	(IAudioOutputEndpointRT): Declare.
	* audioapotypes.h: Use double underscores as define guards.
	* wincred(CREDUIWIN_GENERIC): Define.
	(CREDUIWIN_CHECKBOX): Define.
	(CREDUIWIN_AUTHPACKAGE_ONLY): Define.
	(CREDUIWIN_IN_CRED_ONLY): Define.
	(CREDUIWIN_ENUMERATE_ADMINS): Define.
	(CREDUIWIN_ENUMERATE_CURRENT_USER): Define.
	(CREDUIWIN_SECURE_PROMPT): Define.
	(CREDUIWIN_PACK_32_WOW): Define.
	* winnt.h:(HARDWARE_COUNTER_DATA): Define.
	(PERFORMANCE_DATA): Define.
	* winsync.h: New.
	* mpeg2structs.h: New.
	* identitycommon.h: New.
	* audioclient.h: New.
	* portabledeviceconnectapi.h: New.
	* devpkey.h: New.
	* bdaiface.h: New.
	* dvbsiparser.h: New.
	* tuner.h: New.
	* bdatypes.h(BinaryConvolutionCodeRate): Update.
	(FECMethod): Update.
	(ModulationType): Update.
	(TransmissionMode): Update.
	(BDA_Comp_Flags): Define.
	(BDA_CONDITIONALACCESS_MMICLOSEREASON): Define.
	(BDA_CONDITIONALACCESS_REQUESTTYPE): Define.
	(MUX_PID_TYPE): Define.
	(Pilot): Define.
	(RollOff): Define.
	(LNB_Source): Define.
	(BDA_ISDBCAS_EMG_REQ): Define.
	(BDA_MUX_PIDLISTITEM): Define.
	* wtypes.h(REFPROPERTYKEY): Define.
	* audiosessiontypes: New.
	* http.h(HTTP_SERVICE_CONFIG_CACHE_PARAM): Define.
	(HTTP_SERVICE_CONFIG_CACHE_SET): Define.
	* mpeg2bits.h: new.
	* devicetopology.h: new.
	* mmdeviceapi.h: new.
	* endpointvolume.h: new.
	* locationapi.h: new.
	* sbe.h: new.
	* bdamedia.h(PBDAParentalControlPolicy): Define.
	(SignalAndServiceStatusSpanningEvent_State): Define.
	(DualMonoInfo): Define.
	(DVBScramblingControlSpanningEvent): Define.
	(LanguageInfo): Define.
	(PBDAParentalControl): Define.
	(PIDListSpanningEvent): Define.
	(SpanningEventDescriptor): Define.
	(SpanningEventEmmMessage): Define.
	* strmif.h(IAMAsyncReaderTimestampScaling): Define.
	(IAMPluginControl): Define.
	* propidl.h(REFPROPVARIANT): Define.
	* ksmedia.h(TunerLockType): Define.
	* mpeg2data.h: New.

2011-06-06  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION): Define.
	* winbase.h (GetNumaNodeNumberFromHandle): Define.
	(GetProcessGroupAffinity): Likewise.
	(GetProcessorSystemCycleTime): Likewise.
	(GetThreadErrorMode): Likewise.
	(GetThreadGroupAffinity): Likewise.
	(GetThreadIdealProcessorEx): Likewise.
	(GetActiveProcessorCount): Likewise.
	(GetActiveProcessorGroupCount): Likewise.
	(GetCurrentProcessorNumberEx): Likewise.
	(GetMaximumProcessorCount): Likewise.
	(GetMaximumProcessorGroupCount): Likewise.
	(GetCurrentUmsThread): Likewise.
	* winnls.h (VerifyScripts): Make WINAPI.
	(GetProcessPreferredUILanguages): Define.
	* virtdisk.h (VIRTDISKAPI): Define.
	(AttachVirtualDisk): Make DLLIMPORT.
	(CompactVirtualDisk): Likewise.
	(CreateVirtualDisk): Likewise.
	(DetachVirtualDisk): Likewise.
	(ExpandVirtualDisk): Likewise.
	(GetStorageDependencyInformation): Likewise.
	(GetVirtualDiskInformation): Likewise.
	(GetVirtualDiskOperationProgress): Likewise.
	(MergeVirtualDisk): Likewise.
	(OpenVirtualDisk): Likewise.
	(SetVirtualDiskInformation): Likewise.
	* winuser.h (CreateDesktopExA): Make DLLIMPORT.
	(CreateDesktopExW): Likewise.
	(ShutdownBlockReasonCreate): Likewise.
	(ShutdownBlockReasonDestroy): Likewise.
	(ShutdownBlockReasonQuery): Likewise.
	(SetGestureConfig): Likewise.
	(GetGestureConfig): Likewise.
	(GetGestureInfo): Likewise.
	(GetGestureExtraArgs): Likewise.
	(CloseGestureInfoHandle): Likewise.

2011-06-02  Dongsheng Song  <dongsheng.song@gmail.com>

	* mstcpip.h: Mark declarations available on XP SP3 and above.

2011-04-27  Jose Fonseca  <jrfonseca@users.sourceforge.net>

	* wingdi.h (WINGDIAPI): When _GDI32_ is defined, define as nothing.

2011-04-21  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (WOW64_CONTEXT_i386): Define.
	(WOW64_CONTEXT_i486): Likewise.
	(WOW64_CONTEXT_CONTROL): Likewise.
	(WOW64_CONTEXT_INTEGER): Likewise.
	(WOW64_CONTEXT_SEGMENTS): Likewise.
	(WOW64_CONTEXT_FLOATING_POINT): Likewise.
	(WOW64_CONTEXT_DEBUG_REGISTERS): Likewise.
	(WOW64_CONTEXT_EXTENDED_REGISTERS): Likewise.
	(WOW64_CONTEXT_FULL): Likewise.
	(WOW64_CONTEXT_ALL): Likewise.
	(WOW64_SIZE_OF_80387_REGISTERS): Likewise.
	(WOW64_MAXIMUM_SUPPORTED_EXTENSION): Likewise.
	(WOW64_FLOATING_SAVE_AREA): Declare.
	(WOW64_CONTEXT): Likewise.
	(WOW64_LDT_ENTRY): Likewise.

2011-04-11  Kai Tietz  <ktietz70@googlemail.com>

	* bcrypt.h, lmaccess.h, ntsecapi.h, subauth.h, wincred.h:
	Guard NTSTATUS/PNTSTATUS typedef additionally by _NTSTATUS_PSDK.
	* hidpi.h: Typedef NTSTATUS and PNTSTATUS.

2011-04-11  Simon Josefsson  <simon@joseffson.org>

	* hidsdi.h: New.

2011-04-08  Ozkan Sezer  <sezeroz@gmail.com>

	* ksmedia.h:  Guard the SPEAKER_* macros by _SPEAKER_POSITIONS_
	like in mmreg.h.

2011-03-02  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h (TOUCHEVENTF_MOVE): Fix value as 0x01 acc.to msdn.
	(TOUCHEVENTF_DOWN): Fix value as 0x02 acc.to msdn.

2011-01-29  Jonathan Yong  <jon_y@users.sourceforge.net>

	* dxva2api.h (DXVA2_ProcAmp_None): Define.
	(DXVA2_ProcAmp_Brightness): Likewise.
	(DXVA2_ProcAmp_Contrast): Likewise.
	(DXVA2_ProcAmp_Hue): Likewise.
	(DXVA2_ProcAmp_Saturation): Likewise.
	* mfapi.h (MFScheduleWorkItemEx): New function declaration.
	* opmapi.h (OPM_CGMSA_OFF): Define.
	(OPM_CGMSA_COPY_FREELY): Likewise.
	(OPM_CGMSA_COPY_NO_MORE): Likewise.
	(OPM_CGMSA_COPY_ONE_GENERATION): Likewise.
	(OPM_CGMSA_COPY_NEVER): Likewise.
	(OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED): Likewise.
	(OPM_PROTECTION_STANDARD_OTHER): Likewise.
	(OPM_PROTECTION_STANDARD_NONE): Likewise.
	(OPM_PROTECTION_STANDARD_IEC61880_525I): Likewise.
	(OPM_PROTECTION_STANDARD_IEC61880_2_525I): Likewise.
	(OPM_PROTECTION_STANDARD_IEC62375_625P): Likewise.
	(OPM_PROTECTION_STANDARD_EIA608B_525): Likewise.
	(OPM_PROTECTION_STANDARD_EN300294_625I): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_525P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_750P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_1125I): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_525P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_750P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_1125I): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_525I): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_525P): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_750P): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_1125I): Likewise.
	* mfidl.h (IMFByteStreamHandler): New interface declaration.

2011-01-17  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winuser.h (WM_MOUSEHWHEEL): Define.

2011-01-14  Ozkan Sezer  <sezeroz@gmail.com>

	* winsplp.h (MONITOR2): Fixes according to msdn documentation at
	http://msdn.microsoft.com/en-us/library/ff557532(VS.85).aspx
	thanks to a reminder from Lorenzo Monti. Closes patch tracker ID
	3157986.

2011-01-07  Jonathan Yong  <jon_y@users.sourceforge.net>

	* wincrypt.h (CertSelectCertificateChains): Fix typo.
	* objbase.h (CoDisconnectContext): Likewise.
	(CoGetApartmentType): Likewise.

