* Sync up to trunk head (r60691).

svn path=/branches/ntvdm/; revision=60692
This commit is contained in:
Amine Khaldi
2013-10-17 11:19:05 +00:00
5851 changed files with 218087 additions and 724119 deletions
+68 -9
View File
@@ -3,6 +3,7 @@
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _INC_SEARCH
#define _INC_SEARCH
@@ -15,15 +16,73 @@ extern "C" {
#ifndef _CRT_ALGO_DEFINED
#define _CRT_ALGO_DEFINED
void *__cdecl bsearch(const void *_Key,const void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
void __cdecl qsort(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
#endif
_CRTIMP void *__cdecl _lfind(const void *_Key,const void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
_CRTIMP void *__cdecl _lsearch(const void *_Key,void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
#ifndef NO_OLDNAMES
_CRTIMP void *__cdecl lfind(const void *_Key,const void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
_CRTIMP void *__cdecl lsearch(const void *_Key,void *_Base,unsigned int *_NumOfElements,unsigned int _SizeOfElements,int (__cdecl *_PtFuncCompare)(const void *,const void *));
_Check_return_
void *
__cdecl
bsearch(
_In_ const void *_Key,
_In_reads_bytes_(_NumOfElements * _SizeOfElements) const void *_Base,
_In_ size_t _NumOfElements,
_In_ size_t _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
void
__cdecl
qsort(
_Inout_updates_bytes_(_NumOfElements * _SizeOfElements) void *_Base,
_In_ size_t _NumOfElements,
_In_ size_t _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
#endif
_Check_return_
_CRTIMP
void *
__cdecl
_lfind(
_In_ const void *_Key,
_In_reads_bytes_((*_NumOfElements) * _SizeOfElements) const void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ unsigned int _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
_Check_return_
_CRTIMP
void *
__cdecl
_lsearch(
_In_ const void *_Key,
_Inout_updates_bytes_((*_NumOfElements) * _SizeOfElements) void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ unsigned int _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
#ifndef NO_OLDNAMES
_Check_return_
_CRTIMP
void *
__cdecl
lfind(
_In_ const void *_Key,
_In_reads_bytes_((*_NumOfElements) * _SizeOfElements) const void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ unsigned int _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
_Check_return_
_CRTIMP
void *
__cdecl
lsearch(
_In_ const void *_Key,
_Inout_updates_bytes_((*_NumOfElements) * _SizeOfElements) void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ unsigned int _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(const void *, const void *));
#endif
#ifdef __cplusplus
@@ -32,4 +91,4 @@ extern "C" {
#include <sec_api/search_s.h>
#endif
#endif /*_INC_SEARCH */
+52 -9
View File
@@ -3,6 +3,7 @@
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _INC_IO_S
#define _INC_IO_S
@@ -14,20 +15,62 @@
extern "C" {
#endif
_CRTIMP errno_t __cdecl _access_s(const char *_Filename,int _AccessMode);
_CRTIMP errno_t __cdecl _chsize_s(int _FileHandle,__int64 _Size);
_CRTIMP errno_t __cdecl _mktemp_s(char *_TemplateName,size_t _Size);
_CRTIMP errno_t __cdecl _umask_s(int _NewMode,int *_OldMode);
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
_access_s(
_In_z_ const char *_Filename,
_In_ int _AccessMode);
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
_chsize_s(
_In_ int _FileHandle,
_In_ __int64 _Size);
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
_mktemp_s(
_Inout_updates_z_(_Size) char *_TemplateName,
_In_ size_t _Size);
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
_umask_s(
_In_ int _NewMode,
_Out_ int *_OldMode);
#ifndef _WIO_S_DEFINED
#define _WIO_S_DEFINED
_CRTIMP errno_t __cdecl _waccess_s(const wchar_t *_Filename,int _AccessMode);
_CRTIMP errno_t __cdecl _wmktemp_s(wchar_t *_TemplateName,size_t _SizeInWords);
#endif
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
_waccess_s(
_In_z_ const wchar_t *_Filename,
_In_ int _AccessMode);
_CRTIMP
errno_t
__cdecl
_wmktemp_s(
_Inout_updates_z_(_SizeInWords) wchar_t *_TemplateName,
_In_ size_t _SizeInWords);
#endif /* _WIO_S_DEFINED */
#ifdef __cplusplus
}
#endif
#endif
#endif
#endif /* MINGW_HAS_SECURE_API */
#endif /* _INC_IO_S */
+26 -3
View File
@@ -3,6 +3,7 @@
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _INC_SEARCH_S
#define _INC_SEARCH_S
@@ -14,12 +15,34 @@
extern "C" {
#endif
_CRTIMP void *__cdecl _lfind_s(const void *_Key,const void *_Base,unsigned int *_NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(void *,const void *,const void *),void *_Context);
_CRTIMP void *__cdecl _lsearch_s(const void *_Key,void *_Base,unsigned int *_NumOfElements,size_t _SizeOfElements,int (__cdecl *_PtFuncCompare)(void *,const void *,const void *),void *_Context);
_Check_return_
_CRTIMP
void *
__cdecl
_lfind_s(
_In_ const void *_Key,
_In_reads_bytes_((*_NumOfElements) * _SizeOfElements) const void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ size_t _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(void *, const void *, const void *),
void *_Context);
_Check_return_
_CRTIMP
void *
__cdecl
_lsearch_s(
_In_ const void *_Key,
_Inout_updates_bytes_((*_NumOfElements) * _SizeOfElements) void *_Base,
_Inout_ unsigned int *_NumOfElements,
_In_ size_t _SizeOfElements,
_In_ int(__cdecl *_PtFuncCompare)(void *, const void *, const void *),
void *_Context);
#ifdef __cplusplus
}
#endif
#endif
#endif
#endif /* _INC_SEARCH_S */
+24 -23
View File
@@ -108,16 +108,17 @@ extern "C" {
_In_ wchar_t _WCh,
_In_opt_ _locale_t _Locale);
_Success_(return!=EINVAL)
_Check_return_wat_
_CRTIMP
errno_t
__cdecl
wcstombs_s(
_Out_opt_ size_t *_PtNumOfCharConverted,
_Out_writes_bytes_to_opt_(_DstSizeInBytes, *_PtNumOfCharConverted) char *_Dst,
_In_ size_t _DstSizeInBytes,
_In_z_ const wchar_t *_Src,
_In_ size_t _MaxCountInBytes);
_Out_opt_ size_t *pcchConverted,
_Out_writes_bytes_to_opt_(cjDstSize, *pcchConverted) char *pmbstrDst,
_In_ size_t cjDstSize,
_In_z_ const wchar_t *pwszSrc,
_In_ size_t cjMaxCount);
_Check_return_wat_
_CRTIMP
@@ -274,15 +275,15 @@ extern "C" {
errno_t
__cdecl
_splitpath_s(
_In_z_ const char *_FullPath,
_Out_writes_opt_z_(_DriveSize) char *_Drive,
_In_ size_t _DriveSize,
_Out_writes_opt_z_(_DirSize) char *_Dir,
_In_ size_t _DirSize,
_Out_writes_opt_z_(_FilenameSize) char *_Filename,
_In_ size_t _FilenameSize,
_Out_writes_opt_z_(_ExtSize) char *_Ext,
_In_ size_t _ExtSize);
_In_z_ const char *path,
_Out_writes_opt_z_(drive_size) char *drive,
_In_ size_t drive_size,
_Out_writes_opt_z_(dir_size) char *dir,
_In_ size_t dir_size,
_Out_writes_opt_z_(fname_size) char *fname,
_In_ size_t fname_size,
_Out_writes_opt_z_(ext_size) char *ext,
_In_ size_t ext_size);
#ifndef _WSTDLIBP_S_DEFINED
#define _WSTDLIBP_S_DEFINED
@@ -320,15 +321,15 @@ extern "C" {
errno_t
__cdecl
_wsplitpath_s(
_In_z_ const wchar_t *_FullPath,
_Out_writes_opt_z_(_DriveSizeInWords) wchar_t *_Drive,
_In_ size_t _DriveSizeInWords,
_Out_writes_opt_z_(_DirSizeInWords) wchar_t *_Dir,
_In_ size_t _DirSizeInWords,
_Out_writes_opt_z_(_FilenameSizeInWords) wchar_t *_Filename,
_In_ size_t _FilenameSizeInWords,
_Out_writes_opt_z_(_ExtSizeInWords) wchar_t *_Ext,
_In_ size_t _ExtSizeInWords);
_In_z_ const wchar_t *path,
_Out_writes_opt_z_(drive_size) wchar_t *drive,
_In_ size_t drive_size,
_Out_writes_opt_z_(dir_size) wchar_t *dir,
_In_ size_t dir_size,
_Out_writes_opt_z_(fname_size) wchar_t *fname,
_In_ size_t fname_size,
_Out_writes_opt_z_(ext_size) wchar_t *ext,
_In_ size_t ext_size);
#endif /* _WSTDLIBP_S_DEFINED */
+2 -2
View File
@@ -15,8 +15,8 @@ extern "C" {
#if defined(MINGW_HAS_SECURE_API)
_CRTIMP errno_t __cdecl _ftime32_s(struct __timeb32 *_Time);
_CRTIMP errno_t __cdecl _ftime64_s(struct __timeb64 *_Time);
_CRTIMP errno_t __cdecl _ftime32_s(_Out_ struct __timeb32 *_Time);
_CRTIMP errno_t __cdecl _ftime64_s(_Out_ struct __timeb64 *_Time);
#ifndef _USE_32BIT_TIME_T
#define _ftime_s _ftime64_s
+4 -4
View File
@@ -978,10 +978,10 @@ extern "C" {
errno_t
__cdecl
wcsncpy_s(
_Out_writes_z_(SizeInWords) wchar_t *_Dest,
_In_ size_t SizeInWords,
_In_z_ const wchar_t *_Source,
_In_ size_t _Count);
_Out_writes_z_(_DstSizeInChars) wchar_t *_Dst,
_In_ size_t _DstSizeInChars,
_In_z_ const wchar_t *_Src,
_In_ size_t _MaxCount);
_Check_return_wat_
_CRTIMP
+111 -87
View File
@@ -20,6 +20,8 @@
*
*/
#pragma once
#ifndef _NTDDPCMH_
#define _NTDDPCMH_
@@ -27,10 +29,10 @@
extern "C" {
#endif
#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
#define DD_PCMCIA_DEVICE_NAME_U L"\\\\.\\Pcmcia"
#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
#define DD_PCMCIA_DEVICE_NAME_U L"\\\\.\\Pcmcia"
#define IOCTL_GET_TUPLE_DATA \
CTL_CODE(IOCTL_PCMCIA_BASE, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)
@@ -38,118 +40,140 @@ extern "C" {
#define IOCTL_SOCKET_INFORMATION \
CTL_CODE(IOCTL_PCMCIA_BASE, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define DEVICE_IDENTIFIER_LENGTH 64
#define DRIVER_NAME_LENGTH 32
#define MANUFACTURER_NAME_LENGTH 64
#define DEVICE_IDENTIFIER_LENGTH 64
#define DRIVER_NAME_LENGTH 32
#define MANUFACTURER_NAME_LENGTH 64
#define PcmciaInvalidControllerType 0xffffffff
#define PcmciaInvalidControllerType 0xffffffff
typedef struct _TUPLE_REQUEST {
USHORT Socket;
USHORT Socket;
} TUPLE_REQUEST, *PTUPLE_REQUEST;
typedef enum _PCMCIA_CONTROLLER_CLASS {
PcmciaInvalidControllerClass = -1,
PcmciaIntelCompatible,
PcmciaCardBusCompatible,
PcmciaElcController,
PcmciaDatabook,
PcmciaPciPcmciaBridge,
PcmciaCirrusLogic,
PcmciaTI,
PcmciaTopic,
PcmciaRicoh,
PcmciaDatabookCB,
PcmciaOpti,
PcmciaTrid,
PcmciaO2Micro,
PcmciaNEC,
PcmciaNEC_98
PcmciaInvalidControllerClass = -1,
PcmciaIntelCompatible,
PcmciaCardBusCompatible,
PcmciaElcController,
PcmciaDatabook,
PcmciaPciPcmciaBridge,
PcmciaCirrusLogic,
PcmciaTI,
PcmciaTopic,
PcmciaRicoh,
PcmciaDatabookCB,
PcmciaOpti,
PcmciaTrid,
PcmciaO2Micro,
PcmciaNEC,
PcmciaNEC_98
} PCMCIA_CONTROLLER_CLASS, *PPCMCIA_CONTROLLER_CLASS;
typedef struct _PCMCIA_SOCKET_INFORMATION {
USHORT Socket;
USHORT TupleCrc;
UCHAR Manufacturer[MANUFACTURER_NAME_LENGTH];
UCHAR Identifier[DEVICE_IDENTIFIER_LENGTH];
UCHAR DriverName[DRIVER_NAME_LENGTH];
UCHAR DeviceFunctionId;
UCHAR Reserved;
UCHAR CardInSocket;
UCHAR CardEnabled;
ULONG ControllerType;
USHORT Socket;
USHORT TupleCrc;
UCHAR Manufacturer[MANUFACTURER_NAME_LENGTH];
UCHAR Identifier[DEVICE_IDENTIFIER_LENGTH];
UCHAR DriverName[DRIVER_NAME_LENGTH];
UCHAR DeviceFunctionId;
UCHAR Reserved;
UCHAR CardInSocket;
UCHAR CardEnabled;
ULONG ControllerType;
} PCMCIA_SOCKET_INFORMATION, *PPCMCIA_SOCKET_INFORMATION;
#define PcmciaClassFromControllerType(type) ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
#define PcmciaModelFromControllerType(type) (((type) >> 8) & 0x3ffff)
#define PcmciaRevisionFromControllerType(type) ((type) >> 26)
#define PcmciaClassFromControllerType(type) ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
#define PcmciaModelFromControllerType(type) (((type) >> 8) & 0x3ffff)
#define PcmciaRevisionFromControllerType(type) ((type) >> 26)
DEFINE_GUID(GUID_PCMCIA_INTERFACE_STANDARD, \
0xbed5dadfL, 0x38fb, 0x11d1, 0x94, 0x62, 0x00, 0xc0, 0x4f, 0xb9, 0x60, 0xee);
typedef ULONG MEMORY_SPACE;
typedef ULONG
(NTAPI *PPCMCIA_READ_WRITE_CONFIG)(
IN PVOID Context,
IN ULONG WhichSpace,
IN PUCHAR Buffer,
IN ULONG Offset,
IN ULONG Length);
typedef
_Function_class_(PCMCIA_READ_CONFIG)
ULONG
(NTAPI PCMCIA_READ_CONFIG)(
_In_opt_ PVOID Context,
_In_ ULONG WhichSpace,
_Out_writes_bytes_all_(Length) PUCHAR Buffer,
_In_ ULONG Offset,
_In_ ULONG Length);
typedef PCMCIA_READ_CONFIG *PPCMCIA_READ_CONFIG;
#define PCCARD_PCI_CONFIGURATION_SPACE 0
#define PCCARD_ATTRIBUTE_MEMORY 1
#define PCCARD_COMMON_MEMORY 2
#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT 3
#define PCCARD_COMMON_MEMORY_INDIRECT 4
typedef
_Function_class_(PCMCIA_WRITE_CONFIG)
ULONG
(NTAPI PCMCIA_WRITE_CONFIG)(
_In_opt_ PVOID Context,
_In_ ULONG WhichSpace,
_In_reads_bytes_(Length) PUCHAR Buffer,
_In_ ULONG Offset,
_In_ ULONG Length);
typedef PCMCIA_WRITE_CONFIG *PPCMCIA_WRITE_CONFIG;
#define PCCARD_PCI_CONFIGURATION_SPACE 0
#define PCCARD_ATTRIBUTE_MEMORY 1
#define PCCARD_COMMON_MEMORY 2
#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT 3
#define PCCARD_COMMON_MEMORY_INDIRECT 4
typedef struct _PCMCIA_BUS_INTERFACE_STANDARD {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PPCMCIA_READ_WRITE_CONFIG ReadConfig;
PPCMCIA_READ_WRITE_CONFIG WriteConfig;
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PPCMCIA_READ_WRITE_CONFIG ReadConfig;
PPCMCIA_READ_WRITE_CONFIG WriteConfig;
} PCMCIA_BUS_INTERFACE_STANDARD, *PPCMCIA_BUS_INTERFACE_STANDARD;
#define PCMCIA_MEMORY_8BIT_ACCESS 0
#define PCMCIA_MEMORY_16BIT_ACCESS 1
#define PCMCIA_MEMORY_8BIT_ACCESS 0
#define PCMCIA_MEMORY_16BIT_ACCESS 1
typedef BOOLEAN
(NTAPI *PPCMCIA_MODIFY_MEMORY_WINDOW)(
IN PVOID Context,
IN ULONGLONG HostBase,
IN ULONGLONG CardBase,
IN BOOLEAN Enable,
IN ULONG WindowSize OPTIONAL,
IN UCHAR AccessSpeed OPTIONAL,
IN UCHAR BusWidth OPTIONAL,
IN BOOLEAN IsAttributeMemory OPTIONAL);
typedef
_Function_class_(PCMCIA_MODIFY_MEMORY_WINDOW)
BOOLEAN
(NTAPI PCMCIA_MODIFY_MEMORY_WINDOW)(
_In_opt_ PVOID Context,
_In_ ULONGLONG HostBase,
_In_ ULONGLONG CardBase,
_In_ BOOLEAN Enable,
_In_opt_ ULONG WindowSize,
_In_opt_ UCHAR AccessSpeed,
_In_opt_ UCHAR BusWidth,
_In_opt_ BOOLEAN IsAttributeMemory);
typedef PCMCIA_MODIFY_MEMORY_WINDOW *PPCMCIA_MODIFY_MEMORY_WINDOW;
#define PCMCIA_VPP_0V 0
#define PCMCIA_VPP_12V 1
#define PCMCIA_VPP_IS_VCC 2
#define PCMCIA_VPP_0V 0
#define PCMCIA_VPP_12V 1
#define PCMCIA_VPP_IS_VCC 2
typedef BOOLEAN
(NTAPI *PPCMCIA_SET_VPP)(
IN PVOID Context,
IN UCHAR VppLevel);
typedef
_Function_class_(PCMCIA_SET_VPP)
BOOLEAN
(NTAPI PCMCIA_SET_VPP)(
_In_opt_ PVOID Context,
_In_ UCHAR VppLevel);
typedef PCMCIA_SET_VPP *PPCMCIA_SET_VPP;
typedef BOOLEAN
(NTAPI *PPCMCIA_IS_WRITE_PROTECTED)(
IN PVOID Context);
typedef
_Function_class_(PCMCIA_IS_WRITE_PROTECTED)
BOOLEAN
(NTAPI PCMCIA_IS_WRITE_PROTECTED)(
_In_opt_ PVOID Context);
typedef PCMCIA_IS_WRITE_PROTECTED *PPCMCIA_IS_WRITE_PROTECTED;
typedef struct _PCMCIA_INTERFACE_STANDARD {
USHORT Size;
USHORT Version;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PVOID Context;
PPCMCIA_MODIFY_MEMORY_WINDOW ModifyMemoryWindow;
PPCMCIA_SET_VPP SetVpp;
PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected;
USHORT Size;
USHORT Version;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PVOID Context;
PPCMCIA_MODIFY_MEMORY_WINDOW ModifyMemoryWindow;
PPCMCIA_SET_VPP SetVpp;
PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected;
} PCMCIA_INTERFACE_STANDARD, *PPCMCIA_INTERFACE_STANDARD;
#ifdef __cplusplus
+119 -104
View File
@@ -20,8 +20,10 @@
*
*/
#ifndef __SCSIWMI_H
#define __SCSIWMI_H
#pragma once
#ifndef _SCSIWMI_
#define _SCSIWMI_
#include "srb.h"
@@ -32,12 +34,12 @@ extern "C" {
#pragma pack(push,4)
typedef struct _SCSIWMI_REQUEST_CONTEXT {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
#ifdef _GUID_DEFINED
@@ -47,129 +49,142 @@ typedef struct _SCSIWMI_REQUEST_CONTEXT {
#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
#define GUID_DEFINED
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
#endif
typedef struct _SCSIWMIGUIDREGINFO {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO;
typedef UCHAR
typedef
_Must_inspect_result_
UCHAR
(NTAPI *PSCSIWMI_QUERY_REGINFO)(
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
OUT PWCHAR *MofResourceName);
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_Out_ PWCHAR *MofResourceName);
typedef BOOLEAN
typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_QUERY_DATABLOCK)(
IN PVOID Context,
IN PSCSIWMI_REQUEST_CONTEXT DispatchContext,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG InstanceCount,
IN OUT PULONG InstanceLengthArray,
IN ULONG BufferAvail,
OUT PUCHAR Buffer);
_In_ PVOID Context,
_In_ PSCSIWMI_REQUEST_CONTEXT DispatchContext,
_In_ ULONG GuidIndex,
_In_ ULONG InstanceIndex,
_In_ ULONG InstanceCount,
_Inout_ PULONG InstanceLengthArray,
_In_ ULONG BufferAvail,
_Out_writes_bytes_(BufferAvail) PUCHAR Buffer);
typedef BOOLEAN
typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_SET_DATABLOCK)(
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG BufferSize,
IN PUCHAR Buffer);
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ ULONG GuidIndex,
_In_ ULONG InstanceIndex,
_In_ ULONG BufferSize,
_In_reads_bytes_(BufferSize) PUCHAR Buffer);
typedef BOOLEAN
typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_SET_DATAITEM)(
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG DataItemId,
IN ULONG BufferSize,
IN PUCHAR Buffer);
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ ULONG GuidIndex,
_In_ ULONG InstanceIndex,
_In_ ULONG DataItemId,
_In_ ULONG BufferSize,
_In_reads_bytes_(BufferSize) PUCHAR Buffer);
typedef BOOLEAN
typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_EXECUTE_METHOD)(
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG MethodId,
IN ULONG InBufferSize,
IN ULONG OutBufferSize,
IN OUT PUCHAR Buffer);
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ ULONG GuidIndex,
_In_ ULONG InstanceIndex,
_In_ ULONG MethodId,
_In_ ULONG InBufferSize,
_In_ ULONG OutBufferSize,
_Inout_updates_bytes_to_(InBufferSize, OutBufferSize) PUCHAR Buffer);
typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL {
ScsiWmiEventControl,
ScsiWmiDataBlockControl
ScsiWmiEventControl,
ScsiWmiDataBlockControl
} SCSIWMI_ENABLE_DISABLE_CONTROL;
typedef BOOLEAN
typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_FUNCTION_CONTROL)(
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex,
IN SCSIWMI_ENABLE_DISABLE_CONTROL Function,
IN BOOLEAN Enable);
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ ULONG GuidIndex,
_In_ SCSIWMI_ENABLE_DISABLE_CONTROL Function,
_In_ BOOLEAN Enable);
typedef struct _SCSIWMILIB_CONTEXT {
ULONG GuidCount;
PSCSIWMIGUIDREGINFO GuidList;
PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
PSCSIWMI_SET_DATAITEM SetWmiDataItem;
PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
ULONG GuidCount;
PSCSIWMIGUIDREGINFO GuidList;
PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
PSCSIWMI_SET_DATAITEM SetWmiDataItem;
PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
_Must_inspect_result_
SCSIPORTAPI
BOOLEAN
NTAPI
ScsiPortWmiDispatchFunction(
IN PSCSI_WMILIB_CONTEXT WmiLibInfo,
IN UCHAR MinorFunction,
IN PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN PVOID DataPath,
IN ULONG BufferSize,
IN PVOID Buffer);
_In_ PSCSI_WMILIB_CONTEXT WmiLibInfo,
_In_ UCHAR MinorFunction,
_In_ PVOID DeviceContext,
_In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ PVOID DataPath,
_In_ ULONG BufferSize,
_In_ PVOID Buffer);
#define ScsiPortWmiFireAdapterEvent( \
HwDeviceExtension, \
Guid, \
InstanceIndex, \
EventDataSize, \
EventData) \
ScsiPortWmiFireLogicalUnitEvent( \
HwDeviceExtension, \
0xff, \
0, \
0, \
Guid, \
InstanceIndex, \
EventDataSize, \
EventData)
#define ScsiPortWmiFireAdapterEvent( \
HwDeviceExtension, \
Guid, \
InstanceIndex, \
EventDataSize, \
EventData) \
ScsiPortWmiFireLogicalUnitEvent( \
HwDeviceExtension, \
0xff, \
0, \
0, \
Guid, \
InstanceIndex, \
EventDataSize, \
EventData)
/*
* ULONG
* ScsiPortWmiGetReturnSize(
* PSCSIWMI_REQUEST_CONTEXT RequestContext);
* PSCSIWMI_REQUEST_CONTEXT RequestContext);
*/
#define ScsiPortWmiGetReturnSize(RequestContext) \
((RequestContext)->ReturnSize)
/* UCHAR
* ScsiPortWmiGetReturnStatus(
* PSCSIWMI_REQUEST_CONTEXT RequestContext);
* PSCSIWMI_REQUEST_CONTEXT RequestContext);
*/
#define ScsiPortWmiGetReturnStatus(RequestContext) \
((RequestContext)->ReturnStatus)
@@ -178,22 +193,22 @@ SCSIPORTAPI
VOID
NTAPI
ScsiPortWmiPostProcess(
IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN UCHAR SrbStatus,
IN ULONG BufferUsed);
_Inout_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
_In_ UCHAR SrbStatus,
_In_ ULONG BufferUsed);
SCSIPORTAPI
VOID
NTAPI
ScsiPortWmiFireLogicalUnitEvent(
IN PVOID HwDeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun,
IN LPGUID Guid,
IN ULONG InstanceIndex,
IN ULONG EventDataSize,
IN PVOID EventData);
_In_ PVOID HwDeviceExtension,
_In_ UCHAR PathId,
_In_ UCHAR TargetId,
_In_ UCHAR Lun,
_In_ LPGUID Guid,
_In_ ULONG InstanceIndex,
_In_ ULONG EventDataSize,
_In_ PVOID EventData);
#pragma pack(pop)
@@ -201,4 +216,4 @@ ScsiPortWmiFireLogicalUnitEvent(
}
#endif
#endif /* __SCSIWMI_H */
#endif /* _SCSIWMI_ */
+61 -35
View File
@@ -1,9 +1,16 @@
#pragma once
#ifndef _SWENUM_
#define _SWENUM_
#define IOCTL_SWENUM_INSTALL_INTERFACE CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SWENUM_REMOVE_INTERFACE CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x001, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SWENUM_GET_BUS_ID CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x002, METHOD_NEITHER, FILE_READ_ACCESS)
#define IOCTL_SWENUM_INSTALL_INTERFACE \
CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SWENUM_REMOVE_INTERFACE \
CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x001, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SWENUM_GET_BUS_ID \
CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x002, METHOD_NEITHER, FILE_READ_ACCESS)
typedef struct _SWENUM_INSTALL_INTERFACE {
GUID DeviceId;
@@ -11,7 +18,7 @@ typedef struct _SWENUM_INSTALL_INTERFACE {
WCHAR ReferenceString[1];
} SWENUM_INSTALL_INTERFACE, *PSWENUM_INSTALL_INTERFACE;
#if defined(_KS_)
#ifdef _KS_
#define STATIC_BUSID_SoftwareDeviceEnumerator STATIC_KSMEDIUMSETID_Standard
#define BUSID_SoftwareDeviceEnumerator KSMEDIUMSETID_Standard
#else
@@ -19,15 +26,26 @@ typedef struct _SWENUM_INSTALL_INTERFACE {
0x4747B320L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
#endif /* _KS_ */
#if defined(_NTDDK_)
#ifdef _NTDDK_
#if !defined(_KS_)
typedef VOID (NTAPI *PFNREFERENCEDEVICEOBJECT)(PVOID Context);
typedef VOID (NTAPI *PFNDEREFERENCEDEVICEOBJECT)(PVOID Context);
typedef NTSTATUS (NTAPI *PFNQUERYREFERENCESTRING)(PVOID Context, PWCHAR *String);
#endif /* _KS_ */
#ifndef _KS_
#define BUS_INTERFACE_SWENUM_VERSION 0x100
typedef VOID
(NTAPI *PFNREFERENCEDEVICEOBJECT)(
_In_ PVOID Context);
typedef VOID
(NTAPI *PFNDEREFERENCEDEVICEOBJECT)(
_In_ PVOID Context);
typedef NTSTATUS
(NTAPI *PFNQUERYREFERENCESTRING)(
_In_ PVOID Context,
_Inout_ PWCHAR *String);
#endif /* !_KS_ */
#define BUS_INTERFACE_SWENUM_VERSION 0x100
typedef struct _BUS_INTERFACE_SWENUM {
INTERFACE Interface;
@@ -40,90 +58,98 @@ typedef struct _BUS_INTERFACE_SWENUM {
extern "C" {
#endif
#if defined(_KS_)
#ifdef _KS_
KSDDKAPI
NTSTATUS
NTAPI
KsQuerySoftwareBusInterface(
IN PDEVICE_OBJECT PnpDeviceObject,
OUT PBUS_INTERFACE_SWENUM BusInterface);
_In_ PDEVICE_OBJECT PnpDeviceObject,
_Out_ PBUS_INTERFACE_SWENUM BusInterface);
KSDDKAPI
NTSTATUS
NTAPI
KsReferenceSoftwareBusObject(
IN KSDEVICE_HEADER Header);
_In_ KSDEVICE_HEADER Header);
KSDDKAPI
VOID
NTAPI
KsDereferenceSoftwareBusObject(
IN KSDEVICE_HEADER Header);
_In_ KSDEVICE_HEADER Header);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsCreateBusEnumObject(
IN PWSTR BusIdentifier,
IN PDEVICE_OBJECT BusDeviceObject,
IN PDEVICE_OBJECT PhysicalDeviceObject,
IN PDEVICE_OBJECT PnpDeviceObject,
IN REFGUID InterfaceGuid,
IN PWSTR ServiceRelativePath);
_In_ PWSTR BusIdentifier,
_In_ PDEVICE_OBJECT BusDeviceObject,
_In_ PDEVICE_OBJECT PhysicalDeviceObject,
_In_opt_ PDEVICE_OBJECT PnpDeviceObject,
_In_opt_ REFGUID InterfaceGuid,
_In_opt_ PWSTR ServiceRelativePath);
KSDDKAPI
NTSTATUS
NTAPI
KsGetBusEnumIdentifier(
IN OUT PIRP Irp);
_Inout_ PIRP Irp);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsGetBusEnumPnpDeviceObject(
IN PDEVICE_OBJECT DeviceObject,
OUT PDEVICE_OBJECT *PnpDeviceObject);
_In_ PDEVICE_OBJECT DeviceObject,
_Out_ PDEVICE_OBJECT *PnpDeviceObject);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsInstallBusEnumInterface(
IN PIRP Irp);
_In_ PIRP Irp);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsIsBusEnumChildDevice(
IN PDEVICE_OBJECT DeviceObject,
OUT PBOOLEAN ChildDevice);
_In_ PDEVICE_OBJECT DeviceObject,
_Out_ PBOOLEAN ChildDevice);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsRemoveBusEnumInterface(
IN PIRP Irp);
_In_ PIRP Irp);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsServiceBusEnumPnpRequest(
IN PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp);
_In_ PDEVICE_OBJECT DeviceObject,
_Inout_ PIRP Irp);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsServiceBusEnumCreateRequest(
IN PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp);
_In_ PDEVICE_OBJECT DeviceObject,
_Inout_ PIRP Irp);
_IRQL_requires_max_(PASSIVE_LEVEL)
KSDDKAPI
NTSTATUS
NTAPI
KsGetBusEnumParentFDOFromChildPDO(
IN PDEVICE_OBJECT DeviceObject,
OUT PDEVICE_OBJECT *FunctionalDeviceObject);
_In_ PDEVICE_OBJECT DeviceObject,
_Out_ PDEVICE_OBJECT *FunctionalDeviceObject);
#endif /* _KS_ */
+4
View File
@@ -30,8 +30,12 @@
#include "d3d9.h"
#include "d3dx9math.h"
#include "d3dx9core.h"
#include "d3dx9xof.h"
#include "d3dx9mesh.h"
#include "d3dx9shader.h"
#include "d3dx9effect.h"
#include "d3dx9shape.h"
#include "d3dx9anim.h"
#include "d3dx9tex.h"
#define _FACDD 0x876
+407
View File
@@ -0,0 +1,407 @@
/*
* Copyright 2011 Dylan Smith
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_D3DX9ANIM_H
#define __WINE_D3DX9ANIM_H
DEFINE_GUID(IID_ID3DXAnimationSet, 0x698cfb3f, 0x9289, 0x4d95, 0x9a, 0x57, 0x33, 0xa9, 0x4b, 0x5a, 0x65, 0xf9);
DEFINE_GUID(IID_ID3DXKeyframedAnimationSet, 0xfa4e8e3a, 0x9786, 0x407d, 0x8b, 0x4c, 0x59, 0x95, 0x89, 0x37, 0x64, 0xaf);
DEFINE_GUID(IID_ID3DXCompressedAnimationSet, 0x6cc2480d, 0x3808, 0x4739, 0x9f, 0x88, 0xde, 0x49, 0xfa, 0xcd, 0x8d, 0x4c);
DEFINE_GUID(IID_ID3DXAnimationController, 0xac8948ec, 0xf86d, 0x43e2, 0x96, 0xde, 0x31, 0xfc, 0x35, 0xf9, 0x6d, 0x9e);
typedef enum _D3DXMESHDATATYPE
{
D3DXMESHTYPE_MESH = 1,
D3DXMESHTYPE_PMESH = 2,
D3DXMESHTYPE_PATCHMESH = 3,
D3DXMESHTYPE_FORCE_DWORD = 0x7fffffff,
} D3DXMESHDATATYPE;
typedef enum _D3DXCALLBACK_SEARCH_FLAGS
{
D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION = 0x00000001,
D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION = 0x00000002,
D3DXCALLBACK_SEARCH_FORCE_DWORD = 0x7fffffff,
} D3DXCALLBACK_SEARCH_FLAGS;
typedef enum _D3DXPLAYBACK_TYPE
{
D3DXPLAY_LOOP = 0,
D3DXPLAY_ONCE = 1,
D3DXPLAY_PINGPONG = 2,
D3DXPLAY_FORCE_DWORD = 0x7fffffff,
} D3DXPLAYBACK_TYPE;
typedef enum _D3DXCOMPRESSION_FLAGS
{
D3DXCOMPRESSION_DEFAULT = 0x00000000,
D3DXCOMPRESSION_FORCE_DWORD = 0x7fffffff,
} D3DXCOMPRESSION_FLAGS;
typedef enum _D3DXPRIORITY_TYPE
{
D3DXPRIORITY_LOW = 0,
D3DXPRIORITY_HIGH = 1,
D3DXPRIORITY_FORCE_DWORD = 0x7fffffff,
} D3DXPRIORITY_TYPE;
typedef enum _D3DXEVENT_TYPE
{
D3DXEVENT_TRACKSPEED = 0,
D3DXEVENT_TRACKWEIGHT = 1,
D3DXEVENT_TRACKPOSITION = 2,
D3DXEVENT_TRACKENABLE = 3,
D3DXEVENT_PRIORITYBLEND = 4,
D3DXEVENT_FORCE_DWORD = 0x7fffffff,
} D3DXEVENT_TYPE;
typedef enum _D3DXTRANSITION_TYPE
{
D3DXTRANSITION_LINEAR = 0,
D3DXTRANSITION_EASEINEASEOUT = 1,
D3DXTRANSITION_FORCE_DWORD = 0x7fffffff,
} D3DXTRANSITION_TYPE;
typedef struct _D3DXMESHDATA
{
D3DXMESHDATATYPE Type;
union
{
ID3DXMesh *pMesh;
ID3DXPMesh *pPMesh;
ID3DXPatchMesh *pPatchMesh;
} DUMMYUNIONNAME;
} D3DXMESHDATA, *LPD3DXMESHDATA;
typedef struct _D3DXMESHCONTAINER
{
LPSTR Name;
D3DXMESHDATA MeshData;
LPD3DXMATERIAL pMaterials;
LPD3DXEFFECTINSTANCE pEffects;
DWORD NumMaterials;
DWORD *pAdjacency;
ID3DXSkinInfo *pSkinInfo;
struct _D3DXMESHCONTAINER *pNextMeshContainer;
} D3DXMESHCONTAINER, *LPD3DXMESHCONTAINER;
typedef struct _D3DXFRAME
{
LPSTR Name;
D3DXMATRIX TransformationMatrix;
LPD3DXMESHCONTAINER pMeshContainer;
struct _D3DXFRAME *pFrameSibling;
struct _D3DXFRAME *pFrameFirstChild;
} D3DXFRAME, *LPD3DXFRAME;
typedef struct _D3DXKEY_VECTOR3
{
FLOAT Time;
D3DXVECTOR3 Value;
} D3DXKEY_VECTOR3, *LPD3DXKEY_VECTOR3;
typedef struct _D3DXKEY_QUATERNION
{
FLOAT Time;
D3DXQUATERNION Value;
} D3DXKEY_QUATERNION, *LPD3DXKEY_QUATERNION;
typedef struct _D3DXKEY_CALLBACK
{
FLOAT Time;
LPVOID pCallbackData;
} D3DXKEY_CALLBACK, *LPD3DXKEY_CALLBACK;
typedef struct _D3DXTRACK_DESC
{
D3DXPRIORITY_TYPE Priority;
FLOAT Weight;
FLOAT Speed;
DOUBLE Position;
BOOL Enable;
} D3DXTRACK_DESC, *LPD3DXTRACK_DESC;
typedef struct _D3DXEVENT_DESC
{
D3DXEVENT_TYPE Type;
UINT Track;
DOUBLE StartTime;
DOUBLE Duration;
D3DXTRANSITION_TYPE Transition;
union
{
FLOAT Weight;
FLOAT Speed;
DOUBLE Position;
BOOL Enable;
} DUMMYUNIONNAME;
} D3DXEVENT_DESC, *LPD3DXEVENT_DESC;
typedef DWORD D3DXEVENTHANDLE, *LPD3DXEVENTHANDLE;
typedef interface ID3DXAllocateHierarchy *LPD3DXALLOCATEHIERARCHY;
typedef interface ID3DXLoadUserData *LPD3DXLOADUSERDATA;
typedef interface ID3DXSaveUserData *LPD3DXSAVEUSERDATA;
typedef interface ID3DXAnimationSet *LPD3DXANIMATIONSET;
typedef interface ID3DXKeyframedAnimationSet *LPD3DXKEYFRAMEDANIMATIONSET;
typedef interface ID3DXCompressedAnimationSet *LPD3DXCOMPRESSEDANIMATIONSET;
typedef interface ID3DXAnimationCallbackHandler *LPD3DXANIMATIONCALLBACKHANDLER;
typedef interface ID3DXAnimationController *LPD3DXANIMATIONCONTROLLER;
#undef INTERFACE
#define INTERFACE ID3DXAllocateHierarchy
DECLARE_INTERFACE(ID3DXAllocateHierarchy)
{
STDMETHOD(CreateFrame)(THIS_ LPCSTR Name, LPD3DXFRAME *new_frame) PURE;
STDMETHOD(CreateMeshContainer)(THIS_ const char *name, const D3DXMESHDATA *mesh_data,
const D3DXMATERIAL *materials, const D3DXEFFECTINSTANCE *effect_instances,
DWORD num_materials, const DWORD *adjacency, ID3DXSkinInfo *skin_info,
D3DXMESHCONTAINER **new_mesh_container) PURE;
STDMETHOD(DestroyFrame)(THIS_ LPD3DXFRAME frame) PURE;
STDMETHOD(DestroyMeshContainer)(THIS_ LPD3DXMESHCONTAINER mesh_container) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXLoadUserData
DECLARE_INTERFACE(ID3DXLoadUserData)
{
STDMETHOD(LoadTopLevelData)(ID3DXFileData *child_data) PURE;
STDMETHOD(LoadFrameChildData)(D3DXFRAME *frame, ID3DXFileData *child_data) PURE;
STDMETHOD(LoadMeshChildData)(D3DXMESHCONTAINER *mesh_container, ID3DXFileData *child_data) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXSaveUserData
DECLARE_INTERFACE(ID3DXSaveUserData)
{
STDMETHOD(AddFrameChildData)(const D3DXFRAME *frame,
ID3DXFileSaveObject *save_obj, ID3DXFileSaveData *frame_data) PURE;
STDMETHOD(AddMeshChildData)(const D3DXMESHCONTAINER *mesh_container,
ID3DXFileSaveObject *save_obj, ID3DXFileSaveData *mesh_data) PURE;
STDMETHOD(AddTopLevelDataObjectsPre)(ID3DXFileSaveObject *save_obj) PURE;
STDMETHOD(AddTopLevelDataObjectsPost)(ID3DXFileSaveObject *save_obj) PURE;
STDMETHOD(RegisterTemplates)(ID3DXFile *file) PURE;
STDMETHOD(SaveTemplates)(ID3DXFileSaveObject *save_obj) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXAnimationSet
DECLARE_INTERFACE_(ID3DXAnimationSet, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXAnimationSet methods ***/
STDMETHOD_(LPCSTR, GetName)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriod)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriodicPosition)(THIS_ DOUBLE position) PURE;
STDMETHOD_(UINT, GetNumAnimations)(THIS) PURE;
STDMETHOD(GetAnimationNameByIndex)(THIS_ UINT index, LPCSTR *name) PURE;
STDMETHOD(GetAnimationIndexByName)(THIS_ LPCSTR name, UINT *index) PURE;
STDMETHOD(GetSRT)(THIS_ DOUBLE periodic_position, UINT animation, D3DXVECTOR3 *scale,
D3DXQUATERNION *rotation, D3DXVECTOR3 *translation) PURE;
STDMETHOD(GetCallback)(THIS_ DOUBLE position, DWORD flags, DOUBLE *callback_position,
LPVOID *callback_data) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXKeyframedAnimationSet
DECLARE_INTERFACE_(ID3DXKeyframedAnimationSet, ID3DXAnimationSet)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXAnimationSet methods ***/
STDMETHOD_(LPCSTR, GetName)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriod)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriodicPosition)(THIS_ DOUBLE position) PURE;
STDMETHOD_(UINT, GetNumAnimations)(THIS) PURE;
STDMETHOD(GetAnimationNameByIndex)(THIS_ UINT index, LPCSTR *name) PURE;
STDMETHOD(GetAnimationIndexByName)(THIS_ LPCSTR name, UINT *index) PURE;
STDMETHOD(GetSRT)(THIS_ DOUBLE periodic_position, UINT animation, D3DXVECTOR3 *scale,
D3DXQUATERNION *rotation, D3DXVECTOR3 *translation) PURE;
STDMETHOD(GetCallback)(THIS_ DOUBLE position, DWORD flags, DOUBLE *callback_position,
LPVOID *callback_data) PURE;
/*** ID3DXKeyframedAnimationSet methods ***/
STDMETHOD_(D3DXPLAYBACK_TYPE, GetPlaybackType)(THIS) PURE;
STDMETHOD_(DOUBLE, GetSourceTicksPerSecond)(THIS) PURE;
STDMETHOD_(UINT, GetNumScaleKeys)(THIS_ UINT animation) PURE;
STDMETHOD(GetScaleKeys)(THIS_ UINT animation, LPD3DXKEY_VECTOR3 scale_keys) PURE;
STDMETHOD(GetScaleKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_VECTOR3 scale_key) PURE;
STDMETHOD(SetScaleKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_VECTOR3 scale_key) PURE;
STDMETHOD_(UINT, GetNumRotationKeys)(THIS_ UINT animation) PURE;
STDMETHOD(GetRotationKeys)(THIS_ UINT animation, LPD3DXKEY_QUATERNION rotation_keys) PURE;
STDMETHOD(GetRotationKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_QUATERNION rotation_key) PURE;
STDMETHOD(SetRotationKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_QUATERNION rotation_key) PURE;
STDMETHOD_(UINT, GetNumTranslationKeys)(THIS_ UINT animation) PURE;
STDMETHOD(GetTranslationKeys)(THIS_ UINT animation, LPD3DXKEY_VECTOR3 translation_keys) PURE;
STDMETHOD(GetTranslationKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_VECTOR3 translation_key) PURE;
STDMETHOD(SetTranslationKey)(THIS_ UINT animation, UINT key, LPD3DXKEY_VECTOR3 translation_key) PURE;
STDMETHOD_(UINT, GetNumCallbackKeys)(THIS) PURE;
STDMETHOD(GetCallbackKeys)(THIS_ LPD3DXKEY_CALLBACK callback_keys) PURE;
STDMETHOD(GetCallbackKey)(THIS_ UINT key, LPD3DXKEY_CALLBACK callback_key) PURE;
STDMETHOD(SetCallbackKey)(THIS_ UINT key, LPD3DXKEY_CALLBACK callback_key) PURE;
STDMETHOD(UnregisterScaleKey)(THIS_ UINT animation, UINT key) PURE;
STDMETHOD(UnregisterRotationKey)(THIS_ UINT animation, UINT key) PURE;
STDMETHOD(UnregisterTranslationKey)(THIS_ UINT animation, UINT key) PURE;
STDMETHOD(RegisterAnimationSRTKeys)(THIS_ LPCSTR name, UINT num_scale_keys,
UINT num_rotation_keys, UINT num_translation_keys, CONST D3DXKEY_VECTOR3 *scale_keys,
CONST D3DXKEY_QUATERNION *rotation_keys, CONST D3DXKEY_VECTOR3 *translation_keys,
DWORD *animation_index) PURE;
STDMETHOD(Compress)(THIS_ DWORD flags, float lossiness, D3DXFRAME *hierarchy,
ID3DXBuffer **compressed_data) PURE;
STDMETHOD(UnregisterAnimation)(THIS_ UINT index) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXCompressedAnimationSet
DECLARE_INTERFACE_(ID3DXCompressedAnimationSet, ID3DXAnimationSet)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXAnimationSet methods ***/
STDMETHOD_(LPCSTR, GetName)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriod)(THIS) PURE;
STDMETHOD_(DOUBLE, GetPeriodicPosition)(THIS_ DOUBLE position) PURE;
STDMETHOD_(UINT, GetNumAnimations)(THIS) PURE;
STDMETHOD(GetAnimationNameByIndex)(THIS_ UINT index, LPCSTR *name) PURE;
STDMETHOD(GetAnimationIndexByName)(THIS_ LPCSTR name, UINT *index) PURE;
STDMETHOD(GetSRT)(THIS_ DOUBLE periodic_position, UINT animation, D3DXVECTOR3 *scale,
D3DXQUATERNION *rotation, D3DXVECTOR3 *translation) PURE;
STDMETHOD(GetCallback)(THIS_ DOUBLE position, DWORD flags, DOUBLE *callback_position,
LPVOID *callback_data) PURE;
/*** ID3DXCompressedAnimationSet methods ***/
STDMETHOD_(D3DXPLAYBACK_TYPE, GetPlaybackType)(THIS) PURE;
STDMETHOD_(DOUBLE, GetSourceTicksPerSecond)(THIS) PURE;
STDMETHOD(GetCompressedData)(THIS_ ID3DXBuffer **compressed_data) PURE;
STDMETHOD_(UINT, GetNumCallbackKeys)(THIS) PURE;
STDMETHOD(GetCallbackKeys)(THIS_ LPD3DXKEY_CALLBACK callback_keys) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXAnimationCallbackHandler
DECLARE_INTERFACE(ID3DXAnimationCallbackHandler)
{
STDMETHOD(HandleCallback)(THIS_ UINT track, LPVOID callback_data) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXAnimationController
DECLARE_INTERFACE_(ID3DXAnimationController, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXAnimationController methods ***/
STDMETHOD_(UINT, GetMaxNumAnimationOutputs)(THIS) PURE;
STDMETHOD_(UINT, GetMaxNumAnimationSets)(THIS) PURE;
STDMETHOD_(UINT, GetMaxNumTracks)(THIS) PURE;
STDMETHOD_(UINT, GetMaxNumEvents)(THIS) PURE;
STDMETHOD(RegisterAnimationOutput)(THIS_ LPCSTR name, D3DXMATRIX *matrix,
D3DXVECTOR3 *scale, D3DXQUATERNION *rotation, D3DXVECTOR3 *translation) PURE;
STDMETHOD(RegisterAnimationSet)(THIS_ ID3DXAnimationSet *anim_set) PURE;
STDMETHOD(UnregisterAnimationSet)(THIS_ ID3DXAnimationSet *anim_set) PURE;
STDMETHOD_(UINT, GetNumAnimationSets)(THIS) PURE;
STDMETHOD(GetAnimationSet)(THIS_ UINT index, ID3DXAnimationSet **anim_set) PURE;
STDMETHOD(GetAnimationSetByName)(THIS_ const char *name, ID3DXAnimationSet **anim_set) PURE;
STDMETHOD(AdvanceTime)(THIS_ double time_delta, ID3DXAnimationCallbackHandler **callback_handler) PURE;
STDMETHOD(ResetTime)(THIS) PURE;
STDMETHOD_(DOUBLE, GetTime)(THIS) PURE;
STDMETHOD(SetTrackAnimationSet)(THIS_ UINT track, ID3DXAnimationSet *anim_set) PURE;
STDMETHOD(GetTrackAnimationSet)(THIS_ UINT track, ID3DXAnimationSet **anim_set) PURE;
STDMETHOD(GetTrackPriority)(THIS_ UINT track, D3DXPRIORITY_TYPE *priority) PURE;
STDMETHOD(SetTrackSpeed)(THIS_ UINT track, FLOAT speed) PURE;
STDMETHOD(SetTrackWeight)(THIS_ UINT track, FLOAT weight) PURE;
STDMETHOD(SetTrackPosition)(THIS_ UINT track, DOUBLE position) PURE;
STDMETHOD(SetTrackEnable)(THIS_ UINT track, BOOL enable) PURE;
STDMETHOD(SetTrackDesc)(THIS_ UINT track, LPD3DXTRACK_DESC desc) PURE;
STDMETHOD(GetTrackDesc)(THIS_ UINT track, LPD3DXTRACK_DESC desc) PURE;
STDMETHOD(SetPriorityBlend)(THIS_ FLOAT blend_weight) PURE;
STDMETHOD_(FLOAT, GetPriorityBlend)(THIS) PURE;
STDMETHOD_(D3DXEVENTHANDLE, KeyTrackSpeed)(THIS_ UINT track, FLOAT new_speed,
DOUBLE start_time, DOUBLE duration, D3DXTRANSITION_TYPE transition) PURE;
STDMETHOD_(D3DXEVENTHANDLE, KeyTrackWeight)(THIS_ UINT track, FLOAT new_weight,
DOUBLE start_time, DOUBLE duration, D3DXTRANSITION_TYPE transition) PURE;
STDMETHOD_(D3DXEVENTHANDLE, KeyTrackPosition)(THIS_ UINT track, DOUBLE new_position, DOUBLE start_time) PURE;
STDMETHOD_(D3DXEVENTHANDLE, KeyTrackEnable)(THIS_ UINT track, BOOL new_enable, DOUBLE start_time) PURE;
STDMETHOD_(D3DXEVENTHANDLE, KeyPriorityBlend)(THIS_ FLOAT new_blend_weight,
DOUBLE start_time, DOUBLE duration, D3DXTRANSITION_TYPE transition) PURE;
STDMETHOD(UnkeyEvent)(THIS_ D3DXEVENTHANDLE event) PURE;
STDMETHOD(UnkeyAllTrackEvents)(THIS_ UINT track) PURE;
STDMETHOD(UnkeyAllPriorityBlends)(THIS) PURE;
STDMETHOD_(D3DXEVENTHANDLE, GetCurrentTrackEvent)(THIS_ UINT track, D3DXEVENT_TYPE event_type) PURE;
STDMETHOD_(D3DXEVENTHANDLE, GetCurrentPriorityBlend)(THIS) PURE;
STDMETHOD_(D3DXEVENTHANDLE, GetUpcomingTrackEvent)(THIS_ UINT track, D3DXEVENTHANDLE event) PURE;
STDMETHOD_(D3DXEVENTHANDLE, GetUpcomingPriorityBlend)(THIS_ D3DXEVENTHANDLE handle) PURE;
STDMETHOD(ValidateEvent)(THIS_ D3DXEVENTHANDLE event) PURE;
STDMETHOD(GetEventDesc)(THIS_ D3DXEVENTHANDLE event, LPD3DXEVENT_DESC desc) PURE;
STDMETHOD(CloneAnimationController)(THIS_ UINT max_num_anim_outputs, UINT max_num_anim_sets,
UINT max_num_tracks, UINT max_num_events, ID3DXAnimationController **anim_controller) PURE;
};
#undef INTERFACE
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI D3DXLoadMeshHierarchyFromXA(const char *filename, DWORD flags, struct IDirect3DDevice9 *device,
struct ID3DXAllocateHierarchy *alloc, struct ID3DXLoadUserData *user_data_loader,
D3DXFRAME **frame_hierarchy, struct ID3DXAnimationController **animation_controller);
HRESULT WINAPI D3DXLoadMeshHierarchyFromXW(const WCHAR *filename, DWORD flags, struct IDirect3DDevice9 *device,
struct ID3DXAllocateHierarchy *alloc, struct ID3DXLoadUserData *user_data_loader,
D3DXFRAME **frame_hierarchy, struct ID3DXAnimationController **animation_controller);
#define D3DXLoadMeshHierarchyFromX WINELIB_NAME_AW(D3DXLoadMeshHierarchyFromX)
HRESULT WINAPI D3DXLoadMeshHierarchyFromXInMemory(const void *data, DWORD data_size, DWORD flags,
struct IDirect3DDevice9 *device, struct ID3DXAllocateHierarchy *alloc,
struct ID3DXLoadUserData *user_data_loader, D3DXFRAME **frame_hierarchy,
struct ID3DXAnimationController **animation_controller);
HRESULT WINAPI D3DXSaveMeshHierarchyToFileA(const char *filename, DWORD format,
const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller,
ID3DXSaveUserData *user_data_saver);
HRESULT WINAPI D3DXSaveMeshHierarchyToFileW(const WCHAR *filename, DWORD format,
const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller,
ID3DXSaveUserData *user_data_saver);
#define D3DXSaveMeshHierarchyToFile WINELIB_NAME_AW(D3DXSaveMeshHierarchyToFile)
HRESULT WINAPI D3DXFrameDestroy(D3DXFRAME *frame_root, ID3DXAllocateHierarchy *alloc);
HRESULT WINAPI D3DXFrameAppendChild(LPD3DXFRAME, CONST D3DXFRAME*);
LPD3DXFRAME WINAPI D3DXFrameFind(CONST D3DXFRAME*, LPCSTR);
HRESULT WINAPI D3DXFrameRegisterNamedMatrices(D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller);
UINT WINAPI D3DXFrameNumNamedMatrices(CONST D3DXFRAME *frame_root);
HRESULT WINAPI D3DXFrameCalculateBoundingSphere(CONST D3DXFRAME*, LPD3DXVECTOR3, FLOAT*);
HRESULT WINAPI D3DXCreateKeyframedAnimationSet(const char *name, double ticks_per_second,
D3DXPLAYBACK_TYPE playback_type, UINT animation_count, UINT callback_key_count,
const D3DXKEY_CALLBACK *callback_keys, ID3DXKeyframedAnimationSet **animation_set);
HRESULT WINAPI D3DXCreateCompressedAnimationSet(const char *name, double ticks_per_second,
D3DXPLAYBACK_TYPE playback_type, ID3DXBuffer *compressed_data, UINT callback_key_count,
const D3DXKEY_CALLBACK *callback_keys, ID3DXCompressedAnimationSet **animation_set);
HRESULT WINAPI D3DXCreateAnimationController(UINT max_animation_output_count, UINT max_animation_set_count,
UINT max_track_count, UINT max_event_count, ID3DXAnimationController **animation_controller);
#ifdef __cplusplus
}
#endif
#endif /* __WINE_D3DX9ANIM_H */
+49 -39
View File
@@ -28,15 +28,15 @@
implementing all dlls from d3dx9_24 to d3dx9_36 */
#define D3DX_VERSION 0x0902
#define D3DX_SDK_VERSION 36
#define D3DXSPRITE_DONOTSAVESTATE 1
#define D3DXSPRITE_DONOTMODIFY_RENDERSTATE 2
#define D3DXSPRITE_OBJECTSPACE 4
#define D3DXSPRITE_BILLBOARD 8
#define D3DXSPRITE_ALPHABLEND 16
#define D3DXSPRITE_SORT_TEXTURE 32
#define D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 64
#define D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128
#define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 256
#define D3DXSPRITE_DONOTSAVESTATE 0x00000001
#define D3DXSPRITE_DONOTMODIFY_RENDERSTATE 0x00000002
#define D3DXSPRITE_OBJECTSPACE 0x00000004
#define D3DXSPRITE_BILLBOARD 0x00000008
#define D3DXSPRITE_ALPHABLEND 0x00000010
#define D3DXSPRITE_SORT_TEXTURE 0x00000020
#define D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 0x00000040
#define D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 0x00000080
#define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 0x00000100
/**********************************************
******************** GUIDs *******************
@@ -131,22 +131,25 @@ DECLARE_INTERFACE_(ID3DXFont, IUnknown)
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXFont methods ***/
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(GetDescA)(THIS_ D3DXFONT_DESCA *desc) PURE;
STDMETHOD(GetDescW)(THIS_ D3DXFONT_DESCW *desc) PURE;
STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *metrics) PURE;
STDMETHOD_(BOOL, GetTextMetricsW)(THIS_ TEXTMETRICW *metrics) PURE;
STDMETHOD_(HDC, GetDC)(THIS) PURE;
STDMETHOD(GetGlyphData)(THIS_ UINT glyph, LPDIRECT3DTEXTURE9 *texture, RECT *blackbox, POINT *cellinc) PURE;
STDMETHOD(GetGlyphData)(THIS_ UINT glyph, struct IDirect3DTexture9 **texture,
RECT *blackbox, POINT *cellinc) PURE;
STDMETHOD(PreloadCharacters)(THIS_ UINT first, UINT last) PURE;
STDMETHOD(PreloadGlyphs)(THIS_ UINT first, UINT last) PURE;
STDMETHOD(PreloadTextA)(THIS_ LPCSTR string, INT count) PURE;
STDMETHOD(PreloadTextW)(THIS_ LPCWSTR string, INT count) PURE;
STDMETHOD(PreloadTextW)(THIS_ const WCHAR *string, INT count) PURE;
STDMETHOD_(INT, DrawTextA)(THIS_ LPD3DXSPRITE sprite, LPCSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
STDMETHOD_(INT, DrawTextW)(THIS_ LPD3DXSPRITE sprite, LPCWSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
STDMETHOD_(INT, DrawTextA)(THIS_ struct ID3DXSprite *sprite, const char *string,
INT count, RECT *rect, DWORD format, D3DCOLOR color) PURE;
STDMETHOD_(INT, DrawTextW)(THIS_ struct ID3DXSprite *sprite, const WCHAR *string,
INT count, RECT *rect, DWORD format, D3DCOLOR color) PURE;
STDMETHOD(OnLostDevice)(THIS) PURE;
STDMETHOD(OnResetDevice)(THIS) PURE;
@@ -211,7 +214,7 @@ DECLARE_INTERFACE_(ID3DXLine, IUnknown)
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXLine methods ***/
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(Begin)(THIS) PURE;
STDMETHOD(Draw)(THIS_ CONST D3DXVECTOR2 *vertexlist, DWORD vertexlistcount, D3DCOLOR color) PURE;
@@ -300,13 +303,13 @@ DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXRenderToEnvMap methods ***/
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(GetDesc)(THIS_ D3DXRTE_DESC *desc) PURE;
STDMETHOD(BeginCube)(THIS_ LPDIRECT3DCUBETEXTURE9 cubetex) PURE;
STDMETHOD(BeginSphere)(THIS_ LPDIRECT3DTEXTURE9 tex) PURE;
STDMETHOD(BeginHemisphere)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
STDMETHOD(BeginParabolic)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
STDMETHOD(BeginCube)(THIS_ struct IDirect3DCubeTexture9 *cubetex) PURE;
STDMETHOD(BeginSphere)(THIS_ struct IDirect3DTexture9 *tex) PURE;
STDMETHOD(BeginHemisphere)(THIS_ struct IDirect3DTexture9 *texzpos, struct IDirect3DTexture9 *texzneg) PURE;
STDMETHOD(BeginParabolic)(THIS_ struct IDirect3DTexture9 *texzpos, struct IDirect3DTexture9 *texzneg) PURE;
STDMETHOD(Face)(THIS_ D3DCUBEMAP_FACES face, DWORD mipfilter) PURE;
STDMETHOD(End)(THIS_ DWORD mipfilter) PURE;
@@ -367,10 +370,10 @@ DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXRenderToSurface methods ***/
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(GetDesc)(THIS_ D3DXRTS_DESC *desc) PURE;
STDMETHOD(BeginScene)(THIS_ LPDIRECT3DSURFACE9 surface, CONST D3DVIEWPORT9 *viewport) PURE;
STDMETHOD(BeginScene)(THIS_ struct IDirect3DSurface9 *surface, const D3DVIEWPORT9 *viewport) PURE;
STDMETHOD(EndScene)(THIS_ DWORD mipfilter) PURE;
STDMETHOD(OnLostDevice)(THIS) PURE;
@@ -412,7 +415,7 @@ DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXSprite methods ***/
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(GetTransform)(THIS_ D3DXMATRIX *transform) PURE;
STDMETHOD(SetTransform)(THIS_ CONST D3DXMATRIX *transform) PURE;
@@ -420,7 +423,8 @@ DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
STDMETHOD(SetWorldViewLH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
STDMETHOD(Begin)(THIS_ DWORD flags) PURE;
STDMETHOD(Draw)(THIS_ LPDIRECT3DTEXTURE9 texture, CONST RECT *rect, CONST D3DXVECTOR3 *center, CONST D3DXVECTOR3 *position, D3DCOLOR color) PURE;
STDMETHOD(Draw)(THIS_ struct IDirect3DTexture9 *texture, const RECT *rect,
const D3DXVECTOR3 *center, const D3DXVECTOR3 *position, D3DCOLOR color) PURE;
STDMETHOD(Flush)(THIS) PURE;
STDMETHOD(End)(THIS) PURE;
@@ -472,21 +476,27 @@ DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
extern "C" {
#endif
BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers);
HRESULT WINAPI D3DXCreateFontA(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
DWORD precision, DWORD quality, DWORD pitchandfamily, LPCSTR facename, LPD3DXFONT *font);
HRESULT WINAPI D3DXCreateFontW(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
DWORD precision, DWORD quality, DWORD pitchandfamily, LPCWSTR facename, LPD3DXFONT *font);
#define D3DXCreateFont WINELIB_NAME_AW(D3DXCreateFont)
HRESULT WINAPI D3DXCreateFontIndirectA(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCA *desc, LPD3DXFONT *font);
HRESULT WINAPI D3DXCreateFontIndirectW(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCW *desc, LPD3DXFONT *font);
#define D3DXCreateFontIndirect WINELIB_NAME_AW(D3DXCreateFontIndirect)
HRESULT WINAPI D3DXCreateLine(LPDIRECT3DDEVICE9 device, LPD3DXLINE *line);
HRESULT WINAPI D3DXCreateRenderToEnvMap(LPDIRECT3DDEVICE9 device, UINT size, UINT miplevels, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRenderToEnvMap *rtem);
HRESULT WINAPI D3DXCreateRenderToSurface(LPDIRECT3DDEVICE9 device, UINT width, UINT height, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRENDERTOSURFACE *rts);
HRESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 device, LPD3DXSPRITE *sprite);
BOOL WINAPI D3DXDebugMute(BOOL mute);
UINT WINAPI D3DXGetDriverLevel(LPDIRECT3DDEVICE9 device);
BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers);
HRESULT WINAPI D3DXCreateFontA(struct IDirect3DDevice9 *device, INT height, UINT width, UINT weight,
UINT miplevels, BOOL italic, DWORD charset, DWORD precision, DWORD quality, DWORD pitchandfamily,
const char *facename, struct ID3DXFont **font);
HRESULT WINAPI D3DXCreateFontW(struct IDirect3DDevice9 *device, INT height, UINT width, UINT weight,
UINT miplevels, BOOL italic, DWORD charset, DWORD precision, DWORD quality, DWORD pitchandfamily,
const WCHAR *facename, struct ID3DXFont **font);
#define D3DXCreateFont WINELIB_NAME_AW(D3DXCreateFont)
HRESULT WINAPI D3DXCreateFontIndirectA(struct IDirect3DDevice9 *device,
const D3DXFONT_DESCA *desc, struct ID3DXFont **font);
HRESULT WINAPI D3DXCreateFontIndirectW(struct IDirect3DDevice9 *device,
const D3DXFONT_DESCW *desc, struct ID3DXFont **font);
#define D3DXCreateFontIndirect WINELIB_NAME_AW(D3DXCreateFontIndirect)
HRESULT WINAPI D3DXCreateLine(struct IDirect3DDevice9 *device, struct ID3DXLine **line);
HRESULT WINAPI D3DXCreateRenderToEnvMap(struct IDirect3DDevice9 *device, UINT size, UINT miplevels,
D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, struct ID3DXRenderToEnvMap **rtem);
HRESULT WINAPI D3DXCreateRenderToSurface(struct IDirect3DDevice9 *device, UINT width, UINT height,
D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, struct ID3DXRenderToSurface **rts);
HRESULT WINAPI D3DXCreateSprite(struct IDirect3DDevice9 *device, struct ID3DXSprite **sprite);
BOOL WINAPI D3DXDebugMute(BOOL mute);
UINT WINAPI D3DXGetDriverLevel(struct IDirect3DDevice9 *device);
#ifdef __cplusplus
}
+427
View File
@@ -0,0 +1,427 @@
/*
* Copyright 2010 Christian Costa
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <d3dx9.h>
#ifndef __D3DX9EFFECT_H__
#define __D3DX9EFFECT_H__
#define D3DXFX_DONOTSAVESTATE (1 << 0)
#define D3DXFX_DONOTSAVESHADERSTATE (1 << 1)
#define D3DXFX_DONOTSAVESAMPLERSTATE (1 << 2)
#define D3DXFX_NOT_CLONEABLE (1 << 11)
#define D3DXFX_LARGEADDRESSAWARE (1 << 17)
#define D3DX_PARAMETER_SHARED 1
#define D3DX_PARAMETER_LITERAL 2
#define D3DX_PARAMETER_ANNOTATION 4
typedef struct _D3DXEFFECT_DESC {
LPCSTR Creator;
UINT Parameters;
UINT Techniques;
UINT Functions;
} D3DXEFFECT_DESC;
typedef struct _D3DXPARAMETER_DESC {
LPCSTR Name;
LPCSTR Semantic;
D3DXPARAMETER_CLASS Class;
D3DXPARAMETER_TYPE Type;
UINT Rows;
UINT Columns;
UINT Elements;
UINT Annotations;
UINT StructMembers;
DWORD Flags;
UINT Bytes;
} D3DXPARAMETER_DESC;
typedef struct _D3DXTECHNIQUE_DESC {
LPCSTR Name;
UINT Passes;
UINT Annotations;
} D3DXTECHNIQUE_DESC;
typedef struct _D3DXPASS_DESC {
LPCSTR Name;
UINT Annotations;
CONST DWORD *pVertexShaderFunction;
CONST DWORD *pPixelShaderFunction;
} D3DXPASS_DESC;
typedef struct _D3DXFUNCTION_DESC {
LPCSTR Name;
UINT Annotations;
} D3DXFUNCTION_DESC;
typedef struct ID3DXEffectPool *LPD3DXEFFECTPOOL;
DEFINE_GUID(IID_ID3DXEffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
#undef INTERFACE
#define INTERFACE ID3DXEffectPool
DECLARE_INTERFACE_(ID3DXEffectPool, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
};
#undef INTERFACE
typedef struct ID3DXBaseEffect *LPD3DXBASEEFFECT;
DEFINE_GUID(IID_ID3DXBaseEffect, 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe);
#define INTERFACE ID3DXBaseEffect
DECLARE_INTERFACE_(ID3DXBaseEffect, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXBaseEffect methods ***/
STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
};
#undef INTERFACE
typedef struct ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;
DEFINE_GUID(IID_ID3DXEffectStateManager, 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce);
#define INTERFACE ID3DXEffectStateManager
DECLARE_INTERFACE_(ID3DXEffectStateManager, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXEffectStateManager methods ***/
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX* matrix) PURE;
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* material) PURE;
STDMETHOD(SetLight)(THIS_ DWORD index, CONST D3DLIGHT9* light) PURE;
STDMETHOD(LightEnable)(THIS_ DWORD index, BOOL enable) PURE;
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE state, DWORD value) PURE;
STDMETHOD(SetTexture)(THIS_ DWORD stage, struct IDirect3DBaseTexture9 *texture) PURE;
STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value) PURE;
STDMETHOD(SetSamplerState)(THIS_ DWORD sampler, D3DSAMPLERSTATETYPE type, DWORD value) PURE;
STDMETHOD(SetNPatchMode)(THIS_ FLOAT num_segments) PURE;
STDMETHOD(SetFVF)(THIS_ DWORD format) PURE;
STDMETHOD(SetVertexShader)(THIS_ struct IDirect3DVertexShader9 *shader) PURE;
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT register_index, CONST INT* constant_data, UINT register_count) PURE;
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
STDMETHOD(SetPixelShader)(THIS_ struct IDirect3DPixelShader9 *shader) PURE;
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT register_index, CONST INT * constant_data, UINT register_count) PURE;
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
};
#undef INTERFACE
typedef struct ID3DXEffect *LPD3DXEFFECT;
DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
#define INTERFACE ID3DXEffect
DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXBaseEffect methods ***/
STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
/*** ID3DXEffect methods ***/
STDMETHOD(GetPool)(THIS_ ID3DXEffectPool **pool) PURE;
STDMETHOD(SetTechnique)(THIS_ D3DXHANDLE technique) PURE;
STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE technique) PURE;
STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE technique, D3DXHANDLE* next_technique) PURE;
STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
STDMETHOD(Begin)(THIS_ UINT *passes, DWORD flags) PURE;
STDMETHOD(BeginPass)(THIS_ UINT pass) PURE;
STDMETHOD(CommitChanges)(THIS) PURE;
STDMETHOD(EndPass)(THIS) PURE;
STDMETHOD(End)(THIS) PURE;
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
STDMETHOD(OnLostDevice)(THIS) PURE;
STDMETHOD(OnResetDevice)(THIS) PURE;
STDMETHOD(SetStateManager)(THIS_ ID3DXEffectStateManager *manager) PURE;
STDMETHOD(GetStateManager)(THIS_ ID3DXEffectStateManager **manager) PURE;
STDMETHOD(BeginParameterBlock)(THIS) PURE;
STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
STDMETHOD(CloneEffect)(THIS_ struct IDirect3DDevice9 *device, struct ID3DXEffect **effect) PURE;
STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT byte_offset, UINT bytes) PURE;
};
#undef INTERFACE
typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
DEFINE_GUID(IID_ID3DXEffectCompiler, 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0);
#define INTERFACE ID3DXEffectCompiler
DECLARE_INTERFACE_(ID3DXEffectCompiler, ID3DXBaseEffect)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/*** ID3DXBaseEffect methods ***/
STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
/*** ID3DXEffectCompiler methods ***/
STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
STDMETHOD(CompileEffect)(THIS_ DWORD flags, ID3DXBuffer **effect, ID3DXBuffer **error_msgs) PURE;
STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, const char *target, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_msgs, ID3DXConstantTable **constant_table) PURE;
};
#undef INTERFACE
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI D3DXCreateEffectPool(ID3DXEffectPool **pool);
HRESULT WINAPI D3DXCreateEffect(struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatalen,
const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectEx(struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatalen,
const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectCompiler(const char *srcdata, UINT srcdatalen, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **compiler, ID3DXBuffer **parse_errors);
HRESULT WINAPI D3DXCreateEffectFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
#define D3DXCreateEffectFromFileEx WINELIB_NAME_AW(D3DXCreateEffectFromFileEx)
HRESULT WINAPI D3DXCreateEffectFromFileA(struct IDirect3DDevice9 *device, const char *srcfile,
const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectFromFileW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
#define D3DXCreateEffectFromFile WINELIB_NAME_AW(D3DXCreateEffectFromFile)
HRESULT WINAPI D3DXCreateEffectFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const char *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include,
const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool,
struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const WCHAR *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include,
const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool,
struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
#define D3DXCreateEffectFromResourceEx WINELIB_NAME_AW(D3DXCreateEffectFromResourceEx)
HRESULT WINAPI D3DXCreateEffectFromResourceA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const char *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
HRESULT WINAPI D3DXCreateEffectFromResourceW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const WCHAR *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags,
struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors);
#define D3DXCreateEffectFromResource WINELIB_NAME_AW(D3DXCreateEffectFromResource)
HRESULT WINAPI D3DXCreateEffectCompilerFromFileA(const char *srcfile, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors);
HRESULT WINAPI D3DXCreateEffectCompilerFromFileW(const WCHAR *srcfile, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors);
#define D3DXCreateEffectCompilerFromFile WINELIB_NAME_AW(D3DXCreateEffectCompilerFromFile)
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceA(HMODULE srcmodule, const char *srcresource,
const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags,
ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors);
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceW(HMODULE srcmodule, const WCHAR *srcresource,
const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags,
ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors);
#define D3DXCreateEffectCompilerFromResource WINELIB_NAME_AW(D3DXCreateEffectCompilerFromResource)
#ifdef __cplusplus
}
#endif
#endif /* __D3DX9EFFECT_H__ */
+184 -142
View File
@@ -27,38 +27,39 @@
#define D3DX_PI ((FLOAT)3.141592654)
#define D3DX_1BYPI ((FLOAT)0.318309886)
#define D3DXSH_MINORDER 2
#define D3DXSH_MAXORDER 6
#define D3DXToRadian(degree) ((degree) * (D3DX_PI / 180.0f))
#define D3DXToDegree(radian) ((radian) * (180.0f / D3DX_PI))
typedef struct D3DXVECTOR2
{
#ifdef __cplusplus
D3DXVECTOR2();
D3DXVECTOR2(CONST FLOAT *pf);
D3DXVECTOR2(const FLOAT *pf);
D3DXVECTOR2(FLOAT fx, FLOAT fy);
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXVECTOR2& operator += (CONST D3DXVECTOR2&);
D3DXVECTOR2& operator -= (CONST D3DXVECTOR2&);
D3DXVECTOR2& operator += (const D3DXVECTOR2&);
D3DXVECTOR2& operator -= (const D3DXVECTOR2&);
D3DXVECTOR2& operator *= (FLOAT);
D3DXVECTOR2& operator /= (FLOAT);
D3DXVECTOR2 operator + () const;
D3DXVECTOR2 operator - () const;
D3DXVECTOR2 operator + (CONST D3DXVECTOR2&) const;
D3DXVECTOR2 operator - (CONST D3DXVECTOR2&) const;
D3DXVECTOR2 operator + (const D3DXVECTOR2&) const;
D3DXVECTOR2 operator - (const D3DXVECTOR2&) const;
D3DXVECTOR2 operator * (FLOAT) const;
D3DXVECTOR2 operator / (FLOAT) const;
friend D3DXVECTOR2 operator * (FLOAT, CONST D3DXVECTOR2&);
friend D3DXVECTOR2 operator * (FLOAT, const D3DXVECTOR2&);
BOOL operator == (CONST D3DXVECTOR2&) const;
BOOL operator != (CONST D3DXVECTOR2&) const;
BOOL operator == (const D3DXVECTOR2&) const;
BOOL operator != (const D3DXVECTOR2&) const;
#endif /* __cplusplus */
FLOAT x, y;
} D3DXVECTOR2, *LPD3DXVECTOR2;
@@ -67,30 +68,30 @@ typedef struct D3DXVECTOR2
typedef struct D3DXVECTOR3 : public D3DVECTOR
{
D3DXVECTOR3();
D3DXVECTOR3(CONST FLOAT *pf);
D3DXVECTOR3(CONST D3DVECTOR& v);
D3DXVECTOR3(const FLOAT *pf);
D3DXVECTOR3(const D3DVECTOR& v);
D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz);
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXVECTOR3& operator += (CONST D3DXVECTOR3&);
D3DXVECTOR3& operator -= (CONST D3DXVECTOR3&);
D3DXVECTOR3& operator += (const D3DXVECTOR3&);
D3DXVECTOR3& operator -= (const D3DXVECTOR3&);
D3DXVECTOR3& operator *= (FLOAT);
D3DXVECTOR3& operator /= (FLOAT);
D3DXVECTOR3 operator + () const;
D3DXVECTOR3 operator - () const;
D3DXVECTOR3 operator + (CONST D3DXVECTOR3&) const;
D3DXVECTOR3 operator - (CONST D3DXVECTOR3&) const;
D3DXVECTOR3 operator + (const D3DXVECTOR3&) const;
D3DXVECTOR3 operator - (const D3DXVECTOR3&) const;
D3DXVECTOR3 operator * (FLOAT) const;
D3DXVECTOR3 operator / (FLOAT) const;
friend D3DXVECTOR3 operator * (FLOAT, CONST struct D3DXVECTOR3&);
friend D3DXVECTOR3 operator * (FLOAT, const struct D3DXVECTOR3&);
BOOL operator == (CONST D3DXVECTOR3&) const;
BOOL operator != (CONST D3DXVECTOR3&) const;
BOOL operator == (const D3DXVECTOR3&) const;
BOOL operator != (const D3DXVECTOR3&) const;
} D3DXVECTOR3, *LPD3DXVECTOR3;
#else /* !__cplusplus */
typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
@@ -100,29 +101,29 @@ typedef struct D3DXVECTOR4
{
#ifdef __cplusplus
D3DXVECTOR4();
D3DXVECTOR4(CONST FLOAT *pf);
D3DXVECTOR4(const FLOAT *pf);
D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXVECTOR4& operator += (CONST D3DXVECTOR4&);
D3DXVECTOR4& operator -= (CONST D3DXVECTOR4&);
D3DXVECTOR4& operator += (const D3DXVECTOR4&);
D3DXVECTOR4& operator -= (const D3DXVECTOR4&);
D3DXVECTOR4& operator *= (FLOAT);
D3DXVECTOR4& operator /= (FLOAT);
D3DXVECTOR4 operator + () const;
D3DXVECTOR4 operator - () const;
D3DXVECTOR4 operator + (CONST D3DXVECTOR4&) const;
D3DXVECTOR4 operator - (CONST D3DXVECTOR4&) const;
D3DXVECTOR4 operator + (const D3DXVECTOR4&) const;
D3DXVECTOR4 operator - (const D3DXVECTOR4&) const;
D3DXVECTOR4 operator * (FLOAT) const;
D3DXVECTOR4 operator / (FLOAT) const;
friend D3DXVECTOR4 operator * (FLOAT, CONST D3DXVECTOR4&);
friend D3DXVECTOR4 operator * (FLOAT, const D3DXVECTOR4&);
BOOL operator == (CONST D3DXVECTOR4&) const;
BOOL operator != (CONST D3DXVECTOR4&) const;
BOOL operator == (const D3DXVECTOR4&) const;
BOOL operator != (const D3DXVECTOR4&) const;
#endif /* __cplusplus */
FLOAT x, y, z, w;
} D3DXVECTOR4, *LPD3DXVECTOR4;
@@ -131,8 +132,8 @@ typedef struct D3DXVECTOR4
typedef struct D3DXMATRIX : public D3DMATRIX
{
D3DXMATRIX();
D3DXMATRIX(CONST FLOAT *pf);
D3DXMATRIX(CONST D3DMATRIX& mat);
D3DXMATRIX(const FLOAT *pf);
D3DXMATRIX(const D3DMATRIX& mat);
D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
@@ -142,27 +143,27 @@ typedef struct D3DXMATRIX : public D3DMATRIX
FLOAT operator () (UINT row, UINT col) const;
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXMATRIX& operator *= (CONST D3DXMATRIX&);
D3DXMATRIX& operator += (CONST D3DXMATRIX&);
D3DXMATRIX& operator -= (CONST D3DXMATRIX&);
D3DXMATRIX& operator *= (const D3DXMATRIX&);
D3DXMATRIX& operator += (const D3DXMATRIX&);
D3DXMATRIX& operator -= (const D3DXMATRIX&);
D3DXMATRIX& operator *= (FLOAT);
D3DXMATRIX& operator /= (FLOAT);
D3DXMATRIX operator + () const;
D3DXMATRIX operator - () const;
D3DXMATRIX operator * (CONST D3DXMATRIX&) const;
D3DXMATRIX operator + (CONST D3DXMATRIX&) const;
D3DXMATRIX operator - (CONST D3DXMATRIX&) const;
D3DXMATRIX operator * (const D3DXMATRIX&) const;
D3DXMATRIX operator + (const D3DXMATRIX&) const;
D3DXMATRIX operator - (const D3DXMATRIX&) const;
D3DXMATRIX operator * (FLOAT) const;
D3DXMATRIX operator / (FLOAT) const;
friend D3DXMATRIX operator * (FLOAT, CONST D3DXMATRIX&);
friend D3DXMATRIX operator * (FLOAT, const D3DXMATRIX&);
BOOL operator == (CONST D3DXMATRIX&) const;
BOOL operator != (CONST D3DXMATRIX&) const;
BOOL operator == (const D3DXMATRIX&) const;
BOOL operator != (const D3DXMATRIX&) const;
} D3DXMATRIX, *LPD3DXMATRIX;
#else /* !__cplusplus */
typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
@@ -172,31 +173,31 @@ typedef struct D3DXQUATERNION
{
#ifdef __cplusplus
D3DXQUATERNION();
D3DXQUATERNION(CONST FLOAT *pf);
D3DXQUATERNION(const FLOAT *pf);
D3DXQUATERNION(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXQUATERNION& operator += (CONST D3DXQUATERNION&);
D3DXQUATERNION& operator -= (CONST D3DXQUATERNION&);
D3DXQUATERNION& operator *= (CONST D3DXQUATERNION&);
D3DXQUATERNION& operator += (const D3DXQUATERNION&);
D3DXQUATERNION& operator -= (const D3DXQUATERNION&);
D3DXQUATERNION& operator *= (const D3DXQUATERNION&);
D3DXQUATERNION& operator *= (FLOAT);
D3DXQUATERNION& operator /= (FLOAT);
D3DXQUATERNION operator + () const;
D3DXQUATERNION operator - () const;
D3DXQUATERNION operator + (CONST D3DXQUATERNION&) const;
D3DXQUATERNION operator - (CONST D3DXQUATERNION&) const;
D3DXQUATERNION operator * (CONST D3DXQUATERNION&) const;
D3DXQUATERNION operator + (const D3DXQUATERNION&) const;
D3DXQUATERNION operator - (const D3DXQUATERNION&) const;
D3DXQUATERNION operator * (const D3DXQUATERNION&) const;
D3DXQUATERNION operator * (FLOAT) const;
D3DXQUATERNION operator / (FLOAT) const;
friend D3DXQUATERNION operator * (FLOAT, CONST D3DXQUATERNION&);
friend D3DXQUATERNION operator * (FLOAT, const D3DXQUATERNION&);
BOOL operator == (CONST D3DXQUATERNION&) const;
BOOL operator != (CONST D3DXQUATERNION&) const;
BOOL operator == (const D3DXQUATERNION&) const;
BOOL operator != (const D3DXQUATERNION&) const;
#endif /* __cplusplus */
FLOAT x, y, z, w;
} D3DXQUATERNION, *LPD3DXQUATERNION;
@@ -205,17 +206,17 @@ typedef struct D3DXPLANE
{
#ifdef __cplusplus
D3DXPLANE();
D3DXPLANE(CONST FLOAT *pf);
D3DXPLANE(const FLOAT *pf);
D3DXPLANE(FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd);
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
D3DXPLANE operator + () const;
D3DXPLANE operator - () const;
BOOL operator == (CONST D3DXPLANE&) const;
BOOL operator != (CONST D3DXPLANE&) const;
BOOL operator == (const D3DXPLANE&) const;
BOOL operator != (const D3DXPLANE&) const;
#endif /* __cplusplus */
FLOAT a, b, c, d;
} D3DXPLANE, *LPD3DXPLANE;
@@ -225,64 +226,80 @@ typedef struct D3DXCOLOR
#ifdef __cplusplus
D3DXCOLOR();
D3DXCOLOR(DWORD col);
D3DXCOLOR(CONST FLOAT *pf);
D3DXCOLOR(CONST D3DCOLORVALUE& col);
D3DXCOLOR(const FLOAT *pf);
D3DXCOLOR(const D3DCOLORVALUE& col);
D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa);
operator DWORD () const;
operator FLOAT* ();
operator CONST FLOAT* () const;
operator const FLOAT* () const;
operator D3DCOLORVALUE* ();
operator CONST D3DCOLORVALUE* () const;
operator const D3DCOLORVALUE* () const;
operator D3DCOLORVALUE& ();
operator CONST D3DCOLORVALUE& () const;
operator const D3DCOLORVALUE& () const;
D3DXCOLOR& operator += (CONST D3DXCOLOR&);
D3DXCOLOR& operator -= (CONST D3DXCOLOR&);
D3DXCOLOR& operator += (const D3DXCOLOR&);
D3DXCOLOR& operator -= (const D3DXCOLOR&);
D3DXCOLOR& operator *= (FLOAT);
D3DXCOLOR& operator /= (FLOAT);
D3DXCOLOR operator + () const;
D3DXCOLOR operator - () const;
D3DXCOLOR operator + (CONST D3DXCOLOR&) const;
D3DXCOLOR operator - (CONST D3DXCOLOR&) const;
D3DXCOLOR operator + (const D3DXCOLOR&) const;
D3DXCOLOR operator - (const D3DXCOLOR&) const;
D3DXCOLOR operator * (FLOAT) const;
D3DXCOLOR operator / (FLOAT) const;
friend D3DXCOLOR operator * (FLOAT, CONST D3DXCOLOR&);
friend D3DXCOLOR operator * (FLOAT, const D3DXCOLOR&);
BOOL operator == (CONST D3DXCOLOR&) const;
BOOL operator != (CONST D3DXCOLOR&) const;
BOOL operator == (const D3DXCOLOR&) const;
BOOL operator != (const D3DXCOLOR&) const;
#endif /* __cplusplus */
FLOAT r, g, b, a;
} D3DXCOLOR, *LPD3DXCOLOR;
typedef struct D3DXFLOAT16
{
#ifdef __cplusplus
D3DXFLOAT16();
D3DXFLOAT16(FLOAT f);
D3DXFLOAT16(const D3DXFLOAT16 &f);
operator FLOAT ();
BOOL operator == (const D3DXFLOAT16 &) const;
BOOL operator != (const D3DXFLOAT16 &) const;
#endif /* __cplusplus */
WORD value;
} D3DXFLOAT16, *LPD3DXFLOAT16;
#ifdef __cplusplus
extern "C" {
#endif
D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s);
D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s);
FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex);
D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR3 *rotationcenter, CONST D3DXQUATERNION *rotation, CONST D3DXVECTOR3 *translation);
D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, CONST D3DXMATRIX *pm);
FLOAT WINAPI D3DXMatrixDeterminant(CONST D3DXMATRIX *pm);
D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONST D3DXMATRIX *pm);
D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
D3DXMATRIX* WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
D3DXMATRIX* WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR3 *rotationcenter, const D3DXQUATERNION *rotation,
const D3DXVECTOR3 *translation);
D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR2 *protationcenter, FLOAT rotation,
const D3DXVECTOR2 *ptranslation);
HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, const D3DXMATRIX *pm);
FLOAT WINAPI D3DXMatrixDeterminant(const D3DXMATRIX *pm);
D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, const D3DXMATRIX *pm);
D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup);
D3DXMATRIX* WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup);
D3DXMATRIX* WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2);
D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2);
D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
@@ -290,73 +307,98 @@ D3DXMATRIX* WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, F
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
D3DXMATRIX* WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, CONST D3DXPLANE *pplane);
D3DXMATRIX* WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, CONST D3DXQUATERNION *pq);
D3DXMATRIX* WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, const D3DXPLANE *pplane);
D3DXMATRIX* WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pout, const D3DXVECTOR3 *pv, FLOAT angle);
D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, const D3DXQUATERNION *pq);
D3DXMATRIX* WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle);
D3DXMATRIX* WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle);
D3DXMATRIX* WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
D3DXMATRIX* WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle);
D3DXMATRIX* WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz);
D3DXMATRIX* WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, CONST D3DXVECTOR4 *plight, CONST D3DXPLANE *pPlane);
D3DXMATRIX* WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pscalingcenter, CONST D3DXQUATERNION *pscalingrotation, CONST D3DXVECTOR3 *pscaling, CONST D3DXVECTOR3 *protationcenter, CONST D3DXQUATERNION *protation, CONST D3DXVECTOR3 *ptranslation);
D3DXMATRIX* WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, CONST D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, CONST D3DXVECTOR2 *pscaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
D3DXMATRIX* WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, const D3DXVECTOR4 *plight, const D3DXPLANE *pPlane);
D3DXMATRIX* WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, const D3DXVECTOR3 *pscalingcenter, const D3DXQUATERNION *pscalingrotation, const D3DXVECTOR3 *pscaling, const D3DXVECTOR3 *protationcenter,
const D3DXQUATERNION *protation, const D3DXVECTOR3 *ptranslation);
D3DXMATRIX* WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, const D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, const D3DXVECTOR2 *pscaling,
const D3DXVECTOR2 *protationcenter, FLOAT rotation, const D3DXVECTOR2 *ptranslation);
D3DXMATRIX* WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z);
D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm);
D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm);
D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, CONST D3DXVECTOR3 *pvpoint, CONST D3DXVECTOR3 *pvnormal);
D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3);
D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, CONST D3DXPLANE *pp, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2);
D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE *pout, CONST D3DXPLANE *pp);
D3DXPLANE* WINAPI D3DXPlaneTransform(D3DXPLANE *pout, CONST D3DXPLANE *pplane, CONST D3DXMATRIX *pm);
D3DXPLANE* WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, CONST D3DXPLANE *pplane, UINT pstride, CONST D3DXMATRIX *pm, UINT n);
D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, const D3DXVECTOR3 *pvpoint, const D3DXVECTOR3 *pvnormal);
D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3);
D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, const D3DXPLANE *pp, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2);
D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE *pout, const D3DXPLANE *pp);
D3DXPLANE* WINAPI D3DXPlaneTransform(D3DXPLANE *pout, const D3DXPLANE *pplane, const D3DXMATRIX *pm);
D3DXPLANE* WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, const D3DXPLANE *pplane, UINT pstride, const D3DXMATRIX *pm, UINT n);
D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, FLOAT f, FLOAT g);
D3DXQUATERNION* WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionLn(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2);
D3DXQUATERNION* WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
D3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pout, CONST D3DXMATRIX *pm);
D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3, FLOAT f, FLOAT g);
D3DXQUATERNION* WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, const D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, const D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionLn(D3DXQUATERNION *pout, const D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2);
D3DXQUATERNION* WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pout, const D3DXQUATERNION *pq);
D3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pout, const D3DXVECTOR3 *pv, FLOAT angle);
D3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pout, const D3DXMATRIX *pm);
D3DXQUATERNION* WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
D3DXQUATERNION* WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, FLOAT t);
D3DXQUATERNION* WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, CONST D3DXQUATERNION *pq4, FLOAT t);
void WINAPI D3DXQuaternionToAxisAngle(CONST D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle);
D3DXQUATERNION* WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, FLOAT t);
D3DXQUATERNION* WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3,
const D3DXQUATERNION *pq4, FLOAT t);
void WINAPI D3DXQuaternionSquadSetup(D3DXQUATERNION *paout, D3DXQUATERNION *pbout, D3DXQUATERNION *pcout, const D3DXQUATERNION *pq0,
const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3);
void WINAPI D3DXQuaternionToAxisAngle(const D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle);
D3DXVECTOR2* WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv0, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT s);
D3DXVECTOR2* WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pt1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pt2, FLOAT s);
D3DXVECTOR2* WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv);
D3DXVECTOR4* WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR2* WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR2* WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR2* WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv0, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT s);
D3DXVECTOR2* WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pt1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pt2, FLOAT s);
D3DXVECTOR2* WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv);
D3DXVECTOR4* WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR2* WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm);
D3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR2* WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm);
D3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR3* WINAPI D3DXVec3CatmullRom( D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv0, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT s);
D3DXVECTOR3* WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pt1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pt2, FLOAT s);
D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv);
D3DXVECTOR3* WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
D3DXVECTOR3* WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
D3DXVECTOR4* WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR3* WINAPI D3DXVec3CatmullRom( D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv0, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT s);
D3DXVECTOR3* WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pt1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pt2, FLOAT s);
D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv);
D3DXVECTOR3* WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection,
const D3DXMATRIX *pview, const D3DXMATRIX *pworld);
D3DXVECTOR3* WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DVIEWPORT9 *pviewport,
const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld, UINT n);
D3DXVECTOR4* WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm);
D3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm);
D3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR3* WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection,
const D3DXMATRIX *pview, const D3DXMATRIX *pworld);
D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DVIEWPORT9 *pviewport,
const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld, UINT n);
D3DXVECTOR4* WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR4* WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv0, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT s);
D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3);
D3DXVECTOR4* WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pt1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pt2, FLOAT s);
D3DXVECTOR4* WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv);
D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv, const D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR4 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n);
D3DXVECTOR4* WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT f, FLOAT g);
D3DXVECTOR4* WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv0, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT s);
D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3);
D3DXVECTOR4* WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pt1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pt2, FLOAT s);
D3DXVECTOR4* WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv);
D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR4 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
D3DXFLOAT16 *WINAPI D3DXFloat32To16Array(D3DXFLOAT16 *pout, const FLOAT *pin, UINT n);
FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pout, const D3DXFLOAT16 *pin, UINT n);
FLOAT* WINAPI D3DXSHAdd(FLOAT *out, UINT order, const FLOAT *a, const FLOAT *b);
FLOAT WINAPI D3DXSHDot(UINT order, const FLOAT *a, const FLOAT *b);
HRESULT WINAPI D3DXSHEvalConeLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
FLOAT* WINAPI D3DXSHEvalDirection(FLOAT *out, UINT order, const D3DXVECTOR3 *dir);
HRESULT WINAPI D3DXSHEvalDirectionalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
HRESULT WINAPI D3DXSHEvalHemisphereLight(UINT order, const D3DXVECTOR3 *dir, D3DXCOLOR top, D3DXCOLOR bottom, FLOAT *rout, FLOAT *gout, FLOAT *bout);
HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
FLOAT* WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b);
FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b);
FLOAT* WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b);
FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in);
FLOAT* WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in);
FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale);
#ifdef __cplusplus
}
@@ -378,11 +420,11 @@ DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
STDMETHOD(Pop)(THIS) PURE;
STDMETHOD(Push)(THIS) PURE;
STDMETHOD(LoadIdentity)(THIS) PURE;
STDMETHOD(LoadMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
STDMETHOD(MultMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
STDMETHOD(MultMatrixLocal)(THIS_ CONST D3DXMATRIX* pM ) PURE;
STDMETHOD(RotateAxis)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
STDMETHOD(RotateAxisLocal)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
STDMETHOD(LoadMatrix)(THIS_ const D3DXMATRIX* pM ) PURE;
STDMETHOD(MultMatrix)(THIS_ const D3DXMATRIX* pM ) PURE;
STDMETHOD(MultMatrixLocal)(THIS_ const D3DXMATRIX* pM ) PURE;
STDMETHOD(RotateAxis)(THIS_ const D3DXVECTOR3* pV, FLOAT Angle) PURE;
STDMETHOD(RotateAxisLocal)(THIS_ const D3DXVECTOR3* pV, FLOAT Angle) PURE;
STDMETHOD(RotateYawPitchRoll)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
STDMETHOD(RotateYawPitchRollLocal)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
STDMETHOD(Scale)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
@@ -421,7 +463,7 @@ DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
extern "C" {
#endif
HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, LPD3DXMATRIXSTACK* ppstack);
HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, ID3DXMatrixStack **stack);
#ifdef __cplusplus
}
+59 -29
View File
@@ -557,13 +557,11 @@ inline D3DXQUATERNION& D3DXQUATERNION::operator -= (CONST D3DXQUATERNION& quat)
return *this;
}
/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
inline D3DXQUATERNION& D3DXQUATERNION::operator *= (CONST D3DXQUATERNION& quat)
{
D3DXQuaternionMultiply(this, this, &quat);
return *this;
}
*/
inline D3DXQUATERNION& D3DXQUATERNION::operator *= (FLOAT f)
{
@@ -604,14 +602,12 @@ inline D3DXQUATERNION D3DXQUATERNION::operator - (CONST D3DXQUATERNION& quat) co
return D3DXQUATERNION(x - quat.x, y - quat.y, z - quat.z, w - quat.w);
}
/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
inline D3DXQUATERNION D3DXQUATERNION::operator * (CONST D3DXQUATERNION& quat) const
{
D3DXQUATERNION buf;
D3DXQuaternionMultiply(&buf, this, &quat);
return buf;
}
*/
inline D3DXQUATERNION D3DXQUATERNION::operator * (FLOAT f) const
{
@@ -851,6 +847,37 @@ inline BOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
return r != col.r || g != col.g || b != col.b || a != col.a;
}
inline D3DXFLOAT16::D3DXFLOAT16()
{
}
inline D3DXFLOAT16::D3DXFLOAT16(FLOAT f)
{
D3DXFloat32To16Array(this, &f, 1);
}
inline D3DXFLOAT16::D3DXFLOAT16(CONST D3DXFLOAT16 &f)
{
value = f.value;
}
inline D3DXFLOAT16::operator FLOAT ()
{
FLOAT f;
D3DXFloat16To32Array(&f, this, 1);
return f;
}
inline BOOL D3DXFLOAT16::operator == (CONST D3DXFLOAT16 &f) const
{
return value == f.value;
}
inline BOOL D3DXFLOAT16::operator != (CONST D3DXFLOAT16 &f) const
{
return value != f.value;
}
#endif /* __cplusplus */
/*_______________D3DXCOLOR_____________________*/
@@ -940,7 +967,7 @@ static inline FLOAT D3DXVec2Dot(CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
static inline FLOAT D3DXVec2Length(CONST D3DXVECTOR2 *pv)
{
if (!pv) return 0.0f;
return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) );
return sqrtf( pv->x * pv->x + pv->y * pv->y );
}
static inline FLOAT D3DXVec2LengthSq(CONST D3DXVECTOR2 *pv)
@@ -960,16 +987,16 @@ static inline D3DXVECTOR2* D3DXVec2Lerp(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv
static inline D3DXVECTOR2* D3DXVec2Maximize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = max(pv1->x , pv2->x);
pout->y = max(pv1->y , pv2->y);
pout->x = pv1->x > pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y > pv2->y ? pv1->y : pv2->y;
return pout;
}
static inline D3DXVECTOR2* D3DXVec2Minimize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = min(pv1->x , pv2->x);
pout->y = min(pv1->y , pv2->y);
pout->x = pv1->x < pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y < pv2->y ? pv1->y : pv2->y;
return pout;
}
@@ -1002,10 +1029,13 @@ static inline D3DXVECTOR3* D3DXVec3Add(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1
static inline D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
{
D3DXVECTOR3 temp;
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = (pv1->y) * (pv2->z) - (pv1->z) * (pv2->y);
pout->y = (pv1->z) * (pv2->x) - (pv1->x) * (pv2->z);
pout->z = (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x);
temp.x = (pv1->y) * (pv2->z) - (pv1->z) * (pv2->y);
temp.y = (pv1->z) * (pv2->x) - (pv1->x) * (pv2->z);
temp.z = (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x);
*pout = temp;
return pout;
}
@@ -1018,7 +1048,7 @@ static inline FLOAT D3DXVec3Dot(CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
static inline FLOAT D3DXVec3Length(CONST D3DXVECTOR3 *pv)
{
if (!pv) return 0.0f;
return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) );
return sqrtf( pv->x * pv->x + pv->y * pv->y + pv->z * pv->z );
}
static inline FLOAT D3DXVec3LengthSq(CONST D3DXVECTOR3 *pv)
@@ -1039,18 +1069,18 @@ static inline D3DXVECTOR3* D3DXVec3Lerp(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv
static inline D3DXVECTOR3* D3DXVec3Maximize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = max(pv1->x , pv2->x);
pout->y = max(pv1->y , pv2->y);
pout->z = max(pv1->z , pv2->z);
pout->x = pv1->x > pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y > pv2->y ? pv1->y : pv2->y;
pout->z = pv1->z > pv2->z ? pv1->z : pv2->z;
return pout;
}
static inline D3DXVECTOR3* D3DXVec3Minimize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = min(pv1->x , pv2->x);
pout->y = min(pv1->y , pv2->y);
pout->z = min(pv1->z , pv2->z);
pout->x = pv1->x < pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y < pv2->y ? pv1->y : pv2->y;
pout->z = pv1->z < pv2->z ? pv1->z : pv2->z;
return pout;
}
@@ -1092,7 +1122,7 @@ static inline FLOAT D3DXVec4Dot(CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
static inline FLOAT D3DXVec4Length(CONST D3DXVECTOR4 *pv)
{
if (!pv) return 0.0f;
return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) + (pv->w) * (pv->w) );
return sqrtf( pv->x * pv->x + pv->y * pv->y + pv->z * pv->z + pv->w * pv->w );
}
static inline FLOAT D3DXVec4LengthSq(CONST D3DXVECTOR4 *pv)
@@ -1115,20 +1145,20 @@ static inline D3DXVECTOR4* D3DXVec4Lerp(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv
static inline D3DXVECTOR4* D3DXVec4Maximize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = max(pv1->x , pv2->x);
pout->y = max(pv1->y , pv2->y);
pout->z = max(pv1->z , pv2->z);
pout->w = max(pv1->w , pv2->w);
pout->x = pv1->x > pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y > pv2->y ? pv1->y : pv2->y;
pout->z = pv1->z > pv2->z ? pv1->z : pv2->z;
pout->w = pv1->w > pv2->w ? pv1->w : pv2->w;
return pout;
}
static inline D3DXVECTOR4* D3DXVec4Minimize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
{
if ( !pout || !pv1 || !pv2) return NULL;
pout->x = min(pv1->x , pv2->x);
pout->y = min(pv1->y , pv2->y);
pout->z = min(pv1->z , pv2->z);
pout->w = min(pv1->w , pv2->w);
pout->x = pv1->x < pv2->x ? pv1->x : pv2->x;
pout->y = pv1->y < pv2->y ? pv1->y : pv2->y;
pout->z = pv1->z < pv2->z ? pv1->z : pv2->z;
pout->w = pv1->w < pv2->w ? pv1->w : pv2->w;
return pout;
}
@@ -1256,7 +1286,7 @@ static inline BOOL D3DXQuaternionIsIdentity(D3DXQUATERNION *pq)
static inline FLOAT D3DXQuaternionLength(CONST D3DXQUATERNION *pq)
{
if (!pq) return 0.0f;
return sqrt( (pq->x) * (pq->x) + (pq->y) * (pq->y) + (pq->z) * (pq->z) + (pq->w) * (pq->w) );
return sqrtf( pq->x * pq->x + pq->y * pq->y + pq->z * pq->z + pq->w * pq->w );
}
static inline FLOAT D3DXQuaternionLengthSq(CONST D3DXQUATERNION *pq)
+1003 -1
View File
File diff suppressed because it is too large Load Diff
+126 -58
View File
@@ -129,26 +129,38 @@ DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
/*** ID3DXConstantTable methods ***/
STDMETHOD(GetDesc)(THIS_ D3DXCONSTANTTABLE_DESC *pDesc) PURE;
STDMETHOD(GetConstantDesc)(THIS_ D3DXHANDLE hConstant, D3DXCONSTANT_DESC *pConstantDesc, UINT *pCount) PURE;
STDMETHOD_(UINT, GetSamplerIndex)(THIS_ D3DXHANDLE hConstant) PURE;
STDMETHOD_(D3DXHANDLE, GetConstant)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
STDMETHOD_(D3DXHANDLE, GetConstantByName)(THIS_ D3DXHANDLE hConstant, LPCSTR pName) PURE;
STDMETHOD_(D3DXHANDLE, GetConstantElement)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
STDMETHOD(SetDefaults)(THIS_ LPDIRECT3DDEVICE9 pDevice) PURE;
STDMETHOD(SetValue)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes) PURE;
STDMETHOD(SetBool)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b) PURE;
STDMETHOD(SetBoolArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST BOOL* pb, UINT Count) PURE;
STDMETHOD(SetInt)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n) PURE;
STDMETHOD(SetIntArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST INT* pn, UINT Count) PURE;
STDMETHOD(SetFloat)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f) PURE;
STDMETHOD(SetFloatArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST FLOAT* pf, UINT Count) PURE;
STDMETHOD(SetVector)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector) PURE;
STDMETHOD(SetVectorArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
STDMETHOD(SetMatrix)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
STDMETHOD(SetMatrixArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
STDMETHOD(SetMatrixPointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
STDMETHOD(SetMatrixTranspose)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
STDMETHOD(SetMatrixTransposeArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
STDMETHOD(SetMatrixTransposePointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
STDMETHOD(SetDefaults)(THIS_ struct IDirect3DDevice9 *device) PURE;
STDMETHOD(SetValue)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const void *data, UINT data_size) PURE;
STDMETHOD(SetBool)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant, BOOL value) PURE;
STDMETHOD(SetBoolArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const BOOL *values, UINT value_count) PURE;
STDMETHOD(SetInt)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant, INT value) PURE;
STDMETHOD(SetIntArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const INT *values, UINT value_count) PURE;
STDMETHOD(SetFloat)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant, float value) PURE;
STDMETHOD(SetFloatArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const float *values, UINT value_count) PURE;
STDMETHOD(SetVector)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXVECTOR4 *value) PURE;
STDMETHOD(SetVectorArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXVECTOR4 *values, UINT value_count) PURE;
STDMETHOD(SetMatrix)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX *value) PURE;
STDMETHOD(SetMatrixArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXMATRIX *values, UINT value_count) PURE;
STDMETHOD(SetMatrixPointerArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXMATRIX **values, UINT value_count) PURE;
STDMETHOD(SetMatrixTranspose)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXMATRIX *value) PURE;
STDMETHOD(SetMatrixTransposeArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXMATRIX *values, UINT value_count) PURE;
STDMETHOD(SetMatrixTransposePointerArray)(THIS_ struct IDirect3DDevice9 *device, D3DXHANDLE constant,
const D3DXMATRIX **values, UINT value_count) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
@@ -161,6 +173,7 @@ DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
/*** ID3DXConstantTable methods ***/
#define ID3DXConstantTable_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->lpVtbl->GetConstantDesc(p,a,b,c)
#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->lpVtbl->GetSamplerIndex(p,a)
#define ID3DXConstantTable_GetConstant(p,a,b) (p)->lpVtbl->GetConstant(p,a,b)
#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->lpVtbl->GetConstantByName(p,a,b)
#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->lpVtbl->GetConstantElement(p,a,b)
@@ -191,6 +204,7 @@ DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
/*** ID3DXConstantTable methods ***/
#define ID3DXConstantTable_GetDesc(p,a) (p)->GetDesc(a)
#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->GetConstantDesc(a,b,c)
#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->GetConstantDesc(a)
#define ID3DXConstantTable_GetConstant(p,a,b) (p)->GetConstant(a,b)
#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->GetConstantByName(a,b)
#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->GetConstantElement(a,b)
@@ -207,7 +221,7 @@ DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
#define ID3DXConstantTable_SetMatrix(p,a,b,c) (p)->SetMatrix(a,b,c)
#define ID3DXConstantTable_SetMatrixArray(p,a,b,c,d) (p)->SetMatrixArray(a,b,c,d)
#define ID3DXConstantTable_SetMatrixPointerArray(p,a,b,c,d) (p)->SetMatrixPointerArray(a,b,c,d)
#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->>SetMatrixTranspose(a,b,c)
#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->SetMatrixTranspose(a,b,c)
#define ID3DXConstantTable_SetMatrixTransposeArray(p,a,b,c,d) (p)->SetMatrixTransposeArray(a,b,c,d)
#define ID3DXConstantTable_SetMatrixTransposePointerArray(p,a,b,c,d) (p)->SetMatrixTransposePointerArray(a,b,c,d)
#endif
@@ -219,6 +233,11 @@ typedef struct _D3DXMACRO {
LPCSTR Definition;
} D3DXMACRO, *LPD3DXMACRO;
typedef struct _D3DXSEMANTIC {
UINT Usage;
UINT UsageIndex;
} D3DXSEMANTIC, *LPD3DXSEMANTIC;
typedef enum _D3DXINCLUDE_TYPE
{
D3DXINC_LOCAL,
@@ -226,7 +245,6 @@ typedef enum _D3DXINCLUDE_TYPE
D3DXINC_FORCE_DWORD = 0x7fffffff,
} D3DXINCLUDE_TYPE, *LPD3DXINCLUDE_TYPE;
#undef INTERFACE
#define INTERFACE ID3DXInclude
DECLARE_INTERFACE(ID3DXInclude)
@@ -234,6 +252,7 @@ DECLARE_INTERFACE(ID3DXInclude)
STDMETHOD(Open)(THIS_ D3DXINCLUDE_TYPE include_type, LPCSTR filename, LPCVOID parent_data, LPCVOID *data, UINT *bytes) PURE;
STDMETHOD(Close)(THIS_ LPCVOID data) PURE;
};
#undef INTERFACE
#define ID3DXInclude_Open(p,a,b,c,d,e) (p)->lpVtbl->Open(p,a,b,c,d,e)
#define ID3DXInclude_Close(p,a) (p)->lpVtbl->Close(p,a)
@@ -244,59 +263,108 @@ typedef struct ID3DXInclude *LPD3DXINCLUDE;
extern "C" {
#endif
LPCSTR WINAPI D3DXGetPixelShaderProfile(LPDIRECT3DDEVICE9 device);
const char * WINAPI D3DXGetPixelShaderProfile(struct IDirect3DDevice9 *device);
UINT WINAPI D3DXGetShaderSize(const DWORD *byte_code);
DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code);
LPCSTR WINAPI D3DXGetVertexShaderProfile(LPDIRECT3DDEVICE9 device);
const char * WINAPI D3DXGetVertexShaderProfile(struct IDirect3DDevice9 *device);
HRESULT WINAPI D3DXFindShaderComment(CONST DWORD* byte_code, DWORD fourcc, LPCVOID* data, UINT* size);
HRESULT WINAPI D3DXGetShaderSamplers(CONST DWORD *byte_code, LPCSTR *samplers, UINT *count);
HRESULT WINAPI D3DXAssembleShaderFromFileA(LPCSTR filename,
CONST D3DXMACRO* defines,
LPD3DXINCLUDE include,
DWORD flags,
LPD3DXBUFFER* shader,
LPD3DXBUFFER* error_messages);
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXAssembleShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
#define D3DXAssembleShaderFromFile WINELIB_NAME_AW(D3DXAssembleShaderFromFile)
HRESULT WINAPI D3DXAssembleShaderFromFileW(LPCWSTR filename,
CONST D3DXMACRO* defines,
LPD3DXINCLUDE include,
DWORD flags,
LPD3DXBUFFER* shader,
LPD3DXBUFFER* error_messages);
HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
#define D3DXAssembleShaderFromResource WINELIB_NAME_AW(D3DXAssembleShaderFromResource)
HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module,
LPCSTR resource,
CONST D3DXMACRO* defines,
LPD3DXINCLUDE include,
DWORD flags,
LPD3DXBUFFER* shader,
LPD3DXBUFFER* error_messages);
HRESULT WINAPI D3DXAssembleShader(const char *data, UINT data_len, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module,
LPCWSTR resource,
CONST D3DXMACRO* defines,
LPD3DXINCLUDE include,
DWORD flags,
LPD3DXBUFFER* shader,
LPD3DXBUFFER* error_messages);
HRESULT WINAPI D3DXCompileShader(const char *src_data, UINT data_len, const D3DXMACRO *defines,
ID3DXInclude *include, const char *function_name, const char *profile, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table);
HRESULT WINAPI D3DXAssembleShader(LPCSTR data,
UINT data_len,
CONST D3DXMACRO* defines,
LPD3DXINCLUDE include,
DWORD flags,
LPD3DXBUFFER* shader,
LPD3DXBUFFER* error_messages);
HRESULT WINAPI D3DXCompileShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table);
HRESULT WINAPI D3DXCompileShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines,
ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table);
#define D3DXCompileShaderFromFile WINELIB_NAME_AW(D3DXCompileShaderFromFile)
HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD* byte_code,
DWORD flags,
LPD3DXCONSTANTTABLE* constant_table);
HRESULT WINAPI D3DXCompileShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines,
ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table);
HRESULT WINAPI D3DXCompileShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines,
ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags,
ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table);
#define D3DXCompileShaderFromResource WINELIB_NAME_AW(D3DXCompileShaderFromResource)
HRESULT WINAPI D3DXGetShaderConstantTable(CONST DWORD* byte_code,
LPD3DXCONSTANTTABLE* constant_table);
HRESULT WINAPI D3DXPreprocessShader(const char *data, UINT data_len, const D3DXMACRO *defines,
ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXPreprocessShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXPreprocessShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines,
ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
#define D3DXPreprocessShaderFromFile WINELIB_NAME_AW(D3DXPreprocessShaderFromFile)
HRESULT WINAPI D3DXPreprocessShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines,
ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
HRESULT WINAPI D3DXPreprocessShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines,
ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
#define D3DXPreprocessShaderFromResource WINELIB_NAME_AW(D3DXPreprocessShaderFromResource)
HRESULT WINAPI D3DXGetShaderConstantTableEx(const DWORD *byte_code, DWORD flags, ID3DXConstantTable **constant_table);
HRESULT WINAPI D3DXGetShaderConstantTable(const DWORD *byte_code, ID3DXConstantTable **constant_table);
#ifdef __cplusplus
}
#endif
typedef struct _D3DXSHADER_CONSTANTTABLE
{
DWORD Size;
DWORD Creator;
DWORD Version;
DWORD Constants;
DWORD ConstantInfo;
DWORD Flags;
DWORD Target;
} D3DXSHADER_CONSTANTTABLE, *LPD3DXSHADER_CONSTANTTABLE;
typedef struct _D3DXSHADER_CONSTANTINFO
{
DWORD Name;
WORD RegisterSet;
WORD RegisterIndex;
WORD RegisterCount;
WORD Reserved;
DWORD TypeInfo;
DWORD DefaultValue;
} D3DXSHADER_CONSTANTINFO, *LPD3DXSHADER_CONSTANTINFO;
typedef struct _D3DXSHADER_TYPEINFO
{
WORD Class;
WORD Type;
WORD Rows;
WORD Columns;
WORD Elements;
WORD StructMembers;
DWORD StructMemberInfo;
} D3DXSHADER_TYPEINFO, *LPD3DXSHADER_TYPEINFO;
typedef struct _D3DXSHADER_STRUCTMEMBERINFO
{
DWORD Name;
DWORD TypeInfo;
} D3DXSHADER_STRUCTMEMBERINFO, *LPD3DXSHADER_STRUCTMEMBERINFO;
#endif /* __D3DX9SHADER_H__ */
+34 -83
View File
@@ -1,95 +1,46 @@
/*
* Copyright 2010 Christian Costa
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "d3dx9.h"
#ifndef __D3DX9SHAPES_H__
#define __D3DX9SHAPES_H__
#ifndef __D3DX9SHAPE_H__
#define __D3DX9SHAPE_H__
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI
D3DXCreateBox(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Width,
FLOAT Height,
FLOAT Depth,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
HRESULT WINAPI
D3DXCreateCylinder(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Radius1,
FLOAT Radius2,
FLOAT Length,
UINT Slices,
UINT Stacks,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
HRESULT WINAPI
D3DXCreatePolygon(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Length,
UINT Sides,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
HRESULT WINAPI
D3DXCreateSphere(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Radius,
UINT Slices,
UINT Stacks,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
HRESULT WINAPI
D3DXCreateTeapot(
LPDIRECT3DDEVICE9 pDevice,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
HRESULT WINAPI
D3DXCreateTextA(
LPDIRECT3DDEVICE9 pDevice,
HDC hDC,
LPCSTR pText,
FLOAT Deviation,
FLOAT Extrusion,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency,
LPGLYPHMETRICSFLOAT pGlyphMetrics);
HRESULT WINAPI
D3DXCreateTextW(
LPDIRECT3DDEVICE9 pDevice,
HDC hDC,
LPCWSTR pText,
FLOAT Deviation,
FLOAT Extrusion,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency,
LPGLYPHMETRICSFLOAT pGlyphMetrics);
HRESULT WINAPI
D3DXCreateTorus(
LPDIRECT3DDEVICE9 pDevice,
FLOAT InnerRadius,
FLOAT OuterRadius,
UINT Sides,
UINT Rings,
LPD3DXMESH* ppMesh,
LPD3DXBUFFER* ppAdjacency);
#ifdef UNICODE
#define D3DXCreateText D3DXCreateTextW
#else
#define D3DXCreateText D3DXCreateTextA
#endif
HRESULT WINAPI D3DXCreateBox(struct IDirect3DDevice9 *device, float width, float height,
float depth, struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency);
HRESULT WINAPI D3DXCreateCylinder(struct IDirect3DDevice9 *device, float radius1, float radius2,
float length, UINT slices, UINT stacks, struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency);
HRESULT WINAPI D3DXCreateSphere(struct IDirect3DDevice9 *device, float radius, UINT slices,
UINT stacks, struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency);
HRESULT WINAPI D3DXCreateTeapot(struct IDirect3DDevice9 *device,
struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency);
HRESULT WINAPI D3DXCreateTextA(struct IDirect3DDevice9 *device, HDC hdc, const char *text, float deviation,
float extrusion, struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency, GLYPHMETRICSFLOAT *glyphmetrics);
HRESULT WINAPI D3DXCreateTextW(struct IDirect3DDevice9 *device, HDC hdc, const WCHAR *text, float deviation,
FLOAT extrusion, struct ID3DXMesh **mesh, struct ID3DXBuffer **adjacency, GLYPHMETRICSFLOAT *glyphmetrics);
#define D3DXCreateText WINELIB_NAME_AW(D3DXCreateText)
#ifdef __cplusplus
}
#endif
#endif
#endif /* __D3DX9SHAPE_H__ */
+200 -550
View File
@@ -52,7 +52,7 @@
#define D3DX_CHANNEL_LUMINANCE 0x00000010
/**********************************************
**************** Typedefs ****************
****************** Typedefs ******************
**********************************************/
typedef enum _D3DXIMAGE_FILEFORMAT
{
@@ -63,6 +63,8 @@ typedef enum _D3DXIMAGE_FILEFORMAT
D3DXIFF_DDS,
D3DXIFF_PPM,
D3DXIFF_DIB,
D3DXIFF_HDR,
D3DXIFF_PFM,
D3DXIFF_FORCE_DWORD = 0x7fffffff
} D3DXIMAGE_FILEFORMAT;
@@ -91,604 +93,252 @@ extern "C" {
/* Image Information */
HRESULT WINAPI D3DXGetImageInfoFromFileA(LPCSTR file, D3DXIMAGE_INFO *info);
HRESULT WINAPI D3DXGetImageInfoFromFileW(LPCWSTR file, D3DXIMAGE_INFO *info);
HRESULT WINAPI D3DXGetImageInfoFromFileW(const WCHAR *file, D3DXIMAGE_INFO *info);
#define D3DXGetImageInfoFromFile WINELIB_NAME_AW(D3DXGetImageInfoFromFile)
HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, LPCSTR resource, D3DXIMAGE_INFO *info);
HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, LPCWSTR resource, D3DXIMAGE_INFO *info);
HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, const WCHAR *resource, D3DXIMAGE_INFO *info);
#define D3DXGetImageInfoFromResource WINELIB_NAME_AW(D3DXGetImageInfoFromResource)
HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(LPCVOID data, UINT datasize, D3DXIMAGE_INFO *info);
/* Surface Loading/Saving */
HRESULT WINAPI D3DXLoadSurfaceFromFileA( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
LPCSTR srcfile,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromFileA(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, const char *srcfile,
const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromFileW(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, const WCHAR *srcfile,
const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadSurfaceFromFile WINELIB_NAME_AW(D3DXLoadSurfaceFromFile)
HRESULT WINAPI D3DXLoadSurfaceFromFileW( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
LPCWSTR srcfile,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadSurfaceFromFile WINELIB_NAME_AW(D3DXLoadSurfaceFromFile)
HRESULT WINAPI D3DXLoadSurfaceFromResourceA(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const char *resource,
const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromResourceW(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const WCHAR *resource,
const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadSurfaceFromResource WINELIB_NAME_AW(D3DXLoadSurfaceFromResource)
HRESULT WINAPI D3DXLoadSurfaceFromResourceA( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
HMODULE srcmodule,
LPCSTR resource,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, const void *srcdata, UINT srcdatasize,
const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromResourceW( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
HMODULE srcmodule,
LPCWSTR resource,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadSurfaceFromResource WINELIB_NAME_AW(D3DXLoadSurfaceFromResource)
HRESULT WINAPI D3DXLoadSurfaceFromSurface(struct IDirect3DSurface9 *destsurface,
const PALETTEENTRY *destpalette, const RECT *destrect, struct IDirect3DSurface9 *srcsurface,
const PALETTEENTRY *srcpalette, const RECT *srcrect, DWORD filter, D3DCOLOR colorkey);
HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT*destrect,
LPCVOID srcdata,
UINT srcdatasize,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory,
D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect,
DWORD filter, D3DCOLOR color_key);
HRESULT WINAPI D3DXLoadSurfaceFromSurface( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
LPDIRECT3DSURFACE9 srcsurface,
CONST PALETTEENTRY *srcpalette,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey);
HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(struct ID3DXBuffer **destbuffer,
D3DXIMAGE_FILEFORMAT destformat, struct IDirect3DSurface9 *srcsurface,
const PALETTEENTRY *srcpalette, const RECT *srcrect);
HRESULT WINAPI D3DXLoadSurfaceFromMemory( LPDIRECT3DSURFACE9 destsurface,
CONST PALETTEENTRY *destpalette,
CONST RECT *destrect,
LPCVOID srcmemory,
D3DFORMAT srcformat,
UINT srcpitch,
CONST PALETTEENTRY *srcpalette,
CONST RECT *srcrect,
DWORD filter,
D3DCOLOR colorkey);
HRESULT WINAPI D3DXSaveSurfaceToFileA( LPCSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DSURFACE9 srcsurface,
CONST PALETTEENTRY *srcpalette,
CONST RECT *srcrect);
HRESULT WINAPI D3DXSaveSurfaceToFileW( LPCWSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DSURFACE9 srcsurface,
CONST PALETTEENTRY *srcpalette,
CONST RECT *srcrect);
#define D3DXSaveSurfaceToFile WINELIB_NAME_AW(D3DXSaveSurfaceToFile)
HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
HRESULT WINAPI D3DXSaveSurfaceToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
#define D3DXSaveSurfaceToFile WINELIB_NAME_AW(D3DXSaveSurfaceToFile)
/* Volume Loading/Saving */
HRESULT WINAPI D3DXLoadVolumeFromFileA( LPDIRECT3DVOLUME9 destvolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
LPCSTR srcfile,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromFileA(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, const char *srcfile,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromFileW( struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, const WCHAR *srcfile,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadVolumeFromFile WINELIB_NAME_AW(D3DXLoadVolumeFromFile)
HRESULT WINAPI D3DXLoadVolumeFromFileW( LPDIRECT3DVOLUME9 destVolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
LPCWSTR srcfile,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadVolumeFromFile WINELIB_NAME_AW(D3DXLoadVolumeFromFile)
HRESULT WINAPI D3DXLoadVolumeFromResourceA(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const char *resource,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromResourceW(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const WCHAR *resource,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadVolumeFromResource WINELIB_NAME_AW(D3DXLoadVolumeFromResource)
HRESULT WINAPI D3DXLoadVolumeFromResourceA( LPDIRECT3DVOLUME9 destVolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
HMODULE srcmodule,
LPCSTR resource,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcdata, UINT srcdatasize,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromResourceW( LPDIRECT3DVOLUME9 destVolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
HMODULE srcmodule,
LPCWSTR resource,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
#define D3DXLoadVolumeFromResource WINELIB_NAME_AW(D3DXLoadVolumeFromResource)
HRESULT WINAPI D3DXLoadVolumeFromVolume(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, struct IDirect3DVolume9 *srcvolume,
const PALETTEENTRY *srcpalette, const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(LPDIRECT3DVOLUME9 destvolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
LPCVOID srcdata,
UINT srcdatasize,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo);
HRESULT WINAPI D3DXLoadVolumeFromMemory(struct IDirect3DVolume9 *destvolume,
const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcmemory,
D3DFORMAT srcformat, UINT srcrowpitch, UINT srcslicepitch, const PALETTEENTRY *srcpalette,
const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
HRESULT WINAPI D3DXLoadVolumeFromVolume( LPDIRECT3DVOLUME9 destvolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
LPDIRECT3DVOLUME9 srcvolume,
CONST PALETTEENTRY *srcpalette,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey);
HRESULT WINAPI D3DXLoadVolumeFromMemory( LPDIRECT3DVOLUME9 destvolume,
CONST PALETTEENTRY *destpalette,
CONST D3DBOX *destbox,
LPCVOID srcmemory,
D3DFORMAT srcformat,
UINT srcrowpitch,
UINT srcslicepitch,
CONST PALETTEENTRY *srcpalette,
CONST D3DBOX *srcbox,
DWORD filter,
D3DCOLOR colorkey);
HRESULT WINAPI D3DXSaveVolumeToFileA( LPCSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DVOLUME9 srcvolume,
CONST PALETTEENTRY *srcpalette,
CONST D3DBOX *srcbox);
HRESULT WINAPI D3DXSaveVolumeToFileW( LPCWSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DVOLUME9 srcvolume,
CONST PALETTEENTRY *srcpalette,
CONST D3DBOX *srcbox);
#define D3DXSaveVolumeToFile WINELIB_NAME_AW(D3DXSaveVolumeToFile)
HRESULT WINAPI D3DXSaveVolumeToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
HRESULT WINAPI D3DXSaveVolumeToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
#define D3DXSaveVolumeToFile WINELIB_NAME_AW(D3DXSaveVolumeToFile)
/* Texture, cube texture and volume texture creation */
HRESULT WINAPI D3DXCheckTextureRequirements( LPDIRECT3DDEVICE9 device,
UINT *width,
UINT *height,
UINT *miplevels,
DWORD usage,
D3DFORMAT *format,
D3DPOOL pool);
HRESULT WINAPI D3DXCheckCubeTextureRequirements( LPDIRECT3DDEVICE9 device,
UINT *size,
UINT *miplevels,
DWORD usage,
D3DFORMAT *format,
D3DPOOL pool);
HRESULT WINAPI D3DXCheckTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
HRESULT WINAPI D3DXCheckCubeTextureRequirements(struct IDirect3DDevice9 *device, UINT *size,
UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
HRESULT WINAPI D3DXCheckVolumeTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
UINT *depth, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
HRESULT WINAPI D3DXCheckVolumeTextureRequirements(LPDIRECT3DDEVICE9 device,
UINT *width,
UINT *height,
UINT *depth,
UINT *miplevels,
DWORD usage,
D3DFORMAT *format,
D3DPOOL pool);
HRESULT WINAPI D3DXCreateTexture(struct IDirect3DDevice9 *device, UINT width, UINT height,
UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateCubeTexture(struct IDirect3DDevice9 *device, UINT size,
UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateVolumeTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT depth,
UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateTexture( LPDIRECT3DDEVICE9 device,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateTextureFromFileA(struct IDirect3DDevice9 *device,
const char *srcfile, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateTextureFromFileW(struct IDirect3DDevice9 *device,
const WCHAR *srcfile, struct IDirect3DTexture9 **texture);
#define D3DXCreateTextureFromFile WINELIB_NAME_AW(D3DXCreateTextureFromFile)
HRESULT WINAPI D3DXCreateCubeTexture( LPDIRECT3DDEVICE9 device,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateCubeTextureFromFileA(struct IDirect3DDevice9 *device,
const char *srcfile, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateCubeTextureFromFileW(struct IDirect3DDevice9 *device,
const WCHAR *srcfile, struct IDirect3DCubeTexture9 **cube);
#define D3DXCreateCubeTextureFromFile WINELIB_NAME_AW(D3DXCreateCubeTextureFromFile)
HRESULT WINAPI D3DXCreateVolumeTexture(LPDIRECT3DDEVICE9 device,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(struct IDirect3DDevice9 *device,
const char *srcfile, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(struct IDirect3DDevice9 *device,
const WCHAR *srcfile, struct IDirect3DVolumeTexture9 **volume);
#define D3DXCreateVolumeTextureFromFile WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFile)
HRESULT WINAPI D3DXCreateTextureFromFileA( LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateTextureFromResourceA(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const char *resource, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateTextureFromResourceW(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const WCHAR *resource, struct IDirect3DTexture9 **texture);
#define D3DXCreateTextureFromResource WINELIB_NAME_AW(D3DXCreateTextureFromResource)
HRESULT WINAPI D3DXCreateTextureFromFileW( LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
LPDIRECT3DTEXTURE9 *texture);
#define D3DXCreateTextureFromFile WINELIB_NAME_AW(D3DXCreateTextureFromFile)
HRESULT WINAPI D3DXCreateCubeTextureFromResourceA(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const char *resource, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateCubeTextureFromResourceW(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const WCHAR *resource, struct IDirect3DCubeTexture9 **cube);
#define D3DXCreateCubeTextureFromResource WINELIB_NAME_AW(D3DXCreateCubeTextureFromResource)
HRESULT WINAPI D3DXCreateCubeTextureFromFileA( LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const char *resource, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(struct IDirect3DDevice9 *device,
HMODULE srcmodule, const WCHAR *resource, struct IDirect3DVolumeTexture9 **volume);
#define D3DXCreateVolumeTextureFromResource WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResource)
HRESULT WINAPI D3DXCreateCubeTextureFromFileW( LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
LPDIRECT3DCUBETEXTURE9 *cube);
#define D3DXCreateCubeTextureFromFile WINELIB_NAME_AW(D3DXCreateCubeTextureFromFile)
HRESULT WINAPI D3DXCreateTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
#define D3DXCreateTextureFromFileEx WINELIB_NAME_AW(D3DXCreateTextureFromFileEx)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
#define D3DXCreateCubeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromFileEx)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
LPDIRECT3DVOLUMETEXTURE9 *volume);
#define D3DXCreateVolumeTextureFromFile WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFile)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
#define D3DXCreateVolumeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
HRESULT WINAPI D3DXCreateTextureFromResourceA( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const char *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const WCHAR *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
#define D3DXCreateTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateTextureFromResourceEx)
HRESULT WINAPI D3DXCreateTextureFromResourceW( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
LPDIRECT3DTEXTURE9 *texture);
#define D3DXCreateTextureFromResource WINELIB_NAME_AW(D3DXCreateTextureFromResource)
HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const char *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const WCHAR *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
#define D3DXCreateCubeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
HRESULT WINAPI D3DXCreateCubeTextureFromResourceA( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateCubeTextureFromResourceW( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
LPDIRECT3DCUBETEXTURE9 *cube);
#define D3DXCreateCubeTextureFromResource WINELIB_NAME_AW(D3DXCreateCubeTextureFromResource)
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const char *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
const WCHAR *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
#define D3DXCreateVolumeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
LPDIRECT3DVOLUMETEXTURE9 *volume);
#define D3DXCreateVolumeTextureFromResource WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResource)
HRESULT WINAPI D3DXCreateTextureFromFileInMemory(struct IDirect3DDevice9 *device,
const void *srcdata, UINT srcdatasize, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
const void *srcdata, UINT srcdatasize, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
const void *srcdata, UINT srcdatasize, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXCreateTextureFromFileExA( LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateTextureFromFileExW( LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DTEXTURE9 *texture);
#define D3DXCreateTextureFromFileEx WINELIB_NAME_AW(D3DXCreateTextureFromFileEx)
HRESULT WINAPI D3DXCreateCubeTextureFromFileExA( LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateCubeTextureFromFileExW( LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DCUBETEXTURE9 *cube);
#define D3DXCreateCubeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromFileEx)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(LPDIRECT3DDEVICE9 device,
LPCSTR srcfile,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(LPDIRECT3DDEVICE9 device,
LPCWSTR srcfile,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DVOLUMETEXTURE9 *volume);
#define D3DXCreateVolumeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
HRESULT WINAPI D3DXCreateTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DTEXTURE9 *texture);
#define D3DXCreateTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateTextureFromResourceEx)
HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DCUBETEXTURE9 *cube);
#define D3DXCreateCubeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCSTR resource,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(LPDIRECT3DDEVICE9 device,
HMODULE srcmodule,
LPCWSTR resource,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DVOLUMETEXTURE9 *volume);
#define D3DXCreateVolumeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
HRESULT WINAPI D3DXCreateTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
LPDIRECT3DTEXTURE9* texture);
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
LPDIRECT3DCUBETEXTURE9* cube);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
UINT width,
UINT height,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DTEXTURE9 *texture);
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
UINT size,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DCUBETEXTURE9 *cube);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
LPCVOID srcdata,
UINT srcdatasize,
UINT width,
UINT height,
UINT depth,
UINT miplevels,
DWORD usage,
D3DFORMAT format,
D3DPOOL pool,
DWORD filter,
DWORD mipfilter,
D3DCOLOR colorkey,
D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette,
LPDIRECT3DVOLUMETEXTURE9 *volume);
HRESULT WINAPI D3DXSaveTextureToFileA(LPCSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DBASETEXTURE9 srctexture,
CONST PALETTEENTRY *srcpalette);
HRESULT WINAPI D3DXSaveTextureToFileW(LPCWSTR destfile,
D3DXIMAGE_FILEFORMAT destformat,
LPDIRECT3DBASETEXTURE9 srctexture,
CONST PALETTEENTRY *srcpalette);
#define D3DXSaveTextureToFile WINELIB_NAME_AW(D3DXSaveTextureToFile)
HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
UINT srcdatasize, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
UINT srcdatasize, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
UINT srcdatasize, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
HRESULT WINAPI D3DXSaveTextureToFileInMemory(struct ID3DXBuffer **destbuffer, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
HRESULT WINAPI D3DXSaveTextureToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
HRESULT WINAPI D3DXSaveTextureToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
#define D3DXSaveTextureToFile WINELIB_NAME_AW(D3DXSaveTextureToFile)
/* Other functions */
HRESULT WINAPI D3DXFilterTexture( LPDIRECT3DBASETEXTURE9 texture,
CONST PALETTEENTRY *palette,
UINT srclevel,
DWORD filter);
HRESULT WINAPI D3DXFilterTexture(struct IDirect3DBaseTexture9 *texture,
const PALETTEENTRY *palette, UINT srclevel, DWORD filter);
#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture
HRESULT WINAPI D3DXFillTexture( LPDIRECT3DTEXTURE9 texture,
LPD3DXFILL2D function,
LPVOID data);
HRESULT WINAPI D3DXFillTexture(struct IDirect3DTexture9 *texture, LPD3DXFILL2D function, void *data);
HRESULT WINAPI D3DXFillCubeTexture(struct IDirect3DCubeTexture9 *cube, LPD3DXFILL3D function, void *data);
HRESULT WINAPI D3DXFillVolumeTexture(struct IDirect3DVolumeTexture9 *volume, LPD3DXFILL3D function, void *data);
HRESULT WINAPI D3DXFillCubeTexture( LPDIRECT3DCUBETEXTURE9 cube,
LPD3DXFILL3D function,
LPVOID data);
HRESULT WINAPI D3DXFillVolumeTexture( LPDIRECT3DVOLUMETEXTURE9 volume,
LPD3DXFILL3D function,
LPVOID data);
HRESULT WINAPI D3DXFillTextureTX( LPDIRECT3DTEXTURE9 texture,
CONST DWORD *function,
CONST D3DXVECTOR4 *constants,
UINT numconstants);
HRESULT WINAPI D3DXFillCubeTextureTX( LPDIRECT3DCUBETEXTURE9 cube,
CONST DWORD *function,
CONST D3DXVECTOR4 *constants,
UINT numconstants);
HRESULT WINAPI D3DXFillVolumeTextureTX(LPDIRECT3DVOLUMETEXTURE9 volume,
CONST DWORD *function,
CONST D3DXVECTOR4 *constants,
UINT numconstants);
HRESULT WINAPI D3DXComputeNormalMap( LPDIRECT3DTEXTURE9 texture,
LPDIRECT3DTEXTURE9 srctexture,
CONST PALETTEENTRY *srcpalette,
DWORD flags,
DWORD channel,
FLOAT amplitude);
HRESULT WINAPI D3DXFillTextureTX(struct IDirect3DTexture9 *texture, const DWORD *function,
const D3DXVECTOR4 *constants, UINT numconstants);
HRESULT WINAPI D3DXFillCubeTextureTX(struct IDirect3DCubeTexture9 *cube, const DWORD *function,
const D3DXVECTOR4 *constants, UINT numconstants);
HRESULT WINAPI D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9 *volume, const DWORD *function,
const D3DXVECTOR4 *constants, UINT numconstants);
HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *srctexture,
const PALETTEENTRY *srcpalette, DWORD flags, DWORD channel, float amplitude);
#ifdef __cplusplus
}
+156 -145
View File
@@ -1,173 +1,184 @@
/*
* Copyright 2011 Dylan Smith
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_D3DX9XOF_H
#define __WINE_D3DX9XOF_H
#include "d3dx9.h"
#if !defined( __D3DX9XOF_H__ )
#define __D3DX9XOF_H__
#if defined( __cplusplus )
#ifdef __cplusplus
extern "C" {
#endif
#if defined( _WIN32 ) && !defined( _NO_COM )
DEFINE_GUID( IID_ID3DXFile, 0xcef08CF9, 0x7B4F, 0x4429, 0x96, 0x24, 0x2A, 0x69, 0x0A, 0x93, 0x32, 0x01 );
DEFINE_GUID( IID_ID3DXFileSaveObject, 0xcef08CFA, 0x7B4F, 0x4429, 0x96, 0x24, 0x2A, 0x69, 0x0A, 0x93, 0x32, 0x01 );
DEFINE_GUID( IID_ID3DXFileSaveData, 0xcef08CFB, 0x7B4F, 0x4429, 0x96, 0x24, 0x2A, 0x69, 0x0A, 0x93, 0x32, 0x01 );
DEFINE_GUID( IID_ID3DXFileEnumObject, 0xcef08CFC, 0x7B4F, 0x4429, 0x96, 0x24, 0x2A, 0x69, 0x0A, 0x93, 0x32, 0x01 );
DEFINE_GUID( IID_ID3DXFileData, 0xcef08CFD, 0x7B4F, 0x4429, 0x96, 0x24, 0x2A, 0x69, 0x0A, 0x93, 0x32, 0x01 );
#endif
#define D3DXF_FILEFORMAT_BINARY 0
#define D3DXF_FILEFORMAT_TEXT 1
#define D3DXF_FILEFORMAT_COMPRESSED 2
#define D3DXF_FILESAVE_TOFILE 0x00
#define D3DXF_FILESAVE_TOWFILE 0x01
#define D3DXF_FILELOAD_FROMFILE 0x00
#define D3DXF_FILELOAD_FROMWFILE 0x01
#define D3DXF_FILELOAD_FROMRESOURCE 0x02
#define D3DXF_FILELOAD_FROMMEMORY 0x03
#define _FACD3DXF 0x876
#define D3DXFERR_BADOBJECT MAKE_HRESULT( 1, _FACD3DXF, 900 )
#define D3DXFERR_BADVALUE MAKE_HRESULT( 1, _FACD3DXF, 901 )
#define D3DXFERR_BADTYPE MAKE_HRESULT( 1, _FACD3DXF, 902 )
#define D3DXFERR_NOTFOUND MAKE_HRESULT( 1, _FACD3DXF, 903 )
#define D3DXFERR_NOTDONEYET MAKE_HRESULT( 1, _FACD3DXF, 904 )
#define D3DXFERR_FILENOTFOUND MAKE_HRESULT( 1, _FACD3DXF, 905 )
#define D3DXFERR_RESOURCENOTFOUND MAKE_HRESULT( 1, _FACD3DXF, 906 )
#define D3DXFERR_BADRESOURCE MAKE_HRESULT( 1, _FACD3DXF, 907 )
#define D3DXFERR_BADFILETYPE MAKE_HRESULT( 1, _FACD3DXF, 908 )
#define D3DXFERR_BADFILEVERSION MAKE_HRESULT( 1, _FACD3DXF, 909 )
#define D3DXFERR_BADFILEFLOATSIZE MAKE_HRESULT( 1, _FACD3DXF, 910 )
#define D3DXFERR_BADFILE MAKE_HRESULT( 1, _FACD3DXF, 911 )
#define D3DXFERR_PARSEERROR MAKE_HRESULT( 1, _FACD3DXF, 912 )
#define D3DXFERR_BADARRAYSIZE MAKE_HRESULT( 1, _FACD3DXF, 913 )
#define D3DXFERR_BADDATAREFERENCE MAKE_HRESULT( 1, _FACD3DXF, 914 )
#define D3DXFERR_NOMOREOBJECTS MAKE_HRESULT( 1, _FACD3DXF, 915 )
#define D3DXFERR_NOMOREDATA MAKE_HRESULT( 1, _FACD3DXF, 916 )
#define D3DXFERR_BADCACHEFILE MAKE_HRESULT( 1, _FACD3DXF, 917 )
typedef DWORD D3DXF_FILEFORMAT;
#define D3DXF_FILEFORMAT_BINARY 0
#define D3DXF_FILEFORMAT_TEXT 1
#define D3DXF_FILEFORMAT_COMPRESSED 2
typedef DWORD D3DXF_FILESAVEOPTIONS;
#define D3DXF_FILESAVE_TOFILE 0x00
#define D3DXF_FILESAVE_TOWFILE 0x01
typedef DWORD D3DXF_FILELOADOPTIONS;
#define D3DXF_FILELOAD_FROMFILE 0x00
#define D3DXF_FILELOAD_FROMWFILE 0x01
#define D3DXF_FILELOAD_FROMRESOURCE 0x02
#define D3DXF_FILELOAD_FROMMEMORY 0x03
typedef struct _D3DXF_FILELOADMEMORY
{
LPCVOID lpMemory;
SIZE_T dSize;
} D3DXF_FILELOADMEMORY;
typedef struct _D3DXF_FILELOADRESOURCE
{
HMODULE hModule;
LPCSTR lpName;
LPCSTR lpType;
typedef struct _D3DXF_FILELOADRESOURCE {
HMODULE hModule;
LPCSTR lpName;
LPCSTR lpType;
} D3DXF_FILELOADRESOURCE;
typedef struct _D3DXF_FILELOADMEMORY {
LPVOID lpMemory;
SIZE_T dSize;
} D3DXF_FILELOADMEMORY;
#if defined( __cplusplus )
#if !defined( DECLSPEC_UUID )
#if _MSC_VER >= 1100
#define DECLSPEC_UUID( x ) __declspec( uuid( x ) )
#else
#define DECLSPEC_UUID( x )
#endif
#endif
#if defined( _COM_SMARTPTR_TYPEDEF )
interface DECLSPEC_UUID( "CEF08CF9-7B4F-4429-9624-2A690A933201" ) ID3DXFile;
interface DECLSPEC_UUID( "CEF08CFA-7B4F-4429-9624-2A690A933201" ) ID3DXFileSaveObject;
interface DECLSPEC_UUID( "CEF08CFB-7B4F-4429-9624-2A690A933201" ) ID3DXFileSaveData;
interface DECLSPEC_UUID( "CEF08CFC-7B4F-4429-9624-2A690A933201" ) ID3DXFileEnumObject;
interface DECLSPEC_UUID( "CEF08CFD-7B4F-4429-9624-2A690A933201" ) ID3DXFileData;
#endif
#endif
#ifndef _NO_COM
DEFINE_GUID(IID_ID3DXFile, 0xcef08cf9, 0x7b4f, 0x4429, 0x96, 0x24, 0x2a, 0x69, 0x0a, 0x93, 0x32, 0x01);
DEFINE_GUID(IID_ID3DXFileSaveObject, 0xcef08cfa, 0x7b4f, 0x4429, 0x96, 0x24, 0x2a, 0x69, 0x0a, 0x93, 0x32, 0x01);
DEFINE_GUID(IID_ID3DXFileSaveData, 0xcef08cfb, 0x7b4f, 0x4429, 0x96, 0x24, 0x2a, 0x69, 0x0a, 0x93, 0x32, 0x01);
DEFINE_GUID(IID_ID3DXFileEnumObject, 0xcef08cfc, 0x7b4f, 0x4429, 0x96, 0x24, 0x2a, 0x69, 0x0a, 0x93, 0x32, 0x01);
DEFINE_GUID(IID_ID3DXFileData, 0xcef08cfd, 0x7b4f, 0x4429, 0x96, 0x24, 0x2a, 0x69, 0x0a, 0x93, 0x32, 0x01);
#endif /* _NO_COM */
typedef interface ID3DXFile *LPD3DXFILE, **LPLPD3DXFILE;
typedef interface ID3DXFileSaveObject *LPD3DXFILESAVEOBJECT, **LPLPD3DXFILESAVEOBJECT;
typedef interface ID3DXFileSaveData *LPD3DXFILESAVEDATA, **LPLPD3DXFILESAVEDATA;
typedef interface ID3DXFileEnumObject *LPD3DXFILEENUMOBJECT, **LPLPD3DXFILEENUMOBJECT;
typedef interface ID3DXFileData *LPD3DXFILEDATA, **LPLPD3DXFILEDATA;
STDAPI D3DXFileCreate(struct ID3DXFile **file);
#undef INTERFACE
#define INTERFACE ID3DXFile
DECLARE_INTERFACE_( ID3DXFile, IUnknown )
DECLARE_INTERFACE_IID_(ID3DXFile,IUnknown,"cef08cf9-7b4f-4429-9624-2a690a933201")
{
STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
STDMETHOD( CreateEnumObject )( THIS_ LPCVOID, D3DXF_FILELOADOPTIONS, ID3DXFileEnumObject** ) PURE;
STDMETHOD( CreateSaveObject )( THIS_ LPCVOID, D3DXF_FILESAVEOPTIONS, D3DXF_FILEFORMAT, ID3DXFileSaveObject** ) PURE;
STDMETHOD( RegisterTemplates )( THIS_ LPCVOID, SIZE_T ) PURE;
STDMETHOD( RegisterEnumTemplates )( THIS_ ID3DXFileEnumObject* ) PURE;
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ID3DXFile methods ***/
STDMETHOD(CreateEnumObject)(THIS_ const void *src, D3DXF_FILELOADOPTIONS type,
struct ID3DXFileEnumObject **enum_obj) PURE;
STDMETHOD(CreateSaveObject)(THIS_ const void *data, D3DXF_FILESAVEOPTIONS flags,
D3DXF_FILEFORMAT format, struct ID3DXFileSaveObject **save_obj) PURE;
STDMETHOD(RegisterTemplates)(THIS_ LPCVOID, SIZE_T) PURE;
STDMETHOD(RegisterEnumTemplates)(THIS_ struct ID3DXFileEnumObject *enum_obj) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileEnumObject
DECLARE_INTERFACE_( ID3DXFileEnumObject, IUnknown )
{
STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
STDMETHOD( GetFile )( THIS_ ID3DXFile** ) PURE;
STDMETHOD( GetChildren )( THIS_ SIZE_T* ) PURE;
STDMETHOD( GetChild )( THIS_ SIZE_T, ID3DXFileData** ) PURE;
STDMETHOD( GetDataObjectById )( THIS_ REFGUID, ID3DXFileData** ) PURE;
STDMETHOD( GetDataObjectByName )( THIS_ LPCSTR, ID3DXFileData** ) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileData
DECLARE_INTERFACE_( ID3DXFileData, IUnknown )
{
STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
STDMETHOD( GetEnum )( THIS_ ID3DXFileEnumObject** ) PURE;
STDMETHOD( GetName )( THIS_ LPSTR, SIZE_T* ) PURE;
STDMETHOD( GetId )( THIS_ LPGUID ) PURE;
STDMETHOD( Lock )( THIS_ SIZE_T*, LPCVOID* ) PURE;
STDMETHOD( Unlock )( THIS ) PURE;
STDMETHOD( GetType )( THIS_ GUID* ) PURE;
STDMETHOD_( BOOL, IsReference )( THIS ) PURE;
STDMETHOD( GetChildren )( THIS_ SIZE_T* ) PURE;
STDMETHOD( GetChild )( THIS_ SIZE_T, ID3DXFileData** ) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileSaveData
DECLARE_INTERFACE_( ID3DXFileSaveData, IUnknown )
{
STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
STDMETHOD( GetSave )( THIS_ ID3DXFileSaveObject** ) PURE;
STDMETHOD( GetName )( THIS_ LPSTR, SIZE_T* ) PURE;
STDMETHOD( GetId )( THIS_ LPGUID ) PURE;
STDMETHOD( GetType )( THIS_ GUID* ) PURE;
STDMETHOD( AddDataObject )( THIS_ REFGUID, LPCSTR, CONST GUID*, SIZE_T, LPCVOID, ID3DXFileSaveData** ) PURE;
STDMETHOD( AddDataReference )( THIS_ LPCSTR, CONST GUID* ) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileSaveObject
DECLARE_INTERFACE_( ID3DXFileSaveObject, IUnknown )
DECLARE_INTERFACE_IID_(ID3DXFileSaveObject,IUnknown,"cef08cfa-7b4f-4429-9624-2a690a933201")
{
STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
STDMETHOD( GetFile )( THIS_ ID3DXFile** ) PURE;
STDMETHOD( AddDataObject )( THIS_ REFGUID, LPCSTR, CONST GUID*, SIZE_T, LPCVOID, ID3DXFileSaveData** ) PURE;
STDMETHOD( Save )( THIS ) PURE;
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ID3DXFileSaveObject methods ***/
STDMETHOD(GetFile)(THIS_ ID3DXFile **file) PURE;
STDMETHOD(AddDataObject)(THIS_ REFGUID template_guid, const char *name, const GUID *guid,
SIZE_T data_size, const void *data, struct ID3DXFileSaveData **obj) PURE;
STDMETHOD(Save)(THIS) PURE;
};
#undef INTERFACE
#ifndef WIN_TYPES
#define WIN_TYPES(itype, ptype) typedef interface itype *LP##ptype, **LPLP##ptype
#endif
WIN_TYPES(ID3DXFile, D3DXFILE);
WIN_TYPES(ID3DXFileEnumObject, D3DXFILEENUMOBJECT);
WIN_TYPES(ID3DXFileSaveObject, D3DXFILESAVEOBJECT);
WIN_TYPES(ID3DXFileData, D3DXFILEDATA);
WIN_TYPES(ID3DXFileSaveData, D3DXFILESAVEDATA);
#if defined( __cplusplus )
#define INTERFACE ID3DXFileSaveData
DECLARE_INTERFACE_IID_(ID3DXFileSaveData,IUnknown,"cef08cfb-7b4f-4429-9624-2a690a933201")
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ID3DXFileSaveObject methods ***/
STDMETHOD(GetSave)(THIS_ ID3DXFileSaveObject **save_obj) PURE;
STDMETHOD(GetName)(THIS_ LPSTR, SIZE_T*) PURE;
STDMETHOD(GetId)(THIS_ LPGUID) PURE;
STDMETHOD(GetType)(THIS_ GUID*) PURE;
STDMETHOD(AddDataObject)(THIS_ REFGUID template_guid, const char *name, const GUID *guid,
SIZE_T data_size, const void *data, ID3DXFileSaveData **obj) PURE;
STDMETHOD(AddDataReference)(THIS_ LPCSTR, CONST GUID*) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileEnumObject
DECLARE_INTERFACE_IID_(ID3DXFileEnumObject,IUnknown,"cef08cfc-7b4f-4429-9624-2a690a933201")
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ID3DXFileEnumObject methods ***/
STDMETHOD(GetFile)(THIS_ ID3DXFile **file) PURE;
STDMETHOD(GetChildren)(THIS_ SIZE_T*) PURE;
STDMETHOD(GetChild)(THIS_ SIZE_T id, struct ID3DXFileData **child) PURE;
STDMETHOD(GetDataObjectById)(THIS_ REFGUID guid, struct ID3DXFileData **obj) PURE;
STDMETHOD(GetDataObjectByName)(THIS_ const char *name, struct ID3DXFileData **obj) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DXFileData
DECLARE_INTERFACE_IID_(ID3DXFileData,IUnknown,"cef08cfd-7b4f-4429-9624-2a690a933201")
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ID3DXFileData methods ***/
STDMETHOD(GetEnum)(THIS_ ID3DXFileEnumObject **enum_obj) PURE;
STDMETHOD(GetName)(THIS_ LPSTR, SIZE_T*) PURE;
STDMETHOD(GetId)(THIS_ LPGUID) PURE;
STDMETHOD(Lock)(THIS_ SIZE_T*, LPCVOID*) PURE;
STDMETHOD(Unlock)(THIS) PURE;
STDMETHOD(GetType)(THIS_ GUID*) PURE;
STDMETHOD_(BOOL,IsReference)(THIS) PURE;
STDMETHOD(GetChildren)(THIS_ SIZE_T*) PURE;
STDMETHOD(GetChild)(THIS_ SIZE_T id, ID3DXFileData **child) PURE;
};
#undef INTERFACE
/* D3DX File errors */
#define _FACD3DXF 0x876
#define D3DXFERR_BADOBJECT MAKE_HRESULT(1,_FACD3DXF,900)
#define D3DXFERR_BADVALUE MAKE_HRESULT(1,_FACD3DXF,901)
#define D3DXFERR_BADTYPE MAKE_HRESULT(1,_FACD3DXF,902)
#define D3DXFERR_NOTFOUND MAKE_HRESULT(1,_FACD3DXF,903)
#define D3DXFERR_NOTDONEYET MAKE_HRESULT(1,_FACD3DXF,904)
#define D3DXFERR_FILENOTFOUND MAKE_HRESULT(1,_FACD3DXF,905)
#define D3DXFERR_RESOURCENOTFOUND MAKE_HRESULT(1,_FACD3DXF,906)
#define D3DXFERR_BADRESOURCE MAKE_HRESULT(1,_FACD3DXF,907)
#define D3DXFERR_BADFILETYPE MAKE_HRESULT(1,_FACD3DXF,908)
#define D3DXFERR_BADFILEVERSION MAKE_HRESULT(1,_FACD3DXF,909)
#define D3DXFERR_BADFILEFLOATSIZE MAKE_HRESULT(1,_FACD3DXF,910)
#define D3DXFERR_BADFILE MAKE_HRESULT(1,_FACD3DXF,911)
#define D3DXFERR_PARSEERROR MAKE_HRESULT(1,_FACD3DXF,912)
#define D3DXFERR_BADARRAYSIZE MAKE_HRESULT(1,_FACD3DXF,913)
#define D3DXFERR_BADDATAREFERENCE MAKE_HRESULT(1,_FACD3DXF,914)
#define D3DXFERR_NOMOREOBJECTS MAKE_HRESULT(1,_FACD3DXF,915)
#define D3DXFERR_NOMOREDATA MAKE_HRESULT(1,_FACD3DXF,916)
#define D3DXFERR_BADCACHEFILE MAKE_HRESULT(1,_FACD3DXF,917)
#ifdef __cplusplus
}
#endif
#endif
#endif /* __WINE_D3DX9XOF_H */
+1
View File
@@ -52,6 +52,7 @@ DECLARE_INTERFACE_(IDxDiagProvider,IUnknown)
STDMETHOD(Initialize) (THIS_ DXDIAG_INIT_PARAMS* pParams) PURE;
STDMETHOD(GetRootContainer) (THIS_ IDxDiagContainer **ppInstance) PURE;
};
#undef INTERFACE
#define DXDIAG_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007AL)
#if !defined(__cplusplus) || defined(CINTERFACE)
+263 -144
View File
@@ -1,180 +1,299 @@
#ifndef __DXFILE_H__
#define __DXFILE_H__
/*
* Copyright 2004 Christian Costa
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_DXFILE_H
#define __WINE_DXFILE_H
#include <objbase.h>
#include <winnt.h>
#ifdef __cplusplus
extern "C" {
#endif
#endif /* defined(__cplusplus) */
typedef DWORD DXFILEFORMAT;
#define DXFILEFORMAT_BINARY 0
#define DXFILEFORMAT_TEXT 1
#define DXFILEFORMAT_COMPRESSED 2
typedef DWORD DXFILELOADOPTIONS;
DEFINE_GUID(IID_IDirectXFile, 0x3D82AB40, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileEnumObject, 0x3D82AB41, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileSaveObject, 0x3D82AB42, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileObject, 0x3D82AB43, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileData, 0x3D82AB44, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileDataReference, 0x3D82AB45, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(IID_IDirectXFileBinary, 0x3D82AB46, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(TID_DXFILEHeader, 0x3D82AB43, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(CLSID_CDirectXFile, 0x4516EC43, 0x8F20, 0x11D0, 0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3);
#define DXFILELOAD_FROMFILE 0x00L
#define DXFILELOAD_FROMRESOURCE 0x01L
#define DXFILELOAD_FROMMEMORY 0x02L
#define DXFILELOAD_FROMSTREAM 0x04L
#define DXFILELOAD_FROMURL 0x08L
#ifndef WIN_TYPES
#define WIN_TYPES(itype, ptype) typedef interface itype *LP##ptype, **LPLP##ptype
#endif
typedef struct _DXFILELOADRESOURCE {
HMODULE hModule;
LPCSTR /*LPCTSTR*/ lpName;
LPCSTR /*LPCTSTR*/ lpType;
} DXFILELOADRESOURCE, *LPDXFILELOADRESOURCE;
#define DXFILEFORMAT_BINARY 0
#define DXFILEFORMAT_TEXT 1
#define DXFILEFORMAT_COMPRESSED 2
#define DXFILELOAD_FROMFILE 0x00L
#define DXFILELOAD_FROMRESOURCE 0x01L
#define DXFILELOAD_FROMMEMORY 0x02L
#define DXFILELOAD_FROMSTREAM 0x04L
#define DXFILELOAD_FROMURL 0x08L
typedef struct _DXFILELOADMEMORY {
LPVOID lpMemory;
DWORD dSize;
} DXFILELOADMEMORY, *LPDXFILELOADMEMORY;
#define _FACDD 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
#define DXFILE_OK 0
#define DXFILEERR_BADOBJECT MAKE_DDHRESULT(850)
#define DXFILEERR_BADVALUE MAKE_DDHRESULT(851)
#define DXFILEERR_BADTYPE MAKE_DDHRESULT(852)
#define DXFILEERR_BADSTREAMHANDLE MAKE_DDHRESULT(853)
#define DXFILEERR_BADALLOC MAKE_DDHRESULT(854)
#define DXFILEERR_NOTFOUND MAKE_DDHRESULT(855)
#define DXFILEERR_NOTDONEYET MAKE_DDHRESULT(856)
#define DXFILEERR_FILENOTFOUND MAKE_DDHRESULT(857)
#define DXFILEERR_RESOURCENOTFOUND MAKE_DDHRESULT(858)
#define DXFILEERR_URLNOTFOUND MAKE_DDHRESULT(859)
#define DXFILEERR_BADRESOURCE MAKE_DDHRESULT(860)
#define DXFILEERR_BADFILETYPE MAKE_DDHRESULT(861)
#define DXFILEERR_BADFILEVERSION MAKE_DDHRESULT(862)
#define DXFILEERR_BADFILEFLOATSIZE MAKE_DDHRESULT(863)
#define DXFILEERR_BADFILECOMPRESSIONTYPE MAKE_DDHRESULT(864)
#define DXFILEERR_BADFILE MAKE_DDHRESULT(865)
#define DXFILEERR_PARSEERROR MAKE_DDHRESULT(866)
#define DXFILEERR_NOTEMPLATE MAKE_DDHRESULT(867)
#define DXFILEERR_BADARRAYSIZE MAKE_DDHRESULT(868)
#define DXFILEERR_BADDATAREFERENCE MAKE_DDHRESULT(869)
#define DXFILEERR_INTERNALERROR MAKE_DDHRESULT(870)
#define DXFILEERR_NOMOREOBJECTS MAKE_DDHRESULT(871)
#define DXFILEERR_BADINTRINSICS MAKE_DDHRESULT(872)
#define DXFILEERR_NOMORESTREAMHANDLES MAKE_DDHRESULT(873)
#define DXFILEERR_NOMOREDATA MAKE_DDHRESULT(874)
#define DXFILEERR_BADCACHEFILE MAKE_DDHRESULT(875)
#define DXFILEERR_NOINTERNET MAKE_DDHRESULT(876)
WIN_TYPES(IDirectXFile, DIRECTXFILE);
WIN_TYPES(IDirectXFileEnumObject, DIRECTXFILEENUMOBJECT);
WIN_TYPES(IDirectXFileSaveObject, DIRECTXFILESAVEOBJECT);
WIN_TYPES(IDirectXFileObject, DIRECTXFILEOBJECT);
WIN_TYPES(IDirectXFileData, DIRECTXFILEDATA);
WIN_TYPES(IDirectXFileDataReference, DIRECTXFILEDATAREFERENCE);
WIN_TYPES(IDirectXFileBinary, DIRECTXFILEBINARY);
typedef struct _DXFILELOADRESOURCE
{
HMODULE hModule;
LPCTSTR lpName;
LPCTSTR lpType;
}DXFILELOADRESOURCE, *LPDXFILELOADRESOURCE;
typedef struct _DXFILELOADMEMORY
{
LPVOID lpMemory;
DWORD dSize;
}DXFILELOADMEMORY, *LPDXFILELOADMEMORY;
typedef struct IDirectXFile *LPDIRECTXFILE;
typedef struct IDirectXFileEnumObject *LPDIRECTXFILEENUMOBJECT;
typedef struct IDirectXFileSaveObject *LPDIRECTXFILESAVEOBJECT;
typedef struct IDirectXFileObject *LPDIRECTXFILEOBJECT;
typedef struct IDirectXFileData *LPDIRECTXFILEDATA;
typedef struct IDirectXFileDataReference *LPDIRECTXFILEDATAREFERENCE;
typedef struct IDirectXFileBinary *LPDIRECTXFILEBINARY;
STDAPI DirectXFileCreate(LPDIRECTXFILE *lplpDirectXFile);
#define INTERFACE IDirectXFile
DECLARE_INTERFACE_(IDirectXFile,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IDirectXFile methods ***/
STDMETHOD(CreateEnumObject) (THIS_ LPVOID, DXFILELOADOPTIONS, LPDIRECTXFILEENUMOBJECT *) PURE;
STDMETHOD(CreateSaveObject) (THIS_ LPCSTR, DXFILEFORMAT, LPDIRECTXFILESAVEOBJECT *) PURE;
STDMETHOD(RegisterTemplates) (THIS_ LPVOID, DWORD) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFile_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFile_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFile methods ***/
#define IDirectXFile_CreateEnumObject(p,a,b,c) (p)->lpVtbl->CreateEnumObject(p,a,b,c)
#define IDirectXFile_CreateSaveObject(p,a,b,c) (p)->lpVtbl->CreateSaveObject(p,a,b,c)
#define IDirectXFile_RegisterTemplates(p,a,b) (p)->lpVtbl->RegisterTemplates(p,a,b)
#endif
#define INTERFACE IDirectXFileEnumObject
DECLARE_INTERFACE_(IDirectXFileEnumObject,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IDirectXFileEnumObject methods ***/
STDMETHOD(GetNextDataObject) (THIS_ LPDIRECTXFILEDATA *) PURE;
STDMETHOD(GetDataObjectById) (THIS_ REFGUID, LPDIRECTXFILEDATA *) PURE;
STDMETHOD(GetDataObjectByName) (THIS_ LPCSTR, LPDIRECTXFILEDATA *) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileEnumObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileEnumObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileEnumObject_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileEnumObject methods ***/
#define IDirectXFileEnumObject_GetNextDataObject(p,a) (p)->lpVtbl->GetNextDataObject(p,a)
#define IDirectXFileEnumObject_GetDataObjectById(p,a,b) (p)->lpVtbl->GetDataObjectById(p,a,b)
#define IDirectXFileEnumObject_GetDataObjectByName(p,a,b) (p)->lpVtbl->GetDataObjectByName(p,a,b)
#endif
#define INTERFACE IDirectXFileSaveObject
DECLARE_INTERFACE_(IDirectXFileSaveObject,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IDirectXFileSaveObject methods ***/
STDMETHOD(SaveTemplates) (THIS_ DWORD, const GUID **) PURE;
STDMETHOD(CreateDataObject) (THIS_ REFGUID, LPCSTR, const GUID *, DWORD, LPVOID, LPDIRECTXFILEDATA *) PURE;
STDMETHOD(SaveData) (THIS_ LPDIRECTXFILEDATA) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileSaveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileSaveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileSaveObject_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileSaveObject methods ***/
#define IDirectXFileSaveObject_SaveTemplates(p,a,b) (p)->lpVtbl->SaveTemplates(p,a,b)
#define IDirectXFileSaveObject_CreateDataObject(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDataObject(p,a,b,c,d,e,f)
#define IDirectXFileSaveObject_SaveData(p,a) (p)->lpVtbl->SaveData(p,a)
#endif
#define IUNKNOWN_METHODS(kind) \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) kind; \
STDMETHOD_(ULONG,AddRef)(THIS) kind; \
STDMETHOD_(ULONG,Release)(THIS) kind
#define IDIRECTXFILEOBJECT_METHODS(kind) \
STDMETHOD(GetName) (THIS_ LPSTR, LPDWORD) kind; \
STDMETHOD(GetId) (THIS_ LPGUID) kind
#define IUNKNOWN_METHODS(kind) \
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) kind; \
STDMETHOD_(ULONG, AddRef) (THIS) kind; \
STDMETHOD_(ULONG, Release) (THIS) kind
#undef INTERFACE
#define INTERFACE IDirectXFile
DECLARE_INTERFACE_(IDirectXFile, IUnknown)
{
IUNKNOWN_METHODS(PURE);
STDMETHOD(CreateEnumObject) (THIS_ LPVOID, DXFILELOADOPTIONS, LPDIRECTXFILEENUMOBJECT *) PURE;
STDMETHOD(CreateSaveObject) (THIS_ LPCSTR, DXFILEFORMAT, LPDIRECTXFILESAVEOBJECT *) PURE;
STDMETHOD(RegisterTemplates) (THIS_ LPVOID, DWORD) PURE;
};
#undef INTERFACE
#define INTERFACE IDirectXFileEnumObject
DECLARE_INTERFACE_(IDirectXFileEnumObject, IUnknown)
{
IUNKNOWN_METHODS(PURE);
STDMETHOD(GetNextDataObject) (THIS_ LPDIRECTXFILEDATA *) PURE;
STDMETHOD(GetDataObjectById) (THIS_ REFGUID, LPDIRECTXFILEDATA *) PURE;
STDMETHOD(GetDataObjectByName) (THIS_ LPCSTR, LPDIRECTXFILEDATA *) PURE;
};
#undef INTERFACE
#define INTERFACE IDirectXFileSaveObject
DECLARE_INTERFACE_(IDirectXFileSaveObject, IUnknown)
#define INTERFACE IDirectXFileObject
DECLARE_INTERFACE_(IDirectXFileObject,IUnknown)
{
IUNKNOWN_METHODS(PURE);
STDMETHOD(SaveTemplates) (THIS_ DWORD, const GUID **) PURE;
STDMETHOD(CreateDataObject) (THIS_ REFGUID, LPCSTR, const GUID *,
DWORD, LPVOID, LPDIRECTXFILEDATA *) PURE;
STDMETHOD(SaveData) (THIS_ LPDIRECTXFILEDATA) PURE;
IDIRECTXFILEOBJECT_METHODS(PURE);
};
#undef INTERFACE
#define INTERFACE IDirectXFileObject
DECLARE_INTERFACE_(IDirectXFileObject, IUnknown)
{
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
};
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileObject_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileObject methods ***/
#define IDirectXFileObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
#define IDirectXFileObject_GetId(p,a) (p)->lpVtbl->GetId(p,a)
#endif
#undef INTERFACE
#define INTERFACE IDirectXFileData
DECLARE_INTERFACE_(IDirectXFileData, IDirectXFileObject)
DECLARE_INTERFACE_(IDirectXFileData,IDirectXFileObject)
{
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
STDMETHOD(GetData) (THIS_ LPCSTR, DWORD *, void **) PURE;
STDMETHOD(GetType) (THIS_ const GUID **) PURE;
STDMETHOD(GetNextObject) (THIS_ LPDIRECTXFILEOBJECT *) PURE;
STDMETHOD(AddDataObject) (THIS_ LPDIRECTXFILEDATA) PURE;
STDMETHOD(AddDataReference) (THIS_ LPCSTR, const GUID *) PURE;
STDMETHOD(AddBinaryObject) (THIS_ LPCSTR, const GUID *, LPCSTR, LPVOID, DWORD) PURE;
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
/*** IDirectXFileData methods ***/
STDMETHOD(GetData) (THIS_ LPCSTR, DWORD *, void **) PURE;
STDMETHOD(GetType) (THIS_ const GUID **) PURE;
STDMETHOD(GetNextObject) (THIS_ LPDIRECTXFILEOBJECT *) PURE;
STDMETHOD(AddDataObject) (THIS_ LPDIRECTXFILEDATA) PURE;
STDMETHOD(AddDataReference) (THIS_ LPCSTR, const GUID *) PURE;
STDMETHOD(AddBinaryObject) (THIS_ LPCSTR, const GUID *, LPCSTR, LPVOID, DWORD) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileData_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileData_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileObject methods ***/
#define IDirectXFileData_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
#define IDirectXFileData_GetId(p,a) (p)->lpVtbl->GetId(p,a)
/*** IDirectXFileData methods ***/
#define IDirectXFileData_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
#define IDirectXFileData_GetType(p,a) (p)->lpVtbl->GetType(p,a)
#define IDirectXFileData_GetNextObject(p,a) (p)->lpVtbl->GetNextObject(p,a)
#define IDirectXFileData_AddDataObject(p,a) (p)->lpVtbl->AddDataObject(p,a)
#define IDirectXFileData_AddDataReference(p,a,b) (p)->lpVtbl->AddDataReference(p,a,b)
#define IDirectXFileData_AddBinaryObject(p,a,b,c,d,e) (p)->lpVtbl->AddBinaryObject(p,a,b,c,d,e)
#endif
#define INTERFACE IDirectXFileDataReference
DECLARE_INTERFACE_(IDirectXFileDataReference, IDirectXFileObject)
DECLARE_INTERFACE_(IDirectXFileDataReference,IDirectXFileObject)
{
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
STDMETHOD(Resolve) (THIS_ LPDIRECTXFILEDATA *) PURE;
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
/*** IDirectXFileDataReference methods ***/
STDMETHOD(Resolve) (THIS_ LPDIRECTXFILEDATA *) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileDataReference_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileDataReference_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileDataReference_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileObject methods ***/
#define IDirectXFileDataReference_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
#define IDirectXFileDataReference_GetId(p,a) (p)->lpVtbl->GetId(p,a)
/*** IDirectXFileDataReference methods ***/
#define IDirectXFileDataReference_Resolve(p,a) (p)->lpVtbl->Resolve(p,a)
#endif
#define INTERFACE IDirectXFileBinary
DECLARE_INTERFACE_(IDirectXFileBinary, IDirectXFileObject)
DECLARE_INTERFACE_(IDirectXFileBinary,IDirectXFileObject)
{
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
STDMETHOD(GetSize) (THIS_ DWORD *) PURE;
STDMETHOD(GetMimeType) (THIS_ LPCSTR *) PURE;
STDMETHOD(Read) (THIS_ LPVOID, DWORD, LPDWORD) PURE;
IUNKNOWN_METHODS(PURE);
IDIRECTXFILEOBJECT_METHODS(PURE);
/*** IDirectXFileBinary methods ***/
STDMETHOD(GetSize) (THIS_ DWORD *) PURE;
STDMETHOD(GetMimeType) (THIS_ LPCSTR *) PURE;
STDMETHOD(Read) (THIS_ LPVOID, DWORD, LPDWORD) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectXFileBinary_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectXFileBinary_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectXFileBinary_Release(p) (p)->lpVtbl->Release(p)
/*** IDirectXFileObject methods ***/
#define IDirectXFileBinary_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
#define IDirectXFileBinary_GetId(p,a) (p)->lpVtbl->GetId(p,a)
/*** IDirectXFileBinary methods ***/
#define IDirectXFileBinary_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
#define IDirectXFileBinary_GetMimeType(p,a) (p)->lpVtbl->GetMimeType(p,a)
#define IDirectXFileBinary_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
#endif
/* DirectXFile Object CLSID */
DEFINE_GUID(CLSID_CDirectXFile, 0x4516ec43, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
/* DirectX File Interface GUIDs */
DEFINE_GUID(IID_IDirectXFile, 0x3d82ab40, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileEnumObject, 0x3d82ab41, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileSaveObject, 0x3d82ab42, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileObject, 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileData, 0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileDataReference, 0x3d82ab45, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileBinary, 0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
/* DirectX File Header template's GUID */
DEFINE_GUID(TID_DXFILEHeader, 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33);
/* DirectX File errors */
#define _FACDD 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
#define DXFILE_OK 0
#define DXFILEERR_BADOBJECT MAKE_DDHRESULT(850)
#define DXFILEERR_BADVALUE MAKE_DDHRESULT(851)
#define DXFILEERR_BADTYPE MAKE_DDHRESULT(852)
#define DXFILEERR_BADSTREAMHANDLE MAKE_DDHRESULT(853)
#define DXFILEERR_BADALLOC MAKE_DDHRESULT(854)
#define DXFILEERR_NOTFOUND MAKE_DDHRESULT(855)
#define DXFILEERR_NOTDONEYET MAKE_DDHRESULT(856)
#define DXFILEERR_FILENOTFOUND MAKE_DDHRESULT(857)
#define DXFILEERR_RESOURCENOTFOUND MAKE_DDHRESULT(858)
#define DXFILEERR_URLNOTFOUND MAKE_DDHRESULT(859)
#define DXFILEERR_BADRESOURCE MAKE_DDHRESULT(860)
#define DXFILEERR_BADFILETYPE MAKE_DDHRESULT(861)
#define DXFILEERR_BADFILEVERSION MAKE_DDHRESULT(862)
#define DXFILEERR_BADFILEFLOATSIZE MAKE_DDHRESULT(863)
#define DXFILEERR_BADFILECOMPRESSIONTYPE MAKE_DDHRESULT(864)
#define DXFILEERR_BADFILE MAKE_DDHRESULT(865)
#define DXFILEERR_PARSEERROR MAKE_DDHRESULT(866)
#define DXFILEERR_NOTEMPLATE MAKE_DDHRESULT(867)
#define DXFILEERR_BADARRAYSIZE MAKE_DDHRESULT(868)
#define DXFILEERR_BADDATAREFERENCE MAKE_DDHRESULT(869)
#define DXFILEERR_INTERNALERROR MAKE_DDHRESULT(870)
#define DXFILEERR_NOMOREOBJECTS MAKE_DDHRESULT(871)
#define DXFILEERR_BADINTRINSICS MAKE_DDHRESULT(872)
#define DXFILEERR_NOMORESTREAMHANDLES MAKE_DDHRESULT(873)
#define DXFILEERR_NOMOREDATA MAKE_DDHRESULT(874)
#define DXFILEERR_BADCACHEFILE MAKE_DDHRESULT(875)
#define DXFILEERR_NOINTERNET MAKE_DDHRESULT(876)
#ifdef __cplusplus
};
#endif
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif
#endif /* __WINE_DXFILE_H */
+1 -1
View File
@@ -9,7 +9,7 @@ DEFINE_GUID(TID_D3DRMMaterialArray, 0x35FF44E1, 0x6C7C, 0x11CF, 0x8F, 0
DEFINE_GUID(TID_D3DRMFrame, 0x3D82AB46, 0x62DA, 0x11CF, 0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33);
DEFINE_GUID(TID_D3DRMFrameTransformMatrix, 0xF6F23F41, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMeshMaterialList, 0xF6F23F42, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMeshTexturECoords, 0xF6F23F40, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMeshTextureCoords, 0xF6F23F40, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMeshNormals, 0xF6F23F43, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMCoords2d, 0xF6F23F44, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMatrix4x4, 0xF6F23F45, 0x7686, 0x11CF, 0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3);
+285
View File
@@ -0,0 +1,285 @@
/* File generated automatically from rmxftmpl.x; do not edit */
#ifndef __WINE_RMXFTMPL_H
#define __WINE_RMXFTMPL_H
unsigned char D3DRM_XTEMPLATES[] = {
0x78, 0x6f, 0x66, 0x20, 0x30, 0x33, 0x30, 0x32, 0x62, 0x69, 0x6e, 0x20,
0x30, 0x30, 0x36, 0x34, 0x1f, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00,
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0a, 0x00, 0x05, 0x00, 0x43, 0xab,
0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71,
0xe4, 0x33, 0x28, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6d, 0x61,
0x6a, 0x6f, 0x72, 0x14, 0x00, 0x28, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00,
0x00, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x14, 0x00, 0x29, 0x00, 0x01, 0x00,
0x05, 0x00, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x14, 0x00, 0x0b,
0x00, 0x1f, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x0a, 0x00, 0x05, 0x00, 0x5e, 0xab, 0x82, 0x3d, 0xda,
0x62, 0xcf, 0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x2a,
0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x78, 0x14, 0x00, 0x2a, 0x00,
0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x79, 0x14, 0x00, 0x2a, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00, 0x00, 0x7a, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00,
0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73,
0x32, 0x64, 0x0a, 0x00, 0x05, 0x00, 0x44, 0x3f, 0xf2, 0xf6, 0x86, 0x76,
0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x2a, 0x00,
0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x14, 0x00, 0x2a, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00,
0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78,
0x34, 0x78, 0x34, 0x0a, 0x00, 0x05, 0x00, 0x45, 0x3f, 0xf2, 0xf6, 0x86,
0x76, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x34,
0x00, 0x2a, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x74,
0x72, 0x69, 0x78, 0x0e, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f,
0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00,
0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x41, 0x0a, 0x00,
0x05, 0x00, 0xe0, 0x44, 0xff, 0x35, 0x7c, 0x6c, 0xcf, 0x11, 0x8f, 0x52,
0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x2a, 0x00, 0x01, 0x00, 0x03, 0x00,
0x00, 0x00, 0x72, 0x65, 0x64, 0x14, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x05,
0x00, 0x00, 0x00, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x14, 0x00, 0x2a, 0x00,
0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x62, 0x6c, 0x75, 0x65, 0x14, 0x00,
0x2a, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00,
0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x0a, 0x00, 0x05,
0x00, 0x81, 0x6e, 0xe1, 0xd3, 0x35, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0x00,
0x40, 0x33, 0x35, 0x94, 0xa3, 0x2a, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00,
0x00, 0x72, 0x65, 0x64, 0x14, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x05, 0x00,
0x00, 0x00, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x14, 0x00, 0x2a, 0x00, 0x01,
0x00, 0x04, 0x00, 0x00, 0x00, 0x62, 0x6c, 0x75, 0x65, 0x14, 0x00, 0x0b,
0x00, 0x1f, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, 0x00, 0x05,
0x00, 0x20, 0xb8, 0x30, 0x16, 0x42, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0x00,
0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00,
0x00, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x14, 0x00, 0x01, 0x00, 0x09, 0x00,
0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x41, 0x01,
0x00, 0x0a, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
0x6c, 0x6f, 0x72, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x07,
0x00, 0x00, 0x00, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x0a, 0x00,
0x05, 0x00, 0xa0, 0xa6, 0x7d, 0x53, 0x37, 0xca, 0xd0, 0x11, 0x94, 0x1c,
0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b, 0x29, 0x00, 0x01, 0x00, 0x09, 0x00,
0x00, 0x00, 0x74, 0x72, 0x75, 0x65, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x14,
0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x42,
0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x32, 0x64, 0x0a, 0x00, 0x05, 0x00,
0x63, 0xae, 0x85, 0x48, 0xe8, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40,
0x33, 0x35, 0x94, 0xa3, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x42, 0x6f,
0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75,
0x14, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x42, 0x6f, 0x6f, 0x6c,
0x65, 0x61, 0x6e, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x14, 0x00,
0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x4d, 0x61,
0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x0a, 0x00,
0x05, 0x00, 0x60, 0xae, 0x85, 0x48, 0xe8, 0x78, 0xcf, 0x11, 0x8f, 0x52,
0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00,
0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x75, 0x14, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x42, 0x6f,
0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76,
0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x00,
0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e,
0x61, 0x6d, 0x65, 0x0a, 0x00, 0x05, 0x00, 0xe1, 0x90, 0x27, 0xa4, 0x10,
0x78, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x31,
0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x66, 0x69, 0x6c, 0x65, 0x6e,
0x61, 0x6d, 0x65, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x08,
0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x0a,
0x00, 0x05, 0x00, 0x4d, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab,
0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x01, 0x00, 0x09, 0x00, 0x00,
0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x41, 0x01, 0x00,
0x09, 0x00, 0x00, 0x00, 0x66, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6f,
0x72, 0x14, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x70,
0x6f, 0x77, 0x65, 0x72, 0x14, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x01, 0x00, 0x0d, 0x00,
0x00, 0x00, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x43, 0x6f,
0x6c, 0x6f, 0x72, 0x14, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x43,
0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x01, 0x00, 0x0d, 0x00, 0x00,
0x00, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6c,
0x6f, 0x72, 0x14, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00,
0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65, 0x0a, 0x00, 0x05, 0x00,
0x5f, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39, 0x00, 0x20,
0xaf, 0x71, 0xe4, 0x33, 0x29, 0x00, 0x01, 0x00, 0x12, 0x00, 0x00, 0x00,
0x6e, 0x46, 0x61, 0x63, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49,
0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x14, 0x00, 0x34, 0x00, 0x29, 0x00,
0x01, 0x00, 0x11, 0x00, 0x00, 0x00, 0x66, 0x61, 0x63, 0x65, 0x56, 0x65,
0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x0e,
0x00, 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65,
0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65,
0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0d,
0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65, 0x57,
0x72, 0x61, 0x70, 0x73, 0x0a, 0x00, 0x05, 0x00, 0xc0, 0xc5, 0x1e, 0xed,
0xa8, 0xc0, 0xd0, 0x11, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b,
0x29, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x6e, 0x46, 0x61, 0x63,
0x65, 0x57, 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x14,
0x00, 0x34, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x42, 0x6f, 0x6f,
0x6c, 0x65, 0x61, 0x6e, 0x32, 0x64, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00,
0x66, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x6e, 0x46,
0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x11,
0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x65, 0x78, 0x74, 0x75,
0x72, 0x65, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x0a, 0x00, 0x05, 0x00,
0x40, 0x3f, 0xf2, 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40,
0x33, 0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00,
0x6e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6f, 0x72,
0x64, 0x73, 0x14, 0x00, 0x34, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x32, 0x64, 0x01, 0x00, 0x0d, 0x00,
0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6f,
0x72, 0x64, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x6e,
0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6f, 0x72, 0x64,
0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x10,
0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x65, 0x72,
0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x0a, 0x00, 0x05, 0x00, 0x42,
0x3f, 0xf2, 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33,
0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x6e,
0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x14, 0x00, 0x29,
0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65,
0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x14, 0x00, 0x34, 0x00, 0x29,
0x00, 0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x66, 0x61, 0x63, 0x65, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x0c, 0x00,
0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x65, 0x73, 0x0f, 0x00, 0x14, 0x00, 0x0e, 0x00, 0x01, 0x00, 0x08, 0x00,
0x00, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x0f, 0x00,
0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x4d, 0x65,
0x73, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x0a, 0x00, 0x05,
0x00, 0x43, 0x3f, 0xf2, 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0x00,
0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00,
0x00, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x14, 0x00, 0x34,
0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x56, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
0x6c, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6e, 0x4e,
0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x0f, 0x00, 0x14, 0x00, 0x29, 0x00,
0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x4e,
0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x14, 0x00, 0x34, 0x00, 0x01, 0x00,
0x08, 0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65,
0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f,
0x72, 0x6d, 0x61, 0x6c, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00,
0x00, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x10,
0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x56, 0x65, 0x72, 0x74, 0x65,
0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x0a, 0x00, 0x05, 0x00, 0x21,
0xb8, 0x30, 0x16, 0x42, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33,
0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6e,
0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73,
0x14, 0x00, 0x34, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x49, 0x6e,
0x64, 0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x01, 0x00,
0x0c, 0x00, 0x00, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f,
0x6c, 0x6f, 0x72, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00,
0x6e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x04,
0x00, 0x00, 0x00, 0x4d, 0x65, 0x73, 0x68, 0x0a, 0x00, 0x05, 0x00, 0x44,
0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39, 0x00, 0x20, 0xaf,
0x71, 0xe4, 0x33, 0x29, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6e,
0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x14, 0x00, 0x34, 0x00,
0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63,
0x65, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6e, 0x56,
0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x0f, 0x00, 0x14, 0x00, 0x29,
0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65,
0x73, 0x14, 0x00, 0x34, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4d,
0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65, 0x01, 0x00, 0x05, 0x00, 0x00,
0x00, 0x66, 0x61, 0x63, 0x65, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x06, 0x00,
0x00, 0x00, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x73, 0x0f, 0x00, 0x14, 0x00,
0x0e, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x0f, 0x00, 0x0b, 0x00,
0x1f, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x72, 0x61, 0x6d,
0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61,
0x74, 0x72, 0x69, 0x78, 0x0a, 0x00, 0x05, 0x00, 0x41, 0x3f, 0xf2, 0xf6,
0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3,
0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78,
0x34, 0x78, 0x34, 0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x66, 0x72, 0x61,
0x6d, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x14, 0x00, 0x0b, 0x00,
0x1f, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x72, 0x61, 0x6d,
0x65, 0x0a, 0x00, 0x05, 0x00, 0x46, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf,
0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x0e, 0x00, 0x12,
0x00, 0x12, 0x00, 0x12, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01,
0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b, 0x65,
0x79, 0x73, 0x0a, 0x00, 0x05, 0x00, 0xa9, 0x46, 0xdd, 0x10, 0x5b, 0x77,
0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00,
0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x73, 0x14, 0x00, 0x34, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00,
0x00, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x07,
0x00, 0x00, 0x00, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0f, 0x00,
0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00,
0x54, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b, 0x65,
0x79, 0x73, 0x0a, 0x00, 0x05, 0x00, 0x80, 0xb1, 0x06, 0xf4, 0x3b, 0x7b,
0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00,
0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x74, 0x69, 0x6d, 0x65, 0x14, 0x00,
0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b,
0x65, 0x79, 0x73, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6b,
0x65, 0x79, 0x73, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0c,
0x00, 0x00, 0x00, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4b, 0x65, 0x79, 0x0a, 0x00, 0x05, 0x00, 0xa8, 0x46, 0xdd, 0x10, 0x5b,
0x77, 0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29,
0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6b, 0x65, 0x79, 0x54, 0x79,
0x70, 0x65, 0x14, 0x00, 0x29, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00,
0x6e, 0x4b, 0x65, 0x79, 0x73, 0x14, 0x00, 0x34, 0x00, 0x01, 0x00, 0x0e,
0x00, 0x00, 0x00, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x4b, 0x65, 0x79, 0x73, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6b,
0x65, 0x79, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6e,
0x4b, 0x65, 0x79, 0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00,
0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x00,
0x05, 0x00, 0xc0, 0x56, 0xbf, 0xe2, 0x0f, 0x84, 0xcf, 0x11, 0x8f, 0x52,
0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00, 0x01, 0x00, 0x0a, 0x00,
0x00, 0x00, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64,
0x14, 0x00, 0x29, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x70, 0x6f,
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
0x79, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x09, 0x00, 0x00,
0x00, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x00,
0x05, 0x00, 0x4f, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39,
0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x0e, 0x00, 0x12, 0x00, 0x12, 0x00,
0x12, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0c, 0x00,
0x00, 0x00, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
0x65, 0x74, 0x0a, 0x00, 0x05, 0x00, 0x50, 0xab, 0x82, 0x3d, 0xda, 0x62,
0xcf, 0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x0e, 0x00,
0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0a,
0x00, 0x00, 0x00, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74,
0x61, 0x0a, 0x00, 0x05, 0x00, 0xa0, 0xee, 0x23, 0x3a, 0xb1, 0x94, 0xd0,
0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x0e, 0x00, 0x01,
0x00, 0x06, 0x00, 0x00, 0x00, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x0f,
0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55,
0x72, 0x6c, 0x0a, 0x00, 0x05, 0x00, 0xa1, 0xee, 0x23, 0x3a, 0xb1, 0x94,
0xd0, 0x11, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x29, 0x00,
0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6e, 0x55, 0x72, 0x6c, 0x73, 0x14,
0x00, 0x34, 0x00, 0x31, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75,
0x72, 0x6c, 0x73, 0x0e, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6e,
0x55, 0x72, 0x6c, 0x73, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00, 0x1f, 0x00,
0x01, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
0x73, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x0a, 0x00, 0x05,
0x00, 0x60, 0xc3, 0x63, 0x8a, 0x7d, 0x99, 0xd0, 0x11, 0x94, 0x1c, 0x00,
0x80, 0xc8, 0x0c, 0xfa, 0x7b, 0x0e, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00,
0x00, 0x55, 0x72, 0x6c, 0x13, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00,
0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x0f, 0x00,
0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x75,
0x69, 0x64, 0x0a, 0x00, 0x05, 0x00, 0xe0, 0x90, 0x27, 0xa4, 0x10, 0x78,
0xcf, 0x11, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0x00,
0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61, 0x31, 0x14,
0x00, 0x28, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x64, 0x61, 0x74,
0x61, 0x32, 0x14, 0x00, 0x28, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00,
0x64, 0x61, 0x74, 0x61, 0x33, 0x14, 0x00, 0x34, 0x00, 0x2d, 0x00, 0x01,
0x00, 0x05, 0x00, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61, 0x34, 0x0e, 0x00,
0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x14, 0x00, 0x0b, 0x00,
0x1f, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x0a, 0x00,
0x05, 0x00, 0xe0, 0x21, 0x0f, 0x7f, 0xe1, 0xbf, 0xd1, 0x11, 0x82, 0xc0,
0x00, 0xa0, 0xc9, 0x69, 0x72, 0x71, 0x31, 0x00, 0x01, 0x00, 0x03, 0x00,
0x00, 0x00, 0x6b, 0x65, 0x79, 0x14, 0x00, 0x31, 0x00, 0x01, 0x00, 0x05,
0x00, 0x00, 0x00, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x14, 0x00, 0x0b, 0x00,
0x1f, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x50, 0x72, 0x6f, 0x70,
0x65, 0x72, 0x74, 0x79, 0x42, 0x61, 0x67, 0x0a, 0x00, 0x05, 0x00, 0xe1,
0x21, 0x0f, 0x7f, 0xe1, 0xbf, 0xd1, 0x11, 0x82, 0xc0, 0x00, 0xa0, 0xc9,
0x69, 0x72, 0x71, 0x0e, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
0x79, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0e, 0x00, 0x00,
0x00, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x69, 0x73,
0x75, 0x61, 0x6c, 0x0a, 0x00, 0x05, 0x00, 0xa0, 0x6a, 0x11, 0x98, 0xba,
0xbd, 0xd1, 0x11, 0x82, 0xc0, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x71, 0x01,
0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x75, 0x69, 0x64, 0x01, 0x00, 0x12,
0x00, 0x00, 0x00, 0x67, 0x75, 0x69, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x14, 0x00, 0x0e,
0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f,
0x00, 0x01, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x52, 0x69, 0x67, 0x68, 0x74,
0x48, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x0a, 0x00, 0x05, 0x00, 0xa0, 0x5e,
0x5d, 0x7f, 0x3a, 0xd5, 0xd1, 0x11, 0x82, 0xc0, 0x00, 0xa0, 0xc9, 0x69,
0x72, 0x71, 0x29, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x62, 0x52,
0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x14, 0x00,
0x0b, 0x00,
};
#define D3DRM_XTEMPLATE_BYTES 3278
#endif /* __WINE_RMXFTMPL_H */
+1 -1
View File
@@ -161,7 +161,7 @@ typedef DWORD LCID;
/* non standard; keep the number high enough (but < 0xff) */
#define LANG_ESPERANTO 0x8f
#define LANG_WALON 0x90
#define LANG_CORNISH 0x91
#define LANG_CORNISH 0x92
#define LANG_GAELIC 0x94
/* Sublanguage definitions */
+1 -62
View File
@@ -1,62 +1 @@
/*
* Exported functions of the Wine preprocessor
*
* Copyright 2002 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_WPP_H
#define __WINE_WPP_H
#include <stdio.h>
#include <stdarg.h>
struct wpp_callbacks
{
/* I/O callbacks */
/* Looks for a file to include, returning the path where it is found */
/* parent_name is the directory of the parent source file (for local
* includes), includepath is an array of additional include paths */
char *(*lookup)( const char *filename, const char *parent_name,
char **include_path, int include_path_count );
/* Opens an include file */
/* The type param is true if it is a local ("...") include */
void *(*open)( const char *filename, int type );
/* Closes a previously opened file */
void (*close)( void *file );
/* Reads buffer from the input */
int (*read)( void *file, char *buffer, unsigned int len );
/* Writes buffer to the output */
void (*write)( const char *buffer, unsigned int len );
/* Error callbacks */
void (*error)( const char *file, int line, int col, const char *near, const char *msg, va_list ap );
void (*warning)( const char *file, int line, int col, const char *near, const char *msg, va_list ap );
};
/* Return value == 0 means successful execution */
extern int wpp_add_define( const char *name, const char *value );
extern void wpp_del_define( const char *name );
extern int wpp_add_cmdline_define( const char *value );
extern void wpp_set_debug( int lex_debug, int parser_debug, int msg_debug );
extern void wpp_set_pedantic( int on );
extern int wpp_add_include_path( const char *path );
extern char *wpp_find_include( const char *name, const char *parent_name );
extern int wpp_parse( const char *input, FILE *output );
extern void wpp_set_callbacks( const struct wpp_callbacks *callbacks );
#endif /* __WINE_WPP_H */
#include "../../reactos/wine/wpp.h"
+21 -2
View File
@@ -343,11 +343,30 @@ typedef struct _SECTION_IMAGE_INFORMATION
USHORT ImageCharacteristics;
USHORT DllCharacteristics;
USHORT Machine;
UCHAR ImageContainsCode;
UCHAR Spare1;
BOOLEAN ImageContainsCode;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
union
{
struct
{
UCHAR ComPlusNativeReady:1;
UCHAR ComPlusILOnly:1;
UCHAR ImageDynamicallyRelocated:1;
UCHAR ImageMappedFlat:1;
UCHAR Reserved:4;
};
UCHAR ImageFlags;
};
#else
BOOLEAN Spare1;
#endif
ULONG LoaderFlags;
ULONG ImageFileSize;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
ULONG CheckSum;
#else
ULONG Reserved[1];
#endif
} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;
#ifndef NTOS_MODE_USER
+2 -1
View File
@@ -199,7 +199,8 @@ PsGetProcessExitStatus(
_In_ PEPROCESS Process
);
HANDLE
NTKERNELAPI
ULONG
NTAPI
PsGetProcessSessionId(
_In_ PEPROCESS Process
+1 -1
View File
@@ -69,7 +69,7 @@ extern POBJECT_TYPE NTSYSAPI PsJobType;
#define FLG_KERNEL_STACK_TRACE_DB 0x00002000
#define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
#define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
#define FLG_IGNORE_DEBUG_PRIV 0x00010000
#define FLG_DISABLE_STACK_EXTENSION 0x00010000
#define FLG_ENABLE_CSRDEBUG 0x00020000
#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
#define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
+17 -4
View File
@@ -2165,8 +2165,8 @@ NTSYSAPI
BOOLEAN
NTAPI
RtlPrefixString(
PCANSI_STRING String1,
PCANSI_STRING String2,
PSTRING String1,
PSTRING String2,
BOOLEAN CaseInsensitive
);
@@ -2725,6 +2725,15 @@ RtlGetFullPathName_UstrEx(
_Out_opt_ PSIZE_T LengthNeeded
);
NTSYSAPI
NTSTATUS
NTAPI
RtlGetLengthWithoutTrailingPathSeperators(
_Reserved_ ULONG Flags,
_In_ PCUNICODE_STRING PathString,
_Out_ PULONG Length
);
NTSYSAPI
ULONG
NTAPI
@@ -3511,8 +3520,12 @@ NTSYSAPI
NTSTATUS
NTAPI
RtlCreateActivationContext(
_Out_ PHANDLE Handle,
_Inout_ PVOID ReturnedData
_In_ ULONG Flags,
_In_ PACTIVATION_CONTEXT_DATA ActivationContextData,
_In_ ULONG ExtraBytes,
_In_ PVOID NotificationRoutine,
_In_ PVOID NotificationContext,
_Out_ PACTIVATION_CONTEXT *ActCtx
);
NTSYSAPI
+39 -6
View File
@@ -72,16 +72,37 @@ extern "C" {
#define RTL_RANGE_CONFLICT 0x02
//
// Activation Context Frame Flags
// Flags in RTL_ACTIVATION_CONTEXT_STACK_FRAME (from Checked NTDLL)
//
#define RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_FORMAT_WHISTLER \
0x1
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NO_DEACTIVATE 0x02
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ON_FREE_LIST 0x04
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_HEAP_ALLOCATED 0x08
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_NOT_REALLY_ACTIVATED 0x10
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_ACTIVATED 0x20
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_DEACTIVATED 0x40
//
// RtlActivateActivationContextEx Flags
// Activation Context Frame Flags (from Checked NTDLL)
//
#define RTL_ACTIVATE_ACTIVATION_CONTEXT_EX_FLAG_RELEASE_ON_STACK_DEALLOCATION \
0x1
#define RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_FORMAT_WHISTLER 0x01
//
// RtlActivateActivationContextEx Flags (from Checked NTDLL)
//
#define RTL_ACTIVATE_ACTIVATION_CONTEXT_EX_FLAG_RELEASE_ON_STACK_DEALLOCATION 0x01
//
// RtlDeactivateActivationContext Flags (based on Win32 flag and name of above)
//
#define RTL_DEACTIVATE_ACTIVATION_CONTEXT_FLAG_FORCE_EARLY_DEACTIVATION 0x01
//
// RtlQueryActivationContext Flags (based on Win32 flag and name of above)
//
#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_USE_ACTIVE_ACTIVATION_CONTEXT 0x01
#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_HMODULE 0x02
#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_IS_ADDRESS 0x04
#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_NO_ADDREF 0x80000000
//
// Public Heap Flags
@@ -882,6 +903,18 @@ typedef struct _ACTIVATION_CONTEXT_STACK
} ACTIVATION_CONTEXT_STACK, *PACTIVATION_CONTEXT_STACK;
#endif
typedef struct _ACTIVATION_CONTEXT_DATA
{
ULONG Magic;
ULONG HeaderSize;
ULONG FormatVersion;
ULONG TotalSize;
ULONG DefaultTocOffset;
ULONG ExtendedTocOffset;
ULONG AssemblyRosterOffset;
ULONG Flags;
} ACTIVATION_CONTEXT_DATA, *PACTIVATION_CONTEXT_DATA;
#endif /* NTOS_MODE_USER */
//
+4
View File
@@ -13,6 +13,7 @@ list(APPEND SOURCE
# asysta.idl
atliface.idl
audioclient.idl
audiopolicy.idl
bdaiface.idl
# binres.idl
bits.idl
@@ -33,6 +34,7 @@ list(APPEND SOURCE
# dbprop.idl
# dbs.idl
devenum.idl
devicetopology.idl
dimm.idl
dispex.idl
docobj.idl
@@ -40,6 +42,7 @@ list(APPEND SOURCE
downloadmgr.idl
dxgi.idl
# dyngraph.idl
endpointvolume.idl
exdisp.idl
fusion.idl
hlink.idl
@@ -51,6 +54,7 @@ list(APPEND SOURCE
imnact.idl
imnxport.idl
indexsrv.idl
inputscope.idl
metahost.idl
mimeinfo.idl
mimeole.idl
+240
View File
@@ -0,0 +1,240 @@
/*
* Core Audio audio policy definitions
*
* Copyright 2009 Maarten Lankhorst
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
import "oaidl.idl";
import "ocidl.idl";
import "propidl.idl";
import "audiosessiontypes.h";
import "audioclient.idl";
interface IAudioSessionEvents;
interface IAudioSessionControl;
interface IAudioSessionControl2;
interface IAudioSessionManager;
interface IAudioVolumeDuckNotification;
interface IAudioSessionNotification;
interface IAudioSessionEnumerator;
interface IAudioSessionManager2;
typedef enum AudioSessionDisconnectReason /*[local]*/
{
DisconnectReasonDeviceRemoval = 0,
DisconnectReasonServerShutdown,
DisconnectReasonFormatChanged,
DisconnectReasonSessionLogoff,
DisconnectReasonSessionDisconnected,
DisconnectReasonExclusiveModeOverride,
} AudioSessionDisconnectReason;
[
local,
uuid(24918acc-64b3-37c1-8ca9-74a66e9957a8),
pointer_default(unique),
object
]
interface IAudioSessionEvents : IUnknown
{
HRESULT OnDisplayNameChanged(
[string,in] LPCWSTR NewDisplayName,
[in] LPCGUID EventContext
);
HRESULT OnIconPathChanged(
[string,in] LPCWSTR NewIconPath,
[in] LPCGUID EventContext
);
HRESULT OnSimpleVolumeChanged(
[in] float NewVolume,
[in] BOOL NewMute,
[in] LPCGUID EventContext
);
HRESULT OnChannelVolumeChanged(
[in] DWORD ChannelCount,
[size_is(ChannelCount),in] float *NewChannelVolumeArray,
[in] DWORD ChangedChannel,
[in] LPCGUID EventContext
);
HRESULT OnGroupingParamChanged(
[in] LPCGUID NewGroupingParam,
[in] LPCGUID EventContext
);
HRESULT OnStateChanged(
[in] AudioSessionState NewState
);
HRESULT OnSessionDisconnected(
[in] AudioSessionDisconnectReason DisconnectReason
);
}
[
local,
uuid(f4b1a599-7266-4319-a8ca-e70acb11e8cd),
pointer_default(unique),
object
]
interface IAudioSessionControl : IUnknown
{
HRESULT GetState(
[out] AudioSessionState *pRetVal
);
HRESULT GetDisplayName(
[string,out] LPWSTR *pRetVal
);
HRESULT SetDisplayName(
[string,in] LPCWSTR DisplayName,
[unique,in] LPCGUID EventContext
);
HRESULT GetIconPath(
[string,out] LPWSTR *pRetVal
);
HRESULT SetIconPath(
[string,in] LPCWSTR Value,
[unique,in] LPCGUID EventContext
);
HRESULT GetGroupingParam(
[out] GUID *pRetVal
);
HRESULT SetGroupingParam(
[in] LPCGUID Override,
[unique,in] LPCGUID EventContext
);
HRESULT RegisterAudioSessionNotification(
[in] IAudioSessionEvents *NewNotifications
);
HRESULT UnregisterAudioSessionNotification(
[in] IAudioSessionEvents *NewNotifications
);
}
[
local,
uuid(bfb7ff88-7239-4fc9-8fa2-07c950be9c6d),
pointer_default(unique),
object
]
interface IAudioSessionControl2 : IAudioSessionControl
{
HRESULT GetSessionIdentifier(
[string,out] LPWSTR *pRetVal
);
HRESULT GetSessionInstanceIdentifier(
[string,out] LPWSTR *pRetVal
);
HRESULT GetProcessId(
[out] DWORD *pRetVal
);
HRESULT IsSystemSoundsSession(void);
HRESULT SetDuckingPreferences(
[in] BOOL optOut
);
};
[
local,
uuid(bfa971f1-4d5e-40bb-935e-967039bfbee4),
pointer_default(unique),
object
]
interface IAudioSessionManager : IUnknown
{
HRESULT GetAudioSessionControl(
[in] LPCGUID AudioSessionGuid,
[in] DWORD StreamFlags,
[out] IAudioSessionControl **SessionControl
);
HRESULT GetSimpleAudioVolume(
[in] LPCGUID AudioSessionGuid,
[in] DWORD StreamFlags,
[out] ISimpleAudioVolume **AudioVolume
);
};
[
local,
uuid(c3b284d4-6d39-4359-b3cf-b56ddb3bb39c),
pointer_default(unique),
object
]
interface IAudioVolumeDuckNotification : IUnknown
{
HRESULT OnVolumeDuckNotification(
[in] LPCWSTR sessionID,
[in] UINT32 countCommunicationSessions
);
HRESULT OnVolumeUnduckNotification(
[in] LPCWSTR sessionID
);
};
[
local,
uuid(641dd20b-4d41-49cc-aba3-174b9477bb08),
pointer_default(unique),
object
]
interface IAudioSessionNotification : IUnknown
{
HRESULT OnSessionCreated(
[in] IAudioSessionControl *NewSession
);
};
[
local,
uuid(e2f5bb11-0570-40ca-acdd-3aa01277dee8),
pointer_default(unique),
object
]
interface IAudioSessionEnumerator : IUnknown
{
HRESULT GetCount(
[out] INT *SessionCount
);
HRESULT GetSession(
[in] INT SessionCount,
[out] IAudioSessionControl **Session
);
};
[
local,
uuid(77aa99a0-1bd6-484f-8bc7-2c654c9a9b6f),
pointer_default(unique),
object
]
interface IAudioSessionManager2 : IAudioSessionManager
{
HRESULT GetSessionEnumerator(
[retval,out] IAudioSessionEnumerator **SessionEnum
);
HRESULT RegisterSessionNotification(
[in] IAudioSessionNotification *SessionNotification
);
HRESULT UnregisterSessionNotification(
[in] IAudioSessionNotification *SessionNotification
);
HRESULT RegisterDuckNotification(
[string,in] LPCWSTR sessionID,
[in] IAudioVolumeDuckNotification *duckNotification
);
HRESULT UnregisterDuckNotification(
[in] IAudioVolumeDuckNotification *duckNotification
);
};
+1
View File
@@ -58,6 +58,7 @@ extern const CLSID CLSID_StaticMetafile;
extern const CLSID CLSID_StaticDib;
extern const CLSID CID_CDfsVolume;
extern const CLSID CLSID_DCOMAccessControl;
extern const CLSID CLSID_GlobalOptions;
extern const CLSID CLSID_StdGlobalInterfaceTable;
extern const CLSID CLSID_ComBinding;
extern const CLSID CLSID_StdEvent;
+130
View File
@@ -0,0 +1,130 @@
#pragma once
#ifndef _CHSTRING_H
#define _CHSTRING_H
#include <windows.h>
#include <provexce.h>
struct CHStringData
{
long nRefs;
int nDataLength;
int nAllocLength;
WCHAR* data()
{
return (WCHAR*)(this+1);
}
};
class CHString
{
public:
CHString();
CHString(WCHAR ch, int nRepeat = 1) throw (CHeap_Exception);
CHString(LPCWSTR lpsz) throw (CHeap_Exception);
CHString(LPCWSTR lpch, int nLength) throw (CHeap_Exception);
CHString(LPCSTR lpsz) throw (CHeap_Exception);
CHString(const CHString& stringSrc);
CHString(const unsigned char* lpsz);
~CHString();
BSTR AllocSysString() const throw (CHeap_Exception);
int Collate(LPCWSTR lpsz) const;
int Compare(LPCWSTR lpsz) const;
int CompareNoCase(LPCWSTR lpsz) const;
void Empty();
int Find(WCHAR ch) const;
int Find(LPCWSTR lpszSub) const;
int FindOneOf(LPCWSTR lpszCharSet) const;
void Format(UINT nFormatID, ...) throw (CHeap_Exception);
void Format(LPCWSTR lpszFormat, ...) throw (CHeap_Exception);
void FormatMessageW(UINT nFormatID, ...) throw (CHeap_Exception);
void FormatMessageW(LPCWSTR lpszFormat, ...) throw (CHeap_Exception);
void FormatV(LPCWSTR lpszFormat, va_list argList);
void FreeExtra() throw (CHeap_Exception);
int GetAllocLength() const;
WCHAR GetAt(int nIndex) const;
LPWSTR GetBuffer(int nMinBufLength) throw (CHeap_Exception);
LPWSTR GetBufferSetLength(int nNewLength) throw (CHeap_Exception);
int GetLength() const;
BOOL IsEmpty() const;
CHString Left(int nCount) const throw (CHeap_Exception);
int LoadStringW(UINT nID) throw (CHeap_Exception);
LPWSTR LockBuffer();
void MakeLower() throw (CHeap_Exception);
void MakeReverse() throw (CHeap_Exception);
void MakeUpper() throw (CHeap_Exception);
CHString Mid(int nFirst) const throw (CHeap_Exception);
CHString Mid(int nFirst, int nCount) const throw (CHeap_Exception);
void ReleaseBuffer(int nNewLength = -1) throw (CHeap_Exception);
int ReverseFind(WCHAR ch) const;
CHString Right(int nCount) const throw (CHeap_Exception);
void SetAt(int nIndex, WCHAR ch) throw (CHeap_Exception);
CHString SpanExcluding(LPCWSTR lpszCharSet) const throw (CHeap_Exception);
CHString SpanIncluding(LPCWSTR lpszCharSet) const throw (CHeap_Exception);
void TrimLeft() throw (CHeap_Exception);
void TrimRight() throw (CHeap_Exception);
void UnlockBuffer();
const CHString& operator=(char ch) throw (CHeap_Exception);
const CHString& operator=(WCHAR ch) throw (CHeap_Exception);
const CHString& operator=(CHString *p) throw (CHeap_Exception);
const CHString& operator=(LPCSTR lpsz) throw (CHeap_Exception);
const CHString& operator=(LPCWSTR lpsz) throw (CHeap_Exception);
const CHString& operator=(const CHString& stringSrc) throw (CHeap_Exception);
const CHString& operator=(const unsigned char* lpsz) throw (CHeap_Exception);
const CHString& operator+=(char ch) throw (CHeap_Exception);
const CHString& operator+=(WCHAR ch) throw (CHeap_Exception);
const CHString& operator+=(LPCWSTR lpsz) throw (CHeap_Exception);
const CHString& operator+=(const CHString& string) throw (CHeap_Exception);
WCHAR operator[](int nIndex) const;
operator LPCWSTR() const;
friend CHString WINAPI operator+(WCHAR ch, const CHString& string) throw (CHeap_Exception);
friend CHString WINAPI operator+(const CHString& string, WCHAR ch) throw (CHeap_Exception);
friend CHString WINAPI operator+(const CHString& string, LPCWSTR lpsz) throw (CHeap_Exception);
friend CHString WINAPI operator+(LPCWSTR lpsz, const CHString& string) throw (CHeap_Exception);
friend CHString WINAPI operator+(const CHString& string1, const CHString& string2) throw (CHeap_Exception);
protected:
LPWSTR m_pchData;
void AllocBeforeWrite(int nLen) throw (CHeap_Exception);
void AllocBuffer(int nLen) throw (CHeap_Exception);
void AllocCopy(CHString& dest, int nCopyLen, int nCopyIndex, int nExtraLen) const throw (CHeap_Exception);
void AssignCopy(int nSrcLen, LPCWSTR lpszSrcData) throw (CHeap_Exception);
void ConcatCopy(int nSrc1Len, LPCWSTR lpszSrc1Data, int nSrc2Len, LPCWSTR lpszSrc2Data) throw (CHeap_Exception);
void ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData);
void CopyBeforeWrite() throw (CHeap_Exception);
CHStringData* GetData() const;
void Init();
int LoadStringW(UINT nID, LPWSTR lpszBuf, UINT nMaxBuf) throw (CHeap_Exception);
void Release();
static void WINAPI Release(CHStringData* pData);
static int WINAPI SafeStrlen(LPCWSTR lpsz);
};
inline BOOL operator==(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) == 0; }
inline BOOL operator==(const CHString& s1, const CHString& s2) { return s1.Compare(s2) == 0; }
inline BOOL operator!=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) != 0; }
inline BOOL operator!=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) != 0; }
inline BOOL operator<(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) < 0; }
inline BOOL operator<(const CHString& s1, const CHString& s2) { return s1.Compare(s2) < 0; }
inline BOOL operator>(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) > 0; }
inline BOOL operator>(const CHString& s1, const CHString& s2) { return s1.Compare(s2) > 0; }
inline BOOL operator<=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) <= 0; }
inline BOOL operator<=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) <= 0; }
inline BOOL operator>=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) >= 0; }
inline BOOL operator>=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) >= 0; }
#endif
+17
View File
@@ -26,7 +26,24 @@ extern "C" {
typedef struct _HCLUSTER *HCLUSTER;
typedef struct _HCLUSENUM *HCLUSENUM;
typedef struct _CLUSTERVERSIONINFO
{
DWORD dwVersionInfoSize;
WORD MajorVersion;
WORD MinorVersion;
WORD BuildNumber;
WCHAR szVendorId[64];
WCHAR szCSDVersion[64];
DWORD dwClusterHighestVersion;
DWORD dwClusterLowestVersion;
DWORD dwFlags;
DWORD dwReserved;
} CLUSTERVERSIONINFO, *LPCLUSTERVERSIONINFO;
BOOL WINAPI CloseCluster(HCLUSTER hCluster);
DWORD WINAPI GetClusterInformation(HCLUSTER hCluster, LPWSTR lpszClusterName,
LPDWORD lpcchClusterName, LPCLUSTERVERSIONINFO lpClusterInfo);
DWORD WINAPI GetNodeClusterState(LPCWSTR lpszNodeName, LPDWORD pdwClusterState);
HCLUSTER WINAPI OpenCluster(LPCWSTR lpszClusterName);
HCLUSENUM WINAPI ClusterOpenEnum(HCLUSTER hCluster, DWORD dwType);
+148 -148
View File
@@ -72,7 +72,7 @@ extern "C" {
#define ICC_STANDARD_CLASSES 0x4000
#define ICC_LINK_CLASS 0x8000
WINCOMMCTRLAPI WINBOOL WINAPI InitCommonControlsEx(_In_ const INITCOMMONCONTROLSEX *);
WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(_In_ const INITCOMMONCONTROLSEX *);
#define ODT_HEADER 100
#define ODT_TAB 101
@@ -332,11 +332,11 @@ extern "C" {
#define ILC_PERITEMMIRROR 0x8000
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx,int cy,UINT flags,int cInitial,int cGrow);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Destroy(_In_opt_ HIMAGELIST himl);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Destroy(_In_opt_ HIMAGELIST himl);
WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(_In_ HIMAGELIST himl);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_SetImageCount(
_In_ HIMAGELIST himl,
@@ -368,7 +368,7 @@ extern "C" {
WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(_In_ HIMAGELIST himl);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_SetOverlayImage(
_In_ HIMAGELIST himl,
@@ -410,7 +410,7 @@ extern "C" {
#define ILS_ALPHA 0x8
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_Draw(
_In_ HIMAGELIST himl,
@@ -421,7 +421,7 @@ extern "C" {
_In_ UINT fStyle);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_Replace(
_In_ HIMAGELIST himl,
@@ -438,7 +438,7 @@ extern "C" {
_In_ COLORREF crMask);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_DrawEx(
_In_ HIMAGELIST himl,
@@ -453,13 +453,13 @@ extern "C" {
_In_ UINT fStyle);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_DrawIndirect(
_In_ IMAGELISTDRAWPARAMS *pimldp);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_Remove(
_In_ HIMAGELIST himl,
@@ -482,7 +482,7 @@ extern "C" {
#define ILCF_SWAP 0x1
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_Copy(
_In_ HIMAGELIST himlDst,
@@ -492,7 +492,7 @@ extern "C" {
_In_ UINT uFlags);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_BeginDrag(
_In_ HIMAGELIST himlTrack,
@@ -501,12 +501,12 @@ extern "C" {
_In_ int dyHotspot);
WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragEnter(HWND hwndLock,int x,int y);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragLeave(HWND hwndLock);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragMove(int x,int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragEnter(HWND hwndLock,int x,int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragLeave(HWND hwndLock);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragMove(int x,int y);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_SetDragCursorImage(
_In_ HIMAGELIST himlDrag,
@@ -514,7 +514,7 @@ extern "C" {
_In_ int dxHotspot,
_In_ int dyHotspot);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragShowNolock(WINBOOL fShow);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragShowNolock(BOOL fShow);
_Success_(return != NULL)
WINCOMMCTRLAPI
@@ -530,7 +530,7 @@ extern "C" {
#ifdef __IStream_INTERFACE_DEFINED__
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(_In_ LPSTREAM pstm);
WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Write(_In_ HIMAGELIST himl, _In_ LPSTREAM pstm);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(_In_ HIMAGELIST himl, _In_ LPSTREAM pstm);
#define ILP_NORMAL 0
#define ILP_DOWNLEVEL 1
WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(_In_ DWORD dwFlags, _In_ LPSTREAM pstm, _In_ REFIID riid, _Outptr_ PVOID *ppv);
@@ -549,7 +549,7 @@ extern "C" {
_Success_(return != 0)
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_GetIconSize(
_In_ HIMAGELIST himl,
@@ -558,7 +558,7 @@ extern "C" {
_Success_(return != 0)
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_SetIconSize(
_In_ HIMAGELIST himl,
@@ -567,7 +567,7 @@ extern "C" {
_Success_(return != 0)
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ImageList_GetImageInfo(
_In_ HIMAGELIST himl,
@@ -712,21 +712,21 @@ extern "C" {
#define Header_InsertItem(hwndHD,i,phdi) (int)SNDMSG((hwndHD),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM *)(phdi))
#define HDM_DELETEITEM (HDM_FIRST+2)
#define Header_DeleteItem(hwndHD,i) (WINBOOL)SNDMSG((hwndHD),HDM_DELETEITEM,(WPARAM)(int)(i),0L)
#define Header_DeleteItem(hwndHD,i) (BOOL)SNDMSG((hwndHD),HDM_DELETEITEM,(WPARAM)(int)(i),0L)
#define HDM_GETITEMA (HDM_FIRST+3)
#define HDM_GETITEMW (HDM_FIRST+11)
#define HDM_GETITEM __MINGW_NAME_AW(HDM_GETITEM)
#define Header_GetItem(hwndHD,i,phdi) (WINBOOL)SNDMSG((hwndHD),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM *)(phdi))
#define Header_GetItem(hwndHD,i,phdi) (BOOL)SNDMSG((hwndHD),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM *)(phdi))
#define HDM_SETITEMA (HDM_FIRST+4)
#define HDM_SETITEMW (HDM_FIRST+12)
#define HDM_SETITEM __MINGW_NAME_AW(HDM_SETITEM)
#define Header_SetItem(hwndHD,i,phdi) (WINBOOL)SNDMSG((hwndHD),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM *)(phdi))
#define Header_SetItem(hwndHD,i,phdi) (BOOL)SNDMSG((hwndHD),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM *)(phdi))
#define HD_LAYOUT HDLAYOUT
@@ -736,7 +736,7 @@ extern "C" {
} HDLAYOUT,*LPHDLAYOUT;
#define HDM_LAYOUT (HDM_FIRST+5)
#define Header_Layout(hwndHD,playout) (WINBOOL)SNDMSG((hwndHD),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT *)(playout))
#define Header_Layout(hwndHD,playout) (BOOL)SNDMSG((hwndHD),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT *)(playout))
#define HHT_NOWHERE 0x1
#define HHT_ONHEADER 0x2
@@ -760,7 +760,7 @@ extern "C" {
#define HDM_HITTEST (HDM_FIRST+6)
#define HDM_GETITEMRECT (HDM_FIRST+7)
#define Header_GetItemRect(hwnd,iItem,lprc) (WINBOOL)SNDMSG((hwnd),HDM_GETITEMRECT,(WPARAM)(iItem),(LPARAM)(lprc))
#define Header_GetItemRect(hwnd,iItem,lprc) (BOOL)SNDMSG((hwnd),HDM_GETITEMRECT,(WPARAM)(iItem),(LPARAM)(lprc))
#define HDM_SETIMAGELIST (HDM_FIRST+8)
#define Header_SetImageList(hwnd,himl) (HIMAGELIST)SNDMSG((hwnd),HDM_SETIMAGELIST,0,(LPARAM)(himl))
@@ -775,10 +775,10 @@ extern "C" {
#define Header_CreateDragImage(hwnd,i) (HIMAGELIST)SNDMSG((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM)(i),0)
#define HDM_GETORDERARRAY (HDM_FIRST+17)
#define Header_GetOrderArray(hwnd,iCount,lpi) (WINBOOL)SNDMSG((hwnd),HDM_GETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
#define Header_GetOrderArray(hwnd,iCount,lpi) (BOOL)SNDMSG((hwnd),HDM_GETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
#define HDM_SETORDERARRAY (HDM_FIRST+18)
#define Header_SetOrderArray(hwnd,iCount,lpi) (WINBOOL)SNDMSG((hwnd),HDM_SETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
#define Header_SetOrderArray(hwnd,iCount,lpi) (BOOL)SNDMSG((hwnd),HDM_SETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
#define HDM_SETHOTDIVIDER (HDM_FIRST+19)
#define Header_SetHotDivider(hwnd,fPos,dw) (int)SNDMSG((hwnd),HDM_SETHOTDIVIDER,(WPARAM)(fPos),(LPARAM)(dw))
@@ -790,10 +790,10 @@ extern "C" {
#define Header_GetBitmapMargin(hwnd) (int)SNDMSG((hwnd),HDM_GETBITMAPMARGIN,0,0)
#define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define Header_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),HDM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define Header_SetUnicodeFormat(hwnd,fUnicode) (BOOL)SNDMSG((hwnd),HDM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define Header_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),HDM_GETUNICODEFORMAT,0,0)
#define Header_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd),HDM_GETUNICODEFORMAT,0,0)
#define HDM_SETFILTERCHANGETIMEOUT (HDM_FIRST+22)
#define Header_SetFilterChangeTimeout(hwnd,i) (int)SNDMSG((hwnd),HDM_SETFILTERCHANGETIMEOUT,0,(LPARAM)(i))
@@ -1611,7 +1611,7 @@ extern "C" {
typedef struct tagNMRBAUTOSIZE {
NMHDR hdr;
WINBOOL fChanged;
BOOL fChanged;
RECT rcTarget;
RECT rcActual;
} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
@@ -1635,7 +1635,7 @@ extern "C" {
LPARAM lParam;
UINT uMsg;
UINT fStyleCurrent;
WINBOOL fAutoBreak;
BOOL fAutoBreak;
} NMREBARAUTOBREAK,*LPNMREBARAUTOBREAK;
#define RBHT_NOWHERE 0x1
@@ -1933,7 +1933,7 @@ extern "C" {
WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg,WPARAM wParam,LPARAM lParam,HMENU hMainMenu,HINSTANCE hInst,HWND hwndStatus,UINT *lpwIDs);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
ShowHideMenuCtl(
_In_ HWND hWnd,
@@ -2051,10 +2051,10 @@ extern "C" {
#define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
WINCOMMCTRLAPI WINBOOL WINAPI MakeDragList(HWND hLB);
WINCOMMCTRLAPI BOOL WINAPI MakeDragList(HWND hLB);
WINCOMMCTRLAPI void WINAPI DrawInsert(HWND handParent,HWND hLB,int nItem);
WINCOMMCTRLAPI int WINAPI LBItemFromPt(HWND hLB,POINT pt,WINBOOL bAutoScroll);
WINCOMMCTRLAPI int WINAPI LBItemFromPt(HWND hLB,POINT pt,BOOL bAutoScroll);
#endif
#ifndef NOUPDOWN
@@ -2227,13 +2227,13 @@ extern "C" {
#define LVS_NOSORTHEADER 0x8000
#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define ListView_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),LVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define ListView_SetUnicodeFormat(hwnd,fUnicode) (BOOL)SNDMSG((hwnd),LVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define ListView_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_GETUNICODEFORMAT,0,0)
#define ListView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd),LVM_GETUNICODEFORMAT,0,0)
#define LVM_GETBKCOLOR (LVM_FIRST+0)
#define ListView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETBKCOLOR,0,0L)
#define LVM_SETBKCOLOR (LVM_FIRST+1)
#define ListView_SetBkColor(hwnd,clrBk) (WINBOOL)SNDMSG((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
#define ListView_SetBkColor(hwnd,clrBk) (BOOL)SNDMSG((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
#define LVM_GETIMAGELIST (LVM_FIRST+2)
#define ListView_GetImageList(hwnd,iImageList) (HIMAGELIST)SNDMSG((hwnd),LVM_GETIMAGELIST,(WPARAM)(INT)(iImageList),0L)
@@ -2333,14 +2333,14 @@ extern "C" {
#define LVM_GETITEM __MINGW_NAME_AW(LVM_GETITEM)
#define ListView_GetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),LVM_GETITEM,0,(LPARAM)(LV_ITEM *)(pitem))
#define ListView_GetItem(hwnd,pitem) (BOOL)SNDMSG((hwnd),LVM_GETITEM,0,(LPARAM)(LV_ITEM *)(pitem))
#define LVM_SETITEMA (LVM_FIRST+6)
#define LVM_SETITEMW (LVM_FIRST+76)
#define LVM_SETITEM __MINGW_NAME_AW(LVM_SETITEM)
#define ListView_SetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),LVM_SETITEM,0,(LPARAM)(const LV_ITEM *)(pitem))
#define ListView_SetItem(hwnd,pitem) (BOOL)SNDMSG((hwnd),LVM_SETITEM,0,(LPARAM)(const LV_ITEM *)(pitem))
#define LVM_INSERTITEMA (LVM_FIRST+7)
#define LVM_INSERTITEMW (LVM_FIRST+77)
@@ -2350,16 +2350,16 @@ extern "C" {
#define ListView_InsertItem(hwnd,pitem) (int)SNDMSG((hwnd),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM *)(pitem))
#define LVM_DELETEITEM (LVM_FIRST+8)
#define ListView_DeleteItem(hwnd,i) (WINBOOL)SNDMSG((hwnd),LVM_DELETEITEM,(WPARAM)(int)(i),0L)
#define ListView_DeleteItem(hwnd,i) (BOOL)SNDMSG((hwnd),LVM_DELETEITEM,(WPARAM)(int)(i),0L)
#define LVM_DELETEALLITEMS (LVM_FIRST+9)
#define ListView_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_DELETEALLITEMS,0,0L)
#define ListView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd),LVM_DELETEALLITEMS,0,0L)
#define LVM_GETCALLBACKMASK (LVM_FIRST+10)
#define ListView_GetCallbackMask(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_GETCALLBACKMASK,0,0)
#define ListView_GetCallbackMask(hwnd) (BOOL)SNDMSG((hwnd),LVM_GETCALLBACKMASK,0,0)
#define LVM_SETCALLBACKMASK (LVM_FIRST+11)
#define ListView_SetCallbackMask(hwnd,mask) (WINBOOL)SNDMSG((hwnd),LVM_SETCALLBACKMASK,(WPARAM)(UINT)(mask),0)
#define ListView_SetCallbackMask(hwnd,mask) (BOOL)SNDMSG((hwnd),LVM_SETCALLBACKMASK,(WPARAM)(UINT)(mask),0)
#define LVNI_ALL 0x0
#define LVNI_FOCUSED 0x1
@@ -2417,13 +2417,13 @@ extern "C" {
#define LVIR_SELECTBOUNDS 3
#define LVM_GETITEMRECT (LVM_FIRST+14)
#define ListView_GetItemRect(hwnd,i,prc,code) (WINBOOL)SNDMSG((hwnd),LVM_GETITEMRECT,(WPARAM)(int)(i),((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL))
#define ListView_GetItemRect(hwnd,i,prc,code) (BOOL)SNDMSG((hwnd),LVM_GETITEMRECT,(WPARAM)(int)(i),((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL))
#define LVM_SETITEMPOSITION (LVM_FIRST+15)
#define ListView_SetItemPosition(hwndLV,i,x,y) (WINBOOL)SNDMSG((hwndLV),LVM_SETITEMPOSITION,(WPARAM)(int)(i),MAKELPARAM((x),(y)))
#define ListView_SetItemPosition(hwndLV,i,x,y) (BOOL)SNDMSG((hwndLV),LVM_SETITEMPOSITION,(WPARAM)(int)(i),MAKELPARAM((x),(y)))
#define LVM_GETITEMPOSITION (LVM_FIRST+16)
#define ListView_GetItemPosition(hwndLV,i,ppt) (WINBOOL)SNDMSG((hwndLV),LVM_GETITEMPOSITION,(WPARAM)(int)(i),(LPARAM)(POINT *)(ppt))
#define ListView_GetItemPosition(hwndLV,i,ppt) (BOOL)SNDMSG((hwndLV),LVM_GETITEMPOSITION,(WPARAM)(int)(i),(LPARAM)(POINT *)(ppt))
#define LVM_GETSTRINGWIDTHA (LVM_FIRST+17)
#define LVM_GETSTRINGWIDTHW (LVM_FIRST+87)
@@ -2458,13 +2458,13 @@ extern "C" {
#define ListView_HitTest(hwndLV,pinfo) (int)SNDMSG((hwndLV),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO *)(pinfo))
#define LVM_ENSUREVISIBLE (LVM_FIRST+19)
#define ListView_EnsureVisible(hwndLV,i,fPartialOK) (WINBOOL)SNDMSG((hwndLV),LVM_ENSUREVISIBLE,(WPARAM)(int)(i),MAKELPARAM((fPartialOK),0))
#define ListView_EnsureVisible(hwndLV,i,fPartialOK) (BOOL)SNDMSG((hwndLV),LVM_ENSUREVISIBLE,(WPARAM)(int)(i),MAKELPARAM((fPartialOK),0))
#define LVM_SCROLL (LVM_FIRST+20)
#define ListView_Scroll(hwndLV,dx,dy) (WINBOOL)SNDMSG((hwndLV),LVM_SCROLL,(WPARAM)(int)(dx),(LPARAM)(int)(dy))
#define ListView_Scroll(hwndLV,dx,dy) (BOOL)SNDMSG((hwndLV),LVM_SCROLL,(WPARAM)(int)(dx),(LPARAM)(int)(dy))
#define LVM_REDRAWITEMS (LVM_FIRST+21)
#define ListView_RedrawItems(hwndLV,iFirst,iLast) (WINBOOL)SNDMSG((hwndLV),LVM_REDRAWITEMS,(WPARAM)(int)(iFirst),(LPARAM)(int)(iLast))
#define ListView_RedrawItems(hwndLV,iFirst,iLast) (BOOL)SNDMSG((hwndLV),LVM_REDRAWITEMS,(WPARAM)(int)(iFirst),(LPARAM)(int)(iLast))
#define LVA_DEFAULT 0x0
#define LVA_ALIGNLEFT 0x1
@@ -2472,7 +2472,7 @@ extern "C" {
#define LVA_SNAPTOGRID 0x5
#define LVM_ARRANGE (LVM_FIRST+22)
#define ListView_Arrange(hwndLV,code) (WINBOOL)SNDMSG((hwndLV),LVM_ARRANGE,(WPARAM)(UINT)(code),0L)
#define ListView_Arrange(hwndLV,code) (BOOL)SNDMSG((hwndLV),LVM_ARRANGE,(WPARAM)(UINT)(code),0L)
#define LVM_EDITLABELA (LVM_FIRST+23)
#define LVM_EDITLABELW (LVM_FIRST+118)
@@ -2561,14 +2561,14 @@ extern "C" {
#define LVM_GETCOLUMN __MINGW_NAME_AW(LVM_GETCOLUMN)
#define ListView_GetColumn(hwnd,iCol,pcol) (WINBOOL)SNDMSG((hwnd),LVM_GETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(LV_COLUMN *)(pcol))
#define ListView_GetColumn(hwnd,iCol,pcol) (BOOL)SNDMSG((hwnd),LVM_GETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(LV_COLUMN *)(pcol))
#define LVM_SETCOLUMNA (LVM_FIRST+26)
#define LVM_SETCOLUMNW (LVM_FIRST+96)
#define LVM_SETCOLUMN __MINGW_NAME_AW(LVM_SETCOLUMN)
#define ListView_SetColumn(hwnd,iCol,pcol) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(const LV_COLUMN *)(pcol))
#define ListView_SetColumn(hwnd,iCol,pcol) (BOOL)SNDMSG((hwnd),LVM_SETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(const LV_COLUMN *)(pcol))
#define LVM_INSERTCOLUMNA (LVM_FIRST+27)
#define LVM_INSERTCOLUMNW (LVM_FIRST+97)
@@ -2578,7 +2578,7 @@ extern "C" {
#define ListView_InsertColumn(hwnd,iCol,pcol) (int)SNDMSG((hwnd),LVM_INSERTCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(const LV_COLUMN *)(pcol))
#define LVM_DELETECOLUMN (LVM_FIRST+28)
#define ListView_DeleteColumn(hwnd,iCol) (WINBOOL)SNDMSG((hwnd),LVM_DELETECOLUMN,(WPARAM)(int)(iCol),0)
#define ListView_DeleteColumn(hwnd,iCol) (BOOL)SNDMSG((hwnd),LVM_DELETECOLUMN,(WPARAM)(int)(iCol),0)
#define LVM_GETCOLUMNWIDTH (LVM_FIRST+29)
#define ListView_GetColumnWidth(hwnd,iCol) (int)SNDMSG((hwnd),LVM_GETCOLUMNWIDTH,(WPARAM)(int)(iCol),0)
@@ -2587,30 +2587,30 @@ extern "C" {
#define LVSCW_AUTOSIZE_USEHEADER -2
#define LVM_SETCOLUMNWIDTH (LVM_FIRST+30)
#define ListView_SetColumnWidth(hwnd,iCol,cx) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMNWIDTH,(WPARAM)(int)(iCol),MAKELPARAM((cx),0))
#define ListView_SetColumnWidth(hwnd,iCol,cx) (BOOL)SNDMSG((hwnd),LVM_SETCOLUMNWIDTH,(WPARAM)(int)(iCol),MAKELPARAM((cx),0))
#define LVM_GETHEADER (LVM_FIRST+31)
#define ListView_GetHeader(hwnd) (HWND)SNDMSG((hwnd),LVM_GETHEADER,0,0L)
#define LVM_CREATEDRAGIMAGE (LVM_FIRST+33)
#define ListView_CreateDragImage(hwnd,i,lpptUpLeft) (HIMAGELIST)SNDMSG((hwnd),LVM_CREATEDRAGIMAGE,(WPARAM)(int)(i),(LPARAM)(LPPOINT)(lpptUpLeft))
#define LVM_GETVIEWRECT (LVM_FIRST+34)
#define ListView_GetViewRect(hwnd,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETVIEWRECT,0,(LPARAM)(RECT *)(prc))
#define ListView_GetViewRect(hwnd,prc) (BOOL)SNDMSG((hwnd),LVM_GETVIEWRECT,0,(LPARAM)(RECT *)(prc))
#define LVM_GETTEXTCOLOR (LVM_FIRST+35)
#define ListView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETTEXTCOLOR,0,0L)
#define LVM_SETTEXTCOLOR (LVM_FIRST+36)
#define ListView_SetTextColor(hwnd,clrText) (WINBOOL)SNDMSG((hwnd),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(clrText))
#define ListView_SetTextColor(hwnd,clrText) (BOOL)SNDMSG((hwnd),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(clrText))
#define LVM_GETTEXTBKCOLOR (LVM_FIRST+37)
#define ListView_GetTextBkColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETTEXTBKCOLOR,0,0L)
#define LVM_SETTEXTBKCOLOR (LVM_FIRST+38)
#define ListView_SetTextBkColor(hwnd,clrTextBk) (WINBOOL)SNDMSG((hwnd),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(clrTextBk))
#define ListView_SetTextBkColor(hwnd,clrTextBk) (BOOL)SNDMSG((hwnd),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(clrTextBk))
#define LVM_GETTOPINDEX (LVM_FIRST+39)
#define ListView_GetTopIndex(hwndLV) (int)SNDMSG((hwndLV),LVM_GETTOPINDEX,0,0)
#define LVM_GETCOUNTPERPAGE (LVM_FIRST+40)
#define ListView_GetCountPerPage(hwndLV) (int)SNDMSG((hwndLV),LVM_GETCOUNTPERPAGE,0,0)
#define LVM_GETORIGIN (LVM_FIRST+41)
#define ListView_GetOrigin(hwndLV,ppt) (WINBOOL)SNDMSG((hwndLV),LVM_GETORIGIN,(WPARAM)0,(LPARAM)(POINT *)(ppt))
#define ListView_GetOrigin(hwndLV,ppt) (BOOL)SNDMSG((hwndLV),LVM_GETORIGIN,(WPARAM)0,(LPARAM)(POINT *)(ppt))
#define LVM_UPDATE (LVM_FIRST+42)
#define ListView_Update(hwndLV,i) (WINBOOL)SNDMSG((hwndLV),LVM_UPDATE,(WPARAM)(i),0L)
#define ListView_Update(hwndLV,i) (BOOL)SNDMSG((hwndLV),LVM_UPDATE,(WPARAM)(i),0L)
#define LVM_SETITEMSTATE (LVM_FIRST+43)
#define ListView_SetItemState(hwndLV,i,data,mask) { LV_ITEM _ms_lvi; _ms_lvi.stateMask = mask; _ms_lvi.state = data; SNDMSG((hwndLV),LVM_SETITEMSTATE,(WPARAM)(i),(LPARAM)(LV_ITEM *)&_ms_lvi);}
#define ListView_SetCheckState(hwndLV,i,fCheck) ListView_SetItemState(hwndLV,i,INDEXTOSTATEIMAGEMASK((fCheck)?2:1),LVIS_STATEIMAGEMASK)
@@ -2642,7 +2642,7 @@ extern "C" {
typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
#define LVM_SORTITEMS (LVM_FIRST+48)
#define ListView_SortItems(hwndLV,_pfnCompare,_lPrm) (WINBOOL)SNDMSG((hwndLV),LVM_SORTITEMS,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
#define ListView_SortItems(hwndLV,_pfnCompare,_lPrm) (BOOL)SNDMSG((hwndLV),LVM_SORTITEMS,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
#define LVM_SETITEMPOSITION32 (LVM_FIRST+49)
#define ListView_SetItemPosition32(hwndLV,i,x0,y0) { POINT ptNewPos; ptNewPos.x = x0; ptNewPos.y = y0; SNDMSG((hwndLV),LVM_SETITEMPOSITION32,(WPARAM)(int)(i),(LPARAM)&ptNewPos); }
@@ -2658,7 +2658,7 @@ extern "C" {
#define LVM_GETISEARCHSTRING __MINGW_NAME_AW(LVM_GETISEARCHSTRING)
#define ListView_GetISearchString(hwndLV,lpsz) (WINBOOL)SNDMSG((hwndLV),LVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
#define ListView_GetISearchString(hwndLV,lpsz) (BOOL)SNDMSG((hwndLV),LVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
#define LVM_SETICONSPACING (LVM_FIRST+53)
@@ -2702,13 +2702,13 @@ extern "C" {
#endif
#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
#define ListView_GetSubItemRect(hwnd,iItem,iSubItem,code,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETSUBITEMRECT,(WPARAM)(int)(iItem),((prc) ? ((((LPRECT)(prc))->top = iSubItem),(((LPRECT)(prc))->left = code),(LPARAM)(prc)) : (LPARAM)(LPRECT)NULL))
#define ListView_GetSubItemRect(hwnd,iItem,iSubItem,code,prc) (BOOL)SNDMSG((hwnd),LVM_GETSUBITEMRECT,(WPARAM)(int)(iItem),((prc) ? ((((LPRECT)(prc))->top = iSubItem),(((LPRECT)(prc))->left = code),(LPARAM)(prc)) : (LPARAM)(LPRECT)NULL))
#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
#define ListView_SubItemHitTest(hwnd,plvhti) (int)SNDMSG((hwnd),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(plvhti))
#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
#define ListView_SetColumnOrderArray(hwnd,iCount,pi) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
#define ListView_SetColumnOrderArray(hwnd,iCount,pi) (BOOL)SNDMSG((hwnd),LVM_SETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
#define ListView_GetColumnOrderArray(hwnd,iCount,pi) (WINBOOL)SNDMSG((hwnd),LVM_GETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
#define ListView_GetColumnOrderArray(hwnd,iCount,pi) (BOOL)SNDMSG((hwnd),LVM_GETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
#define LVM_SETHOTITEM (LVM_FIRST+60)
#define ListView_SetHotItem(hwnd,i) (int)SNDMSG((hwnd),LVM_SETHOTITEM,(WPARAM)(i),0)
#define LVM_GETHOTITEM (LVM_FIRST+61)
@@ -2722,11 +2722,11 @@ extern "C" {
#define LV_MAX_WORKAREAS 16
#define LVM_SETWORKAREAS (LVM_FIRST+65)
#define ListView_SetWorkAreas(hwnd,nWorkAreas,prc) (WINBOOL)SNDMSG((hwnd),LVM_SETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
#define ListView_SetWorkAreas(hwnd,nWorkAreas,prc) (BOOL)SNDMSG((hwnd),LVM_SETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
#define LVM_GETWORKAREAS (LVM_FIRST+70)
#define ListView_GetWorkAreas(hwnd,nWorkAreas,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
#define ListView_GetWorkAreas(hwnd,nWorkAreas,prc) (BOOL)SNDMSG((hwnd),LVM_GETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
#define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73)
#define ListView_GetNumberOfWorkAreas(hwnd,pnWorkAreas) (WINBOOL)SNDMSG((hwnd),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(pnWorkAreas))
#define ListView_GetNumberOfWorkAreas(hwnd,pnWorkAreas) (BOOL)SNDMSG((hwnd),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(pnWorkAreas))
#define LVM_GETSELECTIONMARK (LVM_FIRST+66)
#define ListView_GetSelectionMark(hwnd) (int)SNDMSG((hwnd),LVM_GETSELECTIONMARK,0,0)
#define LVM_SETSELECTIONMARK (LVM_FIRST+67)
@@ -2740,7 +2740,7 @@ extern "C" {
#define LVM_GETTOOLTIPS (LVM_FIRST+78)
#define ListView_GetToolTips(hwndLV) (HWND)SNDMSG((hwndLV),LVM_GETTOOLTIPS,0,0)
#define LVM_SORTITEMSEX (LVM_FIRST+81)
#define ListView_SortItemsEx(hwndLV,_pfnCompare,_lPrm) (WINBOOL)SNDMSG((hwndLV),LVM_SORTITEMSEX,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
#define ListView_SortItemsEx(hwndLV,_pfnCompare,_lPrm) (BOOL)SNDMSG((hwndLV),LVM_SORTITEMSEX,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
typedef struct tagLVBKIMAGEA {
ULONG ulFlags;
@@ -2921,9 +2921,9 @@ extern "C" {
#define LVIM_AFTER 0x1
#define LVM_SETINSERTMARK (LVM_FIRST+166)
#define ListView_SetInsertMark(hwnd,lvim) (WINBOOL)SNDMSG((hwnd),LVM_SETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
#define ListView_SetInsertMark(hwnd,lvim) (BOOL)SNDMSG((hwnd),LVM_SETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
#define LVM_GETINSERTMARK (LVM_FIRST+167)
#define ListView_GetInsertMark(hwnd,lvim) (WINBOOL)SNDMSG((hwnd),LVM_GETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
#define ListView_GetInsertMark(hwnd,lvim) (BOOL)SNDMSG((hwnd),LVM_GETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
#define LVM_INSERTMARKHITTEST (LVM_FIRST+168)
#define ListView_InsertMarkHitTest(hwnd,point,lvim) (int)SNDMSG((hwnd),LVM_INSERTMARKHITTEST,(WPARAM)(LPPOINT)(point),(LPARAM)(LPLVINSERTMARK)(lvim))
#define LVM_GETINSERTMARKRECT (LVM_FIRST+169)
@@ -2942,11 +2942,11 @@ extern "C" {
} LVSETINFOTIP,*PLVSETINFOTIP;
#define LVM_SETINFOTIP (LVM_FIRST+173)
#define ListView_SetInfoTip(hwndLV,plvInfoTip) (WINBOOL)SNDMSG((hwndLV),LVM_SETINFOTIP,(WPARAM)0,(LPARAM)plvInfoTip)
#define ListView_SetInfoTip(hwndLV,plvInfoTip) (BOOL)SNDMSG((hwndLV),LVM_SETINFOTIP,(WPARAM)0,(LPARAM)plvInfoTip)
#define LVM_GETSELECTEDCOLUMN (LVM_FIRST+174)
#define ListView_GetSelectedColumn(hwnd) (UINT)SNDMSG((hwnd),LVM_GETSELECTEDCOLUMN,0,0)
#define LVM_ISGROUPVIEWENABLED (LVM_FIRST+175)
#define ListView_IsGroupViewEnabled(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_ISGROUPVIEWENABLED,0,0)
#define ListView_IsGroupViewEnabled(hwnd) (BOOL)SNDMSG((hwnd),LVM_ISGROUPVIEWENABLED,0,0)
#define LVM_GETOUTLINECOLOR (LVM_FIRST+176)
#define ListView_GetOutlineColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETOUTLINECOLOR,0,0)
#define LVM_SETOUTLINECOLOR (LVM_FIRST+177)
@@ -2965,8 +2965,8 @@ extern "C" {
#define LVM_SETBKIMAGE __MINGW_NAME_AW(LVM_SETBKIMAGE)
#define LVM_GETBKIMAGE __MINGW_NAME_AW(LVM_GETBKIMAGE)
#define ListView_SetBkImage(hwnd,plvbki) (WINBOOL)SNDMSG((hwnd),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
#define ListView_GetBkImage(hwnd,plvbki) (WINBOOL)SNDMSG((hwnd),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
#define ListView_SetBkImage(hwnd,plvbki) (BOOL)SNDMSG((hwnd),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
#define ListView_GetBkImage(hwnd,plvbki) (BOOL)SNDMSG((hwnd),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
#define LPNM_LISTVIEW LPNMLISTVIEW
#define NM_LISTVIEW NMLISTVIEW
@@ -3350,12 +3350,12 @@ extern "C" {
#define TreeView_InsertItem(hwnd,lpis) (HTREEITEM)SNDMSG((hwnd),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(lpis))
#define TVM_DELETEITEM (TV_FIRST+1)
#define TreeView_DeleteItem(hwnd,hitem) (WINBOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(hitem))
#define TreeView_DeleteItem(hwnd,hitem) (BOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(hitem))
#define TreeView_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
#define TreeView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
#define TVM_EXPAND (TV_FIRST+2)
#define TreeView_Expand(hwnd,hitem,code) (WINBOOL)SNDMSG((hwnd),TVM_EXPAND,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
#define TreeView_Expand(hwnd,hitem,code) (BOOL)SNDMSG((hwnd),TVM_EXPAND,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
#define TVE_COLLAPSE 0x1
#define TVE_EXPAND 0x2
@@ -3364,7 +3364,7 @@ extern "C" {
#define TVE_COLLAPSERESET 0x8000
#define TVM_GETITEMRECT (TV_FIRST+4)
#define TreeView_GetItemRect(hwnd,hitem,prc,code) (*(HTREEITEM *)prc = (hitem),(WINBOOL)SNDMSG((hwnd),TVM_GETITEMRECT,(WPARAM)(code),(LPARAM)(RECT *)(prc)))
#define TreeView_GetItemRect(hwnd,hitem,prc,code) (*(HTREEITEM *)prc = (hitem),(BOOL)SNDMSG((hwnd),TVM_GETITEMRECT,(WPARAM)(code),(LPARAM)(RECT *)(prc)))
#define TVM_GETCOUNT (TV_FIRST+5)
#define TreeView_GetCount(hwnd) (UINT)SNDMSG((hwnd),TVM_GETCOUNT,0,0)
@@ -3373,7 +3373,7 @@ extern "C" {
#define TreeView_GetIndent(hwnd) (UINT)SNDMSG((hwnd),TVM_GETINDENT,0,0)
#define TVM_SETINDENT (TV_FIRST+7)
#define TreeView_SetIndent(hwnd,indent) (WINBOOL)SNDMSG((hwnd),TVM_SETINDENT,(WPARAM)(indent),0)
#define TreeView_SetIndent(hwnd,indent) (BOOL)SNDMSG((hwnd),TVM_SETINDENT,(WPARAM)(indent),0)
#define TVM_GETIMAGELIST (TV_FIRST+8)
#define TreeView_GetImageList(hwnd,iImage) (HIMAGELIST)SNDMSG((hwnd),TVM_GETIMAGELIST,iImage,0)
@@ -3414,7 +3414,7 @@ extern "C" {
#define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_LASTVISIBLE)
#define TVM_SELECTITEM (TV_FIRST+11)
#define TreeView_Select(hwnd,hitem,code) (WINBOOL)SNDMSG((hwnd),TVM_SELECTITEM,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
#define TreeView_Select(hwnd,hitem,code) (BOOL)SNDMSG((hwnd),TVM_SELECTITEM,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
#define TreeView_SelectItem(hwnd,hitem) TreeView_Select(hwnd,hitem,TVGN_CARET)
#define TreeView_SelectDropTarget(hwnd,hitem) TreeView_Select(hwnd,hitem,TVGN_DROPHILITE)
@@ -3425,14 +3425,14 @@ extern "C" {
#define TVM_GETITEM __MINGW_NAME_AW(TVM_GETITEM)
#define TreeView_GetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),TVM_GETITEM,0,(LPARAM)(TV_ITEM *)(pitem))
#define TreeView_GetItem(hwnd,pitem) (BOOL)SNDMSG((hwnd),TVM_GETITEM,0,(LPARAM)(TV_ITEM *)(pitem))
#define TVM_SETITEMA (TV_FIRST+13)
#define TVM_SETITEMW (TV_FIRST+63)
#define TVM_SETITEM __MINGW_NAME_AW(TVM_SETITEM)
#define TreeView_SetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),TVM_SETITEM,0,(LPARAM)(const TV_ITEM *)(pitem))
#define TreeView_SetItem(hwnd,pitem) (BOOL)SNDMSG((hwnd),TVM_SETITEM,0,(LPARAM)(const TV_ITEM *)(pitem))
#define TVM_EDITLABELA (TV_FIRST+14)
#define TVM_EDITLABELW (TV_FIRST+65)
@@ -3477,16 +3477,16 @@ extern "C" {
#define TreeView_CreateDragImage(hwnd,hitem) (HIMAGELIST)SNDMSG((hwnd),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(hitem))
#define TVM_SORTCHILDREN (TV_FIRST+19)
#define TreeView_SortChildren(hwnd,hitem,recurse) (WINBOOL)SNDMSG((hwnd),TVM_SORTCHILDREN,(WPARAM)(recurse),(LPARAM)(HTREEITEM)(hitem))
#define TreeView_SortChildren(hwnd,hitem,recurse) (BOOL)SNDMSG((hwnd),TVM_SORTCHILDREN,(WPARAM)(recurse),(LPARAM)(HTREEITEM)(hitem))
#define TVM_ENSUREVISIBLE (TV_FIRST+20)
#define TreeView_EnsureVisible(hwnd,hitem) (WINBOOL)SNDMSG((hwnd),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(hitem))
#define TreeView_EnsureVisible(hwnd,hitem) (BOOL)SNDMSG((hwnd),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(hitem))
#define TVM_SORTCHILDRENCB (TV_FIRST+21)
#define TreeView_SortChildrenCB(hwnd,psort,recurse) (WINBOOL)SNDMSG((hwnd),TVM_SORTCHILDRENCB,(WPARAM)(recurse),(LPARAM)(LPTV_SORTCB)(psort))
#define TreeView_SortChildrenCB(hwnd,psort,recurse) (BOOL)SNDMSG((hwnd),TVM_SORTCHILDRENCB,(WPARAM)(recurse),(LPARAM)(LPTV_SORTCB)(psort))
#define TVM_ENDEDITLABELNOW (TV_FIRST+22)
#define TreeView_EndEditLabelNow(hwnd,fCancel) (WINBOOL)SNDMSG((hwnd),TVM_ENDEDITLABELNOW,(WPARAM)(fCancel),0)
#define TreeView_EndEditLabelNow(hwnd,fCancel) (BOOL)SNDMSG((hwnd),TVM_ENDEDITLABELNOW,(WPARAM)(fCancel),0)
#define TVM_GETISEARCHSTRINGA (TV_FIRST+23)
#define TVM_GETISEARCHSTRINGW (TV_FIRST+64)
@@ -3497,14 +3497,14 @@ extern "C" {
#define TreeView_SetToolTips(hwnd,hwndTT) (HWND)SNDMSG((hwnd),TVM_SETTOOLTIPS,(WPARAM)(hwndTT),0)
#define TVM_GETTOOLTIPS (TV_FIRST+25)
#define TreeView_GetToolTips(hwnd) (HWND)SNDMSG((hwnd),TVM_GETTOOLTIPS,0,0)
#define TreeView_GetISearchString(hwndTV,lpsz) (WINBOOL)SNDMSG((hwndTV),TVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
#define TreeView_GetISearchString(hwndTV,lpsz) (BOOL)SNDMSG((hwndTV),TVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
#define TVM_SETINSERTMARK (TV_FIRST+26)
#define TreeView_SetInsertMark(hwnd,hItem,fAfter) (WINBOOL)SNDMSG((hwnd),TVM_SETINSERTMARK,(WPARAM) (fAfter),(LPARAM) (hItem))
#define TreeView_SetInsertMark(hwnd,hItem,fAfter) (BOOL)SNDMSG((hwnd),TVM_SETINSERTMARK,(WPARAM) (fAfter),(LPARAM) (hItem))
#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TreeView_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),TVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define TreeView_SetUnicodeFormat(hwnd,fUnicode) (BOOL)SNDMSG((hwnd),TVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define TreeView_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),TVM_GETUNICODEFORMAT,0,0)
#define TreeView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd),TVM_GETUNICODEFORMAT,0,0)
#define TVM_SETITEMHEIGHT (TV_FIRST+27)
#define TreeView_SetItemHeight(hwnd,iHeight) (int)SNDMSG((hwnd),TVM_SETITEMHEIGHT,(WPARAM)(iHeight),0)
@@ -3846,7 +3846,7 @@ typedef struct tagTVDISPINFOEXW {
typedef struct {
NMHDR hdr;
WINBOOL fChanged;
BOOL fChanged;
int iNewSelection;
WCHAR szText[CBEMAXSTRLEN];
int iWhy;
@@ -3854,7 +3854,7 @@ typedef struct tagTVDISPINFOEXW {
typedef struct {
NMHDR hdr;
WINBOOL fChanged;
BOOL fChanged;
int iNewSelection;
char szText[CBEMAXSTRLEN];
int iWhy;
@@ -3971,14 +3971,14 @@ typedef struct tagTVDISPINFOEXW {
#define TCM_GETITEM __MINGW_NAME_AW(TCM_GETITEM)
#define TabCtrl_GetItem(hwnd,iItem,pitem) (WINBOOL)SNDMSG((hwnd),TCM_GETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
#define TabCtrl_GetItem(hwnd,iItem,pitem) (BOOL)SNDMSG((hwnd),TCM_GETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
#define TCM_SETITEMA (TCM_FIRST+6)
#define TCM_SETITEMW (TCM_FIRST+61)
#define TCM_SETITEM __MINGW_NAME_AW(TCM_SETITEM)
#define TabCtrl_SetItem(hwnd,iItem,pitem) (WINBOOL)SNDMSG((hwnd),TCM_SETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
#define TabCtrl_SetItem(hwnd,iItem,pitem) (BOOL)SNDMSG((hwnd),TCM_SETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
#define TCM_INSERTITEMA (TCM_FIRST+7)
#define TCM_INSERTITEMW (TCM_FIRST+62)
@@ -3988,13 +3988,13 @@ typedef struct tagTVDISPINFOEXW {
#define TabCtrl_InsertItem(hwnd,iItem,pitem) (int)SNDMSG((hwnd),TCM_INSERTITEM,(WPARAM)(int)(iItem),(LPARAM)(const TC_ITEM *)(pitem))
#define TCM_DELETEITEM (TCM_FIRST+8)
#define TabCtrl_DeleteItem(hwnd,i) (WINBOOL)SNDMSG((hwnd),TCM_DELETEITEM,(WPARAM)(int)(i),0L)
#define TabCtrl_DeleteItem(hwnd,i) (BOOL)SNDMSG((hwnd),TCM_DELETEITEM,(WPARAM)(int)(i),0L)
#define TCM_DELETEALLITEMS (TCM_FIRST+9)
#define TabCtrl_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),TCM_DELETEALLITEMS,0,0L)
#define TabCtrl_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd),TCM_DELETEALLITEMS,0,0L)
#define TCM_GETITEMRECT (TCM_FIRST+10)
#define TabCtrl_GetItemRect(hwnd,i,prc) (WINBOOL)SNDMSG((hwnd),TCM_GETITEMRECT,(WPARAM)(int)(i),(LPARAM)(RECT *)(prc))
#define TabCtrl_GetItemRect(hwnd,i,prc) (BOOL)SNDMSG((hwnd),TCM_GETITEMRECT,(WPARAM)(int)(i),(LPARAM)(RECT *)(prc))
#define TCM_GETCURSEL (TCM_FIRST+11)
#define TabCtrl_GetCurSel(hwnd) (int)SNDMSG((hwnd),TCM_GETCURSEL,0,0)
@@ -4018,9 +4018,9 @@ typedef struct tagTVDISPINFOEXW {
#define TCM_HITTEST (TCM_FIRST+13)
#define TabCtrl_HitTest(hwndTC,pinfo) (int)SNDMSG((hwndTC),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO *)(pinfo))
#define TCM_SETITEMEXTRA (TCM_FIRST+14)
#define TabCtrl_SetItemExtra(hwndTC,cb) (WINBOOL)SNDMSG((hwndTC),TCM_SETITEMEXTRA,(WPARAM)(cb),0L)
#define TabCtrl_SetItemExtra(hwndTC,cb) (BOOL)SNDMSG((hwndTC),TCM_SETITEMEXTRA,(WPARAM)(cb),0L)
#define TCM_ADJUSTRECT (TCM_FIRST+40)
#define TabCtrl_AdjustRect(hwnd,bLarger,prc) (int)SNDMSG(hwnd,TCM_ADJUSTRECT,(WPARAM)(WINBOOL)(bLarger),(LPARAM)(RECT *)prc)
#define TabCtrl_AdjustRect(hwnd,bLarger,prc) (int)SNDMSG(hwnd,TCM_ADJUSTRECT,(WPARAM)(BOOL)(bLarger),(LPARAM)(RECT *)prc)
#define TCM_SETITEMSIZE (TCM_FIRST+41)
#define TabCtrl_SetItemSize(hwnd,x,y) (DWORD)SNDMSG((hwnd),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
#define TCM_REMOVEIMAGE (TCM_FIRST+42)
@@ -4042,15 +4042,15 @@ typedef struct tagTVDISPINFOEXW {
#define TCM_DESELECTALL (TCM_FIRST+50)
#define TabCtrl_DeselectAll(hwnd,fExcludeFocus) (void)SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
#define TCM_HIGHLIGHTITEM (TCM_FIRST+51)
#define TabCtrl_HighlightItem(hwnd,i,fHighlight) (WINBOOL)SNDMSG((hwnd),TCM_HIGHLIGHTITEM,(WPARAM)(i),(LPARAM)MAKELONG (fHighlight,0))
#define TabCtrl_HighlightItem(hwnd,i,fHighlight) (BOOL)SNDMSG((hwnd),TCM_HIGHLIGHTITEM,(WPARAM)(i),(LPARAM)MAKELONG (fHighlight,0))
#define TCM_SETEXTENDEDSTYLE (TCM_FIRST+52)
#define TabCtrl_SetExtendedStyle(hwnd,dw) (DWORD)SNDMSG((hwnd),TCM_SETEXTENDEDSTYLE,0,dw)
#define TCM_GETEXTENDEDSTYLE (TCM_FIRST+53)
#define TabCtrl_GetExtendedStyle(hwnd) (DWORD)SNDMSG((hwnd),TCM_GETEXTENDEDSTYLE,0,0)
#define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TabCtrl_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),TCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define TabCtrl_SetUnicodeFormat(hwnd,fUnicode) (BOOL)SNDMSG((hwnd),TCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define TabCtrl_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),TCM_GETUNICODEFORMAT,0,0)
#define TabCtrl_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd),TCM_GETUNICODEFORMAT,0,0)
#define TCN_KEYDOWN (TCN_FIRST - 0)
@@ -4097,10 +4097,10 @@ typedef struct tagTVDISPINFOEXW {
#define Animate_Create(hwndP,id,dwStyle,hInstance) CreateWindow(ANIMATE_CLASS,NULL,dwStyle,0,0,0,0,hwndP,(HMENU)(id),hInstance,NULL)
#define Animate_Open(hwnd,szName) (WINBOOL)SNDMSG(hwnd,ACM_OPEN,0,(LPARAM)(LPTSTR)(szName))
#define Animate_OpenEx(hwnd,hInst,szName) (WINBOOL)SNDMSG(hwnd,ACM_OPEN,(WPARAM)(hInst),(LPARAM)(LPTSTR)(szName))
#define Animate_Play(hwnd,from,to,rep) (WINBOOL)SNDMSG(hwnd,ACM_PLAY,(WPARAM)(rep),(LPARAM)MAKELONG(from,to))
#define Animate_Stop(hwnd) (WINBOOL)SNDMSG(hwnd,ACM_STOP,0,0)
#define Animate_Open(hwnd,szName) (BOOL)SNDMSG(hwnd,ACM_OPEN,0,(LPARAM)(LPTSTR)(szName))
#define Animate_OpenEx(hwnd,hInst,szName) (BOOL)SNDMSG(hwnd,ACM_OPEN,(WPARAM)(hInst),(LPARAM)(LPTSTR)(szName))
#define Animate_Play(hwnd,from,to,rep) (BOOL)SNDMSG(hwnd,ACM_PLAY,(WPARAM)(rep),(LPARAM)MAKELONG(from,to))
#define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd,ACM_STOP,0,0)
#define Animate_Close(hwnd) Animate_Open(hwnd,NULL)
#define Animate_Seek(hwnd,frame) Animate_Play(hwnd,frame,frame,1)
#endif
@@ -4116,13 +4116,13 @@ typedef struct tagTVDISPINFOEXW {
#define MCM_FIRST 0x1000
#define MCM_GETCURSEL (MCM_FIRST+1)
#define MonthCal_GetCurSel(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_GETCURSEL,0,(LPARAM)(pst))
#define MonthCal_GetCurSel(hmc,pst) (BOOL)SNDMSG(hmc,MCM_GETCURSEL,0,(LPARAM)(pst))
#define MCM_SETCURSEL (MCM_FIRST+2)
#define MonthCal_SetCurSel(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_SETCURSEL,0,(LPARAM)(pst))
#define MonthCal_SetCurSel(hmc,pst) (BOOL)SNDMSG(hmc,MCM_SETCURSEL,0,(LPARAM)(pst))
#define MCM_GETMAXSELCOUNT (MCM_FIRST+3)
#define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc,MCM_GETMAXSELCOUNT,0,0L)
#define MCM_SETMAXSELCOUNT (MCM_FIRST+4)
#define MonthCal_SetMaxSelCount(hmc,n) (WINBOOL)SNDMSG(hmc,MCM_SETMAXSELCOUNT,(WPARAM)(n),0L)
#define MonthCal_SetMaxSelCount(hmc,n) (BOOL)SNDMSG(hmc,MCM_SETMAXSELCOUNT,(WPARAM)(n),0L)
#define MCM_GETSELRANGE (MCM_FIRST+5)
#define MonthCal_GetSelRange(hmc,rgst) SNDMSG(hmc,MCM_GETSELRANGE,0,(LPARAM)(rgst))
#define MCM_SETSELRANGE (MCM_FIRST+6)
@@ -4148,7 +4148,7 @@ typedef struct tagTVDISPINFOEXW {
#define MCM_SETTODAY (MCM_FIRST+12)
#define MonthCal_SetToday(hmc,pst) SNDMSG(hmc,MCM_SETTODAY,0,(LPARAM)(pst))
#define MCM_GETTODAY (MCM_FIRST+13)
#define MonthCal_GetToday(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_GETTODAY,0,(LPARAM)(pst))
#define MonthCal_GetToday(hmc,pst) (BOOL)SNDMSG(hmc,MCM_GETTODAY,0,(LPARAM)(pst))
#define MCM_HITTEST (MCM_FIRST+14)
#define MonthCal_HitTest(hmc,pinfo) SNDMSG(hmc,MCM_HITTEST,0,(LPARAM)(PMCHITTESTINFO)(pinfo))
@@ -4196,7 +4196,7 @@ typedef struct {
#define MCM_GETRANGE (MCM_FIRST+17)
#define MonthCal_GetRange(hmc,rgst) (DWORD)SNDMSG(hmc,MCM_GETRANGE,0,(LPARAM)(rgst))
#define MCM_SETRANGE (MCM_FIRST+18)
#define MonthCal_SetRange(hmc,gd,rgst) (WINBOOL)SNDMSG(hmc,MCM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
#define MonthCal_SetRange(hmc,gd,rgst) (BOOL)SNDMSG(hmc,MCM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
#define MCM_GETMONTHDELTA (MCM_FIRST+19)
#define MonthCal_GetMonthDelta(hmc) (int)SNDMSG(hmc,MCM_GETMONTHDELTA,0,0)
#define MCM_SETMONTHDELTA (MCM_FIRST+20)
@@ -4208,9 +4208,9 @@ typedef struct {
#define MCM_GETCALENDARCOUNT (MCM_FIRST + 23)
#define MonthCal_GetCalendarCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETCALENDARCOUNT, 0, 0)
#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define MonthCal_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),MCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define MonthCal_SetUnicodeFormat(hwnd,fUnicode) (BOOL)SNDMSG((hwnd),MCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define MonthCal_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),MCM_GETUNICODEFORMAT,0,0)
#define MonthCal_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd),MCM_GETUNICODEFORMAT,0,0)
#define MCM_SIZERECTTOMIN (MCM_FIRST + 29)
#define MonthCal_SizeRectToMin(hmc, prc) SNDMSG(hmc, MCM_SIZERECTTOMIN, 0, (LPARAM)(prc))
#define MCM_SETCALENDARBORDER (MCM_FIRST + 30)
@@ -4260,17 +4260,17 @@ typedef struct {
#define DTM_GETSYSTEMTIME (DTM_FIRST+1)
#define DateTime_GetSystemtime(hdp,pst) (DWORD)SNDMSG(hdp,DTM_GETSYSTEMTIME,0,(LPARAM)(pst))
#define DTM_SETSYSTEMTIME (DTM_FIRST+2)
#define DateTime_SetSystemtime(hdp,gd,pst) (WINBOOL)SNDMSG(hdp,DTM_SETSYSTEMTIME,(WPARAM)(gd),(LPARAM)(pst))
#define DateTime_SetSystemtime(hdp,gd,pst) (BOOL)SNDMSG(hdp,DTM_SETSYSTEMTIME,(WPARAM)(gd),(LPARAM)(pst))
#define DTM_GETRANGE (DTM_FIRST+3)
#define DateTime_GetRange(hdp,rgst) (DWORD)SNDMSG(hdp,DTM_GETRANGE,0,(LPARAM)(rgst))
#define DTM_SETRANGE (DTM_FIRST+4)
#define DateTime_SetRange(hdp,gd,rgst) (WINBOOL)SNDMSG(hdp,DTM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
#define DateTime_SetRange(hdp,gd,rgst) (BOOL)SNDMSG(hdp,DTM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
#define DTM_SETFORMATA (DTM_FIRST+5)
#define DTM_SETFORMATW (DTM_FIRST+50)
#define DTM_SETFORMAT __MINGW_NAME_AW(DTM_SETFORMAT)
#define DateTime_SetFormat(hdp,sz) (WINBOOL)SNDMSG(hdp,DTM_SETFORMAT,0,(LPARAM)(sz))
#define DateTime_SetFormat(hdp,sz) (BOOL)SNDMSG(hdp,DTM_SETFORMAT,0,(LPARAM)(sz))
#define DTM_SETMCCOLOR (DTM_FIRST+6)
#define DateTime_SetMonthCalColor(hdp,iColor,clr) SNDMSG(hdp,DTM_SETMCCOLOR,iColor,clr)
@@ -4560,18 +4560,18 @@ typedef struct {
} BUTTON_IMAGELIST,*PBUTTON_IMAGELIST;
#define BCM_GETIDEALSIZE (BCM_FIRST+0x1)
#define Button_GetIdealSize(hwnd,psize) (WINBOOL)SNDMSG((hwnd),BCM_GETIDEALSIZE,0,(LPARAM)(psize))
#define Button_GetIdealSize(hwnd,psize) (BOOL)SNDMSG((hwnd),BCM_GETIDEALSIZE,0,(LPARAM)(psize))
#define BCM_SETIMAGELIST (BCM_FIRST+0x2)
#define Button_SetImageList(hwnd,pbuttonImagelist) (WINBOOL)SNDMSG((hwnd),BCM_SETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
#define Button_SetImageList(hwnd,pbuttonImagelist) (BOOL)SNDMSG((hwnd),BCM_SETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
#define BCM_GETIMAGELIST (BCM_FIRST+0x3)
#define Button_GetImageList(hwnd,pbuttonImagelist) (WINBOOL)SNDMSG((hwnd),BCM_GETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
#define Button_GetImageList(hwnd,pbuttonImagelist) (BOOL)SNDMSG((hwnd),BCM_GETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
#define BCM_SETTEXTMARGIN (BCM_FIRST+0x4)
#define Button_SetTextMargin(hwnd,pmargin) (WINBOOL)SNDMSG((hwnd),BCM_SETTEXTMARGIN,0,(LPARAM)(pmargin))
#define Button_SetTextMargin(hwnd,pmargin) (BOOL)SNDMSG((hwnd),BCM_SETTEXTMARGIN,0,(LPARAM)(pmargin))
#define BCM_GETTEXTMARGIN (BCM_FIRST+0x5)
#define Button_GetTextMargin(hwnd,pmargin) (WINBOOL)SNDMSG((hwnd),BCM_GETTEXTMARGIN,0,(LPARAM)(pmargin))
#define Button_GetTextMargin(hwnd,pmargin) (BOOL)SNDMSG((hwnd),BCM_GETTEXTMARGIN,0,(LPARAM)(pmargin))
typedef struct tagNMBCHOTITEM {
NMHDR hdr;
@@ -4597,9 +4597,9 @@ typedef struct {
#define WC_EDIT __MINGW_NAME_AW(WC_EDIT)
#define EM_SETCUEBANNER (ECM_FIRST+1)
#define Edit_SetCueBannerText(hwnd,lpcwText) (WINBOOL)SNDMSG((hwnd),EM_SETCUEBANNER,0,(LPARAM)(lpcwText))
#define Edit_SetCueBannerText(hwnd,lpcwText) (BOOL)SNDMSG((hwnd),EM_SETCUEBANNER,0,(LPARAM)(lpcwText))
#define EM_GETCUEBANNER (ECM_FIRST+2)
#define Edit_GetCueBannerText(hwnd,lpwText,cchText) (WINBOOL)SNDMSG((hwnd),EM_GETCUEBANNER,(WPARAM)(lpwText),(LPARAM)(cchText))
#define Edit_GetCueBannerText(hwnd,lpwText,cchText) (BOOL)SNDMSG((hwnd),EM_GETCUEBANNER,(WPARAM)(lpwText),(LPARAM)(cchText))
typedef struct _tagEDITBALLOONTIP {
DWORD cbStruct;
@@ -4608,9 +4608,9 @@ typedef struct {
INT ttiIcon;
} EDITBALLOONTIP,*PEDITBALLOONTIP;
#define EM_SHOWBALLOONTIP (ECM_FIRST+3)
#define Edit_ShowBalloonTip(hwnd,peditballoontip) (WINBOOL)SNDMSG((hwnd),EM_SHOWBALLOONTIP,0,(LPARAM)(peditballoontip))
#define Edit_ShowBalloonTip(hwnd,peditballoontip) (BOOL)SNDMSG((hwnd),EM_SHOWBALLOONTIP,0,(LPARAM)(peditballoontip))
#define EM_HIDEBALLOONTIP (ECM_FIRST+4)
#define Edit_HideBalloonTip(hwnd) (WINBOOL)SNDMSG((hwnd),EM_HIDEBALLOONTIP,0,0)
#define Edit_HideBalloonTip(hwnd) (BOOL)SNDMSG((hwnd),EM_HIDEBALLOONTIP,0,0)
#endif
#ifndef NOLISTBOX
@@ -4632,7 +4632,7 @@ typedef struct {
#define CB_SETMINVISIBLE (CBM_FIRST+1)
#define CB_GETMINVISIBLE (CBM_FIRST+2)
#define ComboBox_SetMinVisible(hwnd,iMinVisible) (WINBOOL)SNDMSG((hwnd),CB_SETMINVISIBLE,(WPARAM)iMinVisible,0)
#define ComboBox_SetMinVisible(hwnd,iMinVisible) (BOOL)SNDMSG((hwnd),CB_SETMINVISIBLE,(WPARAM)iMinVisible,0)
#define ComboBox_GetMinVisible(hwnd) (int)SNDMSG((hwnd),CB_GETMINVISIBLE,0,0)
#ifndef NOSCROLLBAR
@@ -4704,7 +4704,7 @@ typedef struct {
typedef int (CALLBACK *PFNDSAENUMCALLBACK)(void *p,void *pData);
WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem,int cItemGrow);
WINCOMMCTRLAPI WINBOOL WINAPI DSA_Destroy(_Inout_opt_ HDSA hdsa);
WINCOMMCTRLAPI BOOL WINAPI DSA_Destroy(_Inout_opt_ HDSA hdsa);
WINCOMMCTRLAPI
void
@@ -4727,9 +4727,9 @@ typedef struct {
typedef struct _DPA *HDPA;
WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow);
WINCOMMCTRLAPI WINBOOL WINAPI DPA_Destroy(_Inout_opt_ HDPA hdpa);
WINCOMMCTRLAPI BOOL WINAPI DPA_Destroy(_Inout_opt_ HDPA hdpa);
WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(_Inout_ HDPA hdpa, _In_ int i);
WINCOMMCTRLAPI WINBOOL WINAPI DPA_DeleteAllPtrs(_Inout_ HDPA hdpa);
WINCOMMCTRLAPI BOOL WINAPI DPA_DeleteAllPtrs(_Inout_ HDPA hdpa);
WINCOMMCTRLAPI
void
@@ -4750,7 +4750,7 @@ typedef struct {
typedef int (CALLBACK *PFNDPACOMPARE)(void *p1,void *p2,LPARAM lParam);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
DPA_Sort(
_Inout_ HDPA hdpa,
@@ -4773,7 +4773,7 @@ typedef struct {
_In_ UINT options);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI Str_SetPtrW(
_Inout_ LPWSTR *ppsz,
_In_opt_ LPCWSTR psz);
@@ -4823,7 +4823,7 @@ typedef const void*
_In_ struct IStream * pstream,
_In_opt_ void *pvInstData);
WINCOMMCTRLAPI WINBOOL WINAPI DPA_Grow(_Inout_ HDPA pdpa, _In_ int cp);
WINCOMMCTRLAPI BOOL WINAPI DPA_Grow(_Inout_ HDPA pdpa, _In_ int cp);
WINCOMMCTRLAPI
int
@@ -4836,7 +4836,7 @@ typedef const void*
WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(_In_ HDPA hdpa, _In_ INT_PTR i);
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
DPA_SetPtr(
_Inout_ HDPA hdpa,
@@ -4892,7 +4892,7 @@ typedef const void*
#endif
WINCOMMCTRLAPI
WINBOOL
BOOL
WINAPI
_TrackMouseEvent(
_Inout_ LPTRACKMOUSEEVENT lpEventTrack);
@@ -4919,24 +4919,24 @@ typedef const void*
#define FSB_ENCARTA_MODE 1
#define FSB_REGULAR_MODE 0
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_EnableScrollBar(HWND,int,UINT);
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_ShowScrollBar(HWND,int code,WINBOOL);
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollRange(HWND,int code,LPINT,LPINT);
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollInfo(HWND,int code,LPSCROLLINFO);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_EnableScrollBar(HWND,int,UINT);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_ShowScrollBar(HWND,int code,BOOL);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollRange(HWND,int code,LPINT,LPINT);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollInfo(HWND,int code,LPSCROLLINFO);
WINCOMMCTRLAPI int WINAPI FlatSB_GetScrollPos(HWND,int code);
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollProp(HWND,int propIndex,LPINT);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollProp(HWND,int propIndex,LPINT);
#ifdef _WIN64
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollPropPtr(HWND,int propIndex,PINT_PTR);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,int propIndex,PINT_PTR);
#else
#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
#endif
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollPos(HWND,int code,int pos,WINBOOL fRedraw);
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollInfo(HWND,int code,LPSCROLLINFO,WINBOOL fRedraw);
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND,int code,int min,int max,WINBOOL fRedraw);
WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_SetScrollProp(HWND,UINT index,INT_PTR newValue,WINBOOL);
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollPos(HWND,int code,int pos,BOOL fRedraw);
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollInfo(HWND,int code,LPSCROLLINFO,BOOL fRedraw);
WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND,int code,int min,int max,BOOL fRedraw);
WINCOMMCTRLAPI BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT index,INT_PTR newValue,BOOL);
#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
WINCOMMCTRLAPI WINBOOL WINAPI InitializeFlatSB(HWND);
WINCOMMCTRLAPI BOOL WINAPI InitializeFlatSB(HWND);
WINCOMMCTRLAPI HRESULT WINAPI UninitializeFlatSB(HWND);
#endif
#endif
@@ -4944,7 +4944,7 @@ typedef const void*
typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,UINT_PTR uIdSubclass,DWORD_PTR dwRefData);
_Success_(return != 0)
WINBOOL
BOOL
WINAPI
SetWindowSubclass(
_In_ HWND hWnd,
@@ -4953,7 +4953,7 @@ typedef const void*
_In_ DWORD_PTR dwRefData);
_Success_(return != 0)
WINBOOL
BOOL
WINAPI
GetWindowSubclass(
_In_ HWND hWnd,
@@ -4962,7 +4962,7 @@ typedef const void*
_Out_opt_ DWORD_PTR *pdwRefData);
_Success_(return != 0)
WINBOOL
BOOL
WINAPI
RemoveWindowSubclass(
_In_ HWND hWnd,
+55
View File
@@ -195,6 +195,12 @@ extern "C" {
#define CD_LBSELADD 2
#define DN_DEFAULTPRN 1
#define PD_RESULT_CANCEL 0
#define PD_RESULT_PRINT 1
#define PD_RESULT_APPLY 2
#define START_PAGE_GENERAL 0xffffffff
#ifndef SNDMSG
#ifdef __cplusplus
#define SNDMSG ::SendMessage
@@ -378,6 +384,21 @@ typedef struct tagOFNW {
DWORD FlagsEx;
#endif
} OPENFILENAMEW,*LPOPENFILENAMEW;
#ifndef CDSIZEOF_STRUCT
#define CDSIZEOF_STRUCT(type,field) ((INT_PTR)&(((type *)0)->field) + sizeof(((type*)0)->field))
#endif
#define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName)
#define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
#ifdef UNICODE
#define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W
#else
#define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400A
#endif
typedef struct _OFNOTIFYA {
NMHDR hdr;
LPOPENFILENAMEA lpOFN;
@@ -533,6 +554,40 @@ typedef struct tagPDEXW {
} PRINTDLGEXW, *LPPRINTDLGEXW;
#endif /* WINVER >= 0x0500 */
#ifdef STDMETHOD
DEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3,0x6530,0x11d1,0xb6,0xa3,0x00,0x00,0xf8,0x75,0x7b,0xf9);
#define INTERFACE IPrintDialogCallback
DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IPrintDialogCallback methods ***/
STDMETHOD(InitDone)(THIS) PURE;
STDMETHOD(SelectionChange)(THIS) PURE;
STDMETHOD(HandleMessage)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT *) PURE;
};
#undef INTERFACE
DEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda,0x5639,0x11d1,0xb6,0xa1,0x00,0x00,0xf8,0x75,0x7b,0xf9);
#define INTERFACE IPrintDialogServices
DECLARE_INTERFACE_(IPrintDialogServices,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IPrintDialogServices methods ***/
STDMETHOD(GetCurrentDevMode)(THIS_ LPDEVMODEW,UINT *) PURE;
STDMETHOD(GetCurrentPrinterName)(THIS_ LPWSTR,UINT *) PURE;
STDMETHOD(GetCurrentPortName)(THIS_ LPWSTR,UINT *) PURE;
};
#undef INTERFACE
#endif /* STDMETHOD */
BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
+208
View File
@@ -0,0 +1,208 @@
/*
* Copyright 2010 Matteo Bruni for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __D3D11SHADER_H__
#define __D3D11SHADER_H__
#include "d3dcommon.h"
/* These are defined as version-neutral in d3dcommon.h */
typedef D3D_CBUFFER_TYPE D3D11_CBUFFER_TYPE;
typedef D3D_RESOURCE_RETURN_TYPE D3D11_RESOURCE_RETURN_TYPE;
typedef D3D_TESSELLATOR_DOMAIN D3D11_TESSELLATOR_DOMAIN;
typedef D3D_TESSELLATOR_PARTITIONING D3D11_TESSELLATOR_PARTITIONING;
typedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D11_TESSELLATOR_OUTPUT_PRIMITIVE;
typedef struct _D3D11_SHADER_DESC
{
UINT Version;
LPCSTR Creator;
UINT Flags;
UINT ConstantBuffers;
UINT BoundResources;
UINT InputParameters;
UINT OutputParameters;
UINT InstructionCount;
UINT TempRegisterCount;
UINT TempArrayCount;
UINT DefCount;
UINT DclCount;
UINT TextureNormalInstructions;
UINT TextureLoadInstructions;
UINT TextureCompInstructions;
UINT TextureBiasInstructions;
UINT TextureGradientInstructions;
UINT FloatInstructionCount;
UINT IntInstructionCount;
UINT UintInstructionCount;
UINT StaticFlowControlCount;
UINT DynamicFlowControlCount;
UINT MacroInstructionCount;
UINT ArrayInstructionCount;
UINT CutInstructionCount;
UINT EmitInstructionCount;
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology;
UINT GSMaxOutputVertexCount;
D3D_PRIMITIVE InputPrimitive;
UINT PatchConstantParameters;
UINT cGSInstanceCount;
UINT cControlPoints;
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive;
D3D_TESSELLATOR_PARTITIONING HSPartitioning;
D3D_TESSELLATOR_DOMAIN TessellatorDomain;
UINT cBarrierInstructions;
UINT cInterlockedInstructions;
UINT cTextureStoreInstructions;
} D3D11_SHADER_DESC;
typedef struct _D3D11_SHADER_VARIABLE_DESC
{
LPCSTR Name;
UINT StartOffset;
UINT Size;
UINT uFlags;
LPVOID DefaultValue;
UINT StartTexture;
UINT TextureSize;
UINT StartSampler;
UINT SamplerSize;
} D3D11_SHADER_VARIABLE_DESC;
typedef struct _D3D11_SHADER_TYPE_DESC
{
D3D_SHADER_VARIABLE_CLASS Class;
D3D_SHADER_VARIABLE_TYPE Type;
UINT Rows;
UINT Columns;
UINT Elements;
UINT Members;
UINT Offset;
LPCSTR Name;
} D3D11_SHADER_TYPE_DESC;
typedef struct _D3D11_SHADER_BUFFER_DESC
{
LPCSTR Name;
D3D_CBUFFER_TYPE Type;
UINT Variables;
UINT Size;
UINT uFlags;
} D3D11_SHADER_BUFFER_DESC;
typedef struct _D3D11_SHADER_INPUT_BIND_DESC
{
LPCSTR Name;
D3D_SHADER_INPUT_TYPE Type;
UINT BindPoint;
UINT BindCount;
UINT uFlags;
D3D_RESOURCE_RETURN_TYPE ReturnType;
D3D_SRV_DIMENSION Dimension;
UINT NumSamples;
} D3D11_SHADER_INPUT_BIND_DESC;
typedef struct _D3D11_SIGNATURE_PARAMETER_DESC
{
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D_NAME SystemValueType;
D3D_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
UINT Stream;
} D3D11_SIGNATURE_PARAMETER_DESC;
DEFINE_GUID(IID_ID3D11ShaderReflectionType, 0x6e6ffa6a, 0x9bae, 0x4613, 0xa5, 0x1e, 0x91, 0x65, 0x2d, 0x50, 0x8c, 0x21);
#define INTERFACE ID3D11ShaderReflectionType
DECLARE_INTERFACE(ID3D11ShaderReflectionType)
{
STDMETHOD(GetDesc)(THIS_ D3D11_SHADER_TYPE_DESC *desc) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
STDMETHOD_(LPCSTR, GetMemberTypeName)(THIS_ UINT index) PURE;
STDMETHOD(IsEqual)(THIS_ struct ID3D11ShaderReflectionType *type) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetSubType)(THIS) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetBaseClass)(THIS) PURE;
STDMETHOD_(UINT, GetNumInterfaces)(THIS) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetInterfaceByIndex)(THIS_ UINT index) PURE;
STDMETHOD(IsOfType)(THIS_ struct ID3D11ShaderReflectionType *type) PURE;
STDMETHOD(ImplementsInterface)(THIS_ ID3D11ShaderReflectionType *base) PURE;
};
#undef INTERFACE
DEFINE_GUID(IID_ID3D11ShaderReflectionVariable, 0x51f23923, 0xf3e5, 0x4bd1, 0x91, 0xcb, 0x60, 0x61, 0x77, 0xd8, 0xdb, 0x4c);
#define INTERFACE ID3D11ShaderReflectionVariable
DECLARE_INTERFACE(ID3D11ShaderReflectionVariable)
{
STDMETHOD(GetDesc)(THIS_ D3D11_SHADER_VARIABLE_DESC *desc) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionType *, GetType)(THIS) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionConstantBuffer *, GetBuffer)(THIS) PURE;
STDMETHOD_(UINT, GetInterfaceSlot)(THIS_ UINT index) PURE;
};
#undef INTERFACE
DEFINE_GUID(IID_ID3D11ShaderReflectionConstantBuffer, 0xeb62d63d, 0x93dd, 0x4318, 0x8a, 0xe8, 0xc6, 0xf8, 0x3a, 0xd3, 0x71, 0xb8);
#define INTERFACE ID3D11ShaderReflectionConstantBuffer
DECLARE_INTERFACE(ID3D11ShaderReflectionConstantBuffer)
{
STDMETHOD(GetDesc)(THIS_ D3D11_SHADER_BUFFER_DESC *desc) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionVariable *, GetVariableByName)(THIS_ LPCSTR name) PURE;
};
#undef INTERFACE
DEFINE_GUID(IID_ID3D11ShaderReflection, 0x0a233719, 0x3960, 0x4578, 0x9d, 0x7c, 0x20, 0x3b, 0x8b, 0x1d, 0x9c, 0xc1);
#define INTERFACE ID3D11ShaderReflection
DECLARE_INTERFACE_(ID3D11ShaderReflection, IUnknown)
{
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* ID3D11ShaderReflection methods */
STDMETHOD(GetDesc)(THIS_ D3D11_SHADER_DESC *desc) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionConstantBuffer *, GetConstantBufferByName)(THIS_ LPCSTR name) PURE;
STDMETHOD(GetResourceBindingDesc)(THIS_ UINT index, D3D11_SHADER_INPUT_BIND_DESC *desc) PURE;
STDMETHOD(GetInputParameterDesc)(THIS_ UINT index, D3D11_SIGNATURE_PARAMETER_DESC *desc) PURE;
STDMETHOD(GetOutputParameterDesc)(THIS_ UINT index, D3D11_SIGNATURE_PARAMETER_DESC *desc) PURE;
STDMETHOD(GetPatchConstantParameterDesc)(THIS_ UINT index, D3D11_SIGNATURE_PARAMETER_DESC *desc) PURE;
STDMETHOD_(struct ID3D11ShaderReflectionVariable *, GetVariableByName)(THIS_ LPCSTR name) PURE;
STDMETHOD(GetResourceBindingDescByName)(THIS_ LPCSTR name, D3D11_SHADER_INPUT_BIND_DESC *desc) PURE;
STDMETHOD_(UINT, GetMovInstructionCount)(THIS) PURE;
STDMETHOD_(UINT, GetMovcInstructionCount)(THIS) PURE;
STDMETHOD_(UINT, GetConversionInstructionCount)(THIS) PURE;
STDMETHOD_(UINT, GetBitwiseInstructionCount)(THIS) PURE;
STDMETHOD_(D3D_PRIMITIVE, GetGSInputPrimitive)(THIS) PURE;
STDMETHOD_(BOOL, IsSampleFrequencyShader)(THIS) PURE;
STDMETHOD_(UINT, GetNumInterfaceSlots)(THIS) PURE;
STDMETHOD(GetMinFeatureLevel)(THIS_ enum D3D_FEATURE_LEVEL *level) PURE;
STDMETHOD_(UINT, GetThreadGroupSize)(THIS_ UINT *sizex, UINT *sizey, UINT *sizez) PURE;
};
#undef INTERFACE
#endif
+16
View File
@@ -461,6 +461,9 @@ typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
#define D3DSHADER_INSTRUCTION_PREDICATED (1 << 28)
#define D3DSI_TEXLD_PROJECT 0x00010000
#define D3DSI_TEXLD_BIAS 0x00020000
/** for parallelism */
#define D3DSI_COISSUE 0x40000000
@@ -1586,6 +1589,19 @@ typedef enum _D3DCOMPOSERECTSOP{
} D3DCOMPOSERECTSOP;
#endif /* D3D_DISABLE_9EX */
typedef enum _D3DSHADER_COMPARISON
{
D3DSPC_RESERVED0 = 0,
D3DSPC_GT,
D3DSPC_EQ,
D3DSPC_GE,
D3DSPC_LT,
D3DSPC_NE,
D3DSPC_LE,
D3DSPC_RESERVED1,
} D3DSHADER_COMPARISON;
#pragma pack(pop)
#endif /* DIRECT3D_VERSION >= 0x0900 */
+123
View File
@@ -0,0 +1,123 @@
/*
* Copyright 2010 Matteo Bruni for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __D3DCOMPILER_H__
#define __D3DCOMPILER_H__
#include "d3d11shader.h"
#ifdef __cplusplus
extern "C" {
#endif
#if defined(__GNUC__)
#define D3DCOMPILER_DLL_W (const WCHAR[]){'d','3','d','c','o','m','p','i','l','e','r','_','4','3','.','d','l','l',0}
#elif defined(_MSC_VER)
#define D3DCOMPILER_DLL_W L"d3dcompiler_43.dll"
#else
static const WCHAR D3DCOMPILER_DLL_W[] = {'d','3','d','c','o','m','p','i','l','e','r','_','4','3','.','d','l','l',0};
#endif
#define D3DCOMPILER_DLL_A "d3dcompiler_43.dll"
#define D3DCOMPILER_DLL WINELIB_NAME_AW(D3DCOMPILER_DLL_)
#define D3DCOMPILE_DEBUG 0x00000001
#define D3DCOMPILE_SKIP_VALIDATION 0x00000002
#define D3DCOMPILE_SKIP_OPTIMIZATION 0x00000004
#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR 0x00000008
#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR 0x00000010
#define D3DCOMPILE_PARTIAL_PRECISION 0x00000020
#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT 0x00000040
#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT 0x00000080
#define D3DCOMPILE_NO_PRESHADER 0x00000100
#define D3DCOMPILE_AVOID_FLOW_CONTROL 0x00000200
#define D3DCOMPILE_PREFER_FLOW_CONTROL 0x00000400
#define D3DCOMPILE_ENABLE_STRICTNESS 0x00000800
#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY 0x00001000
#define D3DCOMPILE_IEEE_STRICTNESS 0x00002000
#define D3DCOMPILE_OPTIMIZATION_LEVEL0 0x00004000
#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0x00000000
#define D3DCOMPILE_OPTIMIZATION_LEVEL2 0x0000c000
#define D3DCOMPILE_OPTIMIZATION_LEVEL3 0x00008000
#define D3DCOMPILE_WARNINGS_ARE_ERRORS 0x00040000
#define D3D_DISASM_ENABLE_COLOR_CODE 0x00000001
#define D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS 0x00000002
#define D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING 0x00000004
#define D3D_DISASM_ENABLE_INSTRUCTION_CYCLE 0x00000008
#define D3D_DISASM_DISABLE_DEBUG_INFO 0x00000010
HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename,
const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
typedef HRESULT (WINAPI *pD3DCompile)(const void *data, SIZE_T data_size, const char *filename,
const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages);
typedef enum D3DCOMPILER_STRIP_FLAGS
{
D3DCOMPILER_STRIP_REFLECTION_DATA = 1,
D3DCOMPILER_STRIP_DEBUG_INFO = 2,
D3DCOMPILER_STRIP_TEST_BLOBS = 4,
D3DCOMPILER_STRIP_FORCE_DWORD = 0x7fffffff
} D3DCOMPILER_STRIP_FLAGS;
HRESULT WINAPI D3DStripShader(const void *data, SIZE_T data_size, UINT flags, ID3DBlob **blob);
typedef enum D3D_BLOB_PART
{
D3D_BLOB_INPUT_SIGNATURE_BLOB,
D3D_BLOB_OUTPUT_SIGNATURE_BLOB,
D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB,
D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB,
D3D_BLOB_ALL_SIGNATURE_BLOB,
D3D_BLOB_DEBUG_INFO,
D3D_BLOB_LEGACY_SHADER,
D3D_BLOB_XNA_PREPASS_SHADER,
D3D_BLOB_XNA_SHADER,
D3D_BLOB_TEST_ALTERNATE_SHADER = 0x8000,
D3D_BLOB_TEST_COMPILE_DETAILS,
D3D_BLOB_TEST_COMPILE_PERF
} D3D_BLOB_PART;
HRESULT WINAPI D3DDisassemble(const void *data, SIZE_T data_size,
UINT flags, const char *comments, ID3DBlob **disassembly);
typedef HRESULT (WINAPI *pD3DDisassemble)(const void *data, SIZE_T data_size,
UINT flags, const char *comments, ID3DBlob **disassembly);
HRESULT WINAPI D3DGetBlobPart(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob);
HRESULT WINAPI D3DGetInputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob);
HRESULT WINAPI D3DGetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob);
HRESULT WINAPI D3DGetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob);
HRESULT WINAPI D3DGetDebugInfo(const void *data, SIZE_T data_size, ID3DBlob **blob);
HRESULT WINAPI D3DReflect(const void *data, SIZE_T data_size, REFIID riid, void **reflector);
HRESULT WINAPI D3DCreateBlob(SIZE_T data_size, ID3DBlob **blob);
HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename,
const D3D_SHADER_MACRO *defines, ID3DInclude *include,
ID3DBlob **shader, ID3DBlob **error_messages);
typedef HRESULT (WINAPI *pD3DPreprocess)(const void *data, SIZE_T size, const char *filename,
const D3D_SHADER_MACRO *defines, ID3DInclude *include,
ID3DBlob **shader, ID3DBlob **error_messages);
#ifdef __cplusplus
}
#endif
#endif
+736
View File
@@ -0,0 +1,736 @@
/*
* Core Audio device topology definitions
*
* Copyright 2009 Maarten Lankhorst
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
interface IPart;
interface IControlInterface;
interface IDeviceTopology;
interface IControlChangeNotify;
import "oaidl.idl";
import "ocidl.idl";
import "propidl.idl";
cpp_quote("#ifndef E_NOTFOUND")
cpp_quote("#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)")
cpp_quote("#endif")
cpp_quote("#define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 0x64726148 /* 'draH' */")
cpp_quote("DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xe2c2e9de, 0x09b1, 0x4b04,0x84,0xe5, 0x07, 0x93, 0x12, 0x25, 0xee, 0x04);")
cpp_quote("#define _IKsControl_")
cpp_quote("#include <ks.h>")
cpp_quote("#include <ksmedia.h>")
cpp_quote("#ifndef _KS_")
typedef struct {
ULONG FormatSize;
ULONG Flags;
ULONG SampleSize;
ULONG Reserved;
GUID MajorFormat;
GUID SubFormat;
GUID Specifier;
} KSDATAFORMAT;
typedef KSDATAFORMAT *PKSDATAFORMAT;
typedef struct
{
union
{
struct {
GUID Set;
ULONG Id;
ULONG Flags;
};
LONGLONG Alignment;
};
} KSIDENTIFIER;
typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY;
typedef KSIDENTIFIER KSMETHOD, *PKSMETHOD;
typedef KSIDENTIFIER KSEVENT, *PKSEVENT;
typedef enum
{
eConnTypeUnknown = 0,
eConnType3Point5mm,
eConnTypeQuarter,
eConnTypeAtapiInternal,
eConnTypeRCA,
eConnTypeOptical,
eConnTypeOtherDigital,
eConnTypeOtherAnalog,
eConnTypeMultichannelAnalogDIN,
eConnTypeXlrProfessional,
eConnTypeRj11Modem,
eConnTypeCombination
} EPcxConnectionType;
typedef enum
{
eGeoLocRear = 1,
eGeoLocFront,
eGeoLocLeft,
eGeoLocRight,
eGeoLocTop,
eGeoLocBottom,
eGeoLocRearPanel,
eGeoLocRiser,
eGeoLocInsideMobileLid,
eGeoLocDrivebay,
eGeoLocHDMI,
eGeoLocOutsideMobileLid,
eGeoLocATAPI,
eGeoLocReserved5,
eGeoLocReserved6
} EPcxGeoLocation;
typedef enum
{
eGenLocPrimaryBox = 0,
eGenLocInternal,
eGenLocSeparate,
eGenLocOther
} EPcxGenLocation;
typedef enum
{
ePortConnJack = 0,
ePortConnIntegratedDevice,
ePortConnBothIntegratedAndJack,
ePortConnUnknown
} EPxcPortConnection;
typedef struct
{
DWORD ChannelMapping;
COLORREF Color;
EPcxConnectionType ConnectionType;
EPcxGeoLocation GeoLocation;
EPcxGenLocation GenLocation;
EPxcPortConnection PortConnection;
BOOL IsConnected;
} KSJACK_DESCRIPTION;
typedef KSJACK_DESCRIPTION *PKSJACK_DESCRIPTION;
typedef struct _LUID
{
DWORD LowPart;
LONG HighPart;
} LUID;
typedef struct _LUID *PLUID;
typedef enum
{
KSJACK_SINK_CONNECTIONTYPE_HDMI = 0,
KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT
} KSJACK_SINK_CONNECTIONTYPE;
typedef struct _tagKSJACK_SINK_INFORMATION
{
KSJACK_SINK_CONNECTIONTYPE ConnType;
WORD ManufacturerId;
WORD ProductId;
WORD AudioLatency;
BOOL HDCPCapable;
BOOL AICapable;
UCHAR SinkDescriptionLength;
WCHAR SinkDescription[32];
LUID PortId;
} KSJACK_SINK_INFORMATION;
typedef struct _tagKSJACK_DESCRIPTION2
{
DWORD DeviceStateInfo;
DWORD JackCapabilities;
} KSJACK_DESCRIPTION2;
typedef struct _tagKSJACK_DESCRIPTION2 *PKSJACK_DESCRIPTION2;
cpp_quote("#endif")
typedef enum
{
In = 0,
Out
} DataFlow;
typedef enum
{
Connector = 0,
Subunit
} PartType;
typedef enum
{
Unknown_Connector = 0,
Physical_Internal,
Physical_External,
Software_IO,
Software_Fixed,
Network
} ConnectorType;
[
pointer_default(unique),
nonextensible,
uuid(28f54685-06fd-11d2-b27a-00a0c9223196),
local,
object
]
interface IKsControl : IUnknown
{
HRESULT KsProperty(
[in] PKSPROPERTY Property,
[in] ULONG PropertyLength,
[in,out] void *PropertyData,
[in] ULONG DataLength,
[out] ULONG *BytesReturned
);
HRESULT KsMethod(
[in] PKSMETHOD Method,
[in] ULONG MethodLength,
[in,out] void *MethodData,
[in] ULONG DataLength,
[out] ULONG *BytesReturned
);
HRESULT KsEvent(
[in] PKSEVENT Event,
[in] ULONG EventLength,
[in,out] void *EventData,
[in] ULONG DataLength,
[out] ULONG *BytesReturned
);
}
[
pointer_default(unique),
nonextensible,
uuid(c2f8e001-f205-4bc9-99bc-c13b1e048ccb),
local,
object
]
interface IPerChannelDbLevel : IUnknown
{
HRESULT GetChannelCount(
[out] UINT *pcChannels
);
HRESULT GetLevelRange(
[in] UINT nChannel,
[out] float *pfMinLevelDB,
[out] float *pfMaxLevelDB,
[out] float *pfStepping
);
HRESULT GetLevel(
[in] UINT nChannel,
[out] float *pfLevelDB
);
HRESULT SetLevel(
[in] UINT nChannel,
[in] float fLevelDB,
[in,unique] LPCGUID pguidEventContext
);
HRESULT SetLevelUniform(
[in] float fLevelDB,
[in,unique] LPCGUID pguidEventContext
);
HRESULT SetLevelAllChannels(
[size_is(cChannels),in] float *aLevelsDB,
[in] ULONG cChannels,
[in] LPCGUID pguidEventContext
);
}
[
pointer_default(unique),
nonextensible,
uuid(7fb7b48f-531d-44a2-bcb3-5ad5a134b3dc),
local,
object
]
interface IAudioVolumeLevel : IPerChannelDbLevel
{
/* Empty */
}
[
pointer_default(unique),
nonextensible,
uuid(bb11c46f-ec28-493c-b88a-5db88062ce98),
local,
object
]
interface IAudioChannelConfig : IUnknown
{
HRESULT SetChannelConfig(
[in] DWORD dwConfig,
[in] LPCGUID pguidEventContext
);
HRESULT GetChannelConfig(
[in] DWORD dwConfig,
[retval,out] DWORD *pdwConfig
);
}
[
pointer_default(unique),
nonextensible,
uuid(7d8b1437-dd53-4350-9c1b-1ee2890bf938),
local,
object
]
interface IAudioLoudness : IUnknown
{
HRESULT GetEnabled(
[out] BOOL *pbEnabled
);
HRESULT SetEnabled(
[in] BOOL bEnabled,
[in] LPCGUID pguidEventContext
);
}
[
pointer_default(unique),
nonextensible,
uuid(4f03dc02-5e6e-4653-8f72-a030c123d598),
local,
object
]
interface IAudioInputSelector : IUnknown
{
HRESULT GetSelection(
[out] UINT *pnIdSelected
);
HRESULT SetSelection(
[in] UINT nIdSelect,
[unique,in] LPCGUID pguidEventContext
);
}
[
pointer_default(unique),
nonextensible,
uuid(bb515f69-94a7-429e-8b9c-271b3f11a3ab),
local,
object
]
interface IAudioOutputSelector : IUnknown
{
HRESULT GetSelection(
[out] UINT *pnIdSelected
);
HRESULT SetSelection(
[in] UINT nIdSelect,
[unique,in] LPCGUID pguidEventContext
);
}
[
pointer_default(unique),
nonextensible,
uuid(bb515f69-94a7-429e-8b9c-271b3f11a3ab),
local,
object
]
interface IAudioMute : IUnknown
{
HRESULT SetMute(
[in] BOOL bMute,
[unique,in] LPCGUID pguidEventContext
);
HRESULT GetMute(
[out] BOOL *pbMute
);
}
[
pointer_default(unique),
nonextensible,
uuid(a2b1a1d9-4db3-425d-a2b2-bd335cb3e2e5),
local,
object
]
interface IAudioBass : IPerChannelDbLevel
{
/* Empty */
}
[
pointer_default(unique),
nonextensible,
uuid(5e54b6d7-b44b-40d9-9a9e-e691d9ce6edf),
local,
object
]
interface IAudioMidRange : IPerChannelDbLevel
{
/* Empty */
}
[
pointer_default(unique),
nonextensible,
uuid(0a717812-694e-4907-b74b-bafa5cfdca7b),
local,
object
]
interface IAudioTreble : IPerChannelDbLevel
{
/* Empty */
}
[
pointer_default(unique),
nonextensible,
uuid(bb515f69-94a7-429e-8b9c-271b3f11a3ab),
local,
object
]
interface IAudioAutoGainControl : IUnknown
{
HRESULT GetEnabled(
[in] BOOL bEnabled,
[unique,in] LPCGUID pguidEventContext
);
HRESULT GetMute(
[out] BOOL *pbEnabled
);
}
[
pointer_default(unique),
nonextensible,
uuid(dd79923c-0599-45e0-b8b6-c8df7db6e796),
local,
object
]
interface IAudioPeakMeter : IUnknown
{
HRESULT GetChannelCount(
[out] UINT *pcChannels
);
HRESULT GetLevel(
[in] UINT nChannel,
[out] float *pfLevel
);
}
[
pointer_default(unique),
nonextensible,
uuid(3b22bcbf-2586-4af0-8583-205d391b807c),
local,
object
]
interface IDeviceSpecificProperty : IUnknown
{
HRESULT GetType(
[out] VARTYPE *pVType
);
HRESULT GetValue(
[out] VARTYPE *pvType,
[out,in] DWORD *pcbValue
);
HRESULT SetValue(
[in] void *pvValue,
[in] DWORD cbValue,
[in] LPCGUID pguidEventContext
);
HRESULT Get4BRange(
[out] LONG *plMin,
[out] LONG *plMax,
[out] LONG *plStepping
);
}
[
pointer_default(unique),
nonextensible,
uuid(3cb4a69d-bb6f-4d2b-95b7-452d2c155db5),
local,
object
]
interface IKsFormatSupport : IUnknown
{
HRESULT IsFormatSupported(
[size_is(cbFormat),in] PKSDATAFORMAT pKsFormat,
[in] DWORD cbFormat,
[out] BOOL *pbSupported
);
HRESULT GetDevicePreferredFormat(
[out] PKSDATAFORMAT *ppKsFormat
);
}
[
pointer_default(unique),
nonextensible,
uuid(4509f757-2d46-4637-8e62-ce7db944f57b),
local,
object
]
interface IKsJackDescription : IUnknown
{
HRESULT GetJackCount(
[out] UINT *pcJacks
);
HRESULT GetJackDescription(
[in] UINT nJack,
[out] KSJACK_DESCRIPTION *pDescription
);
}
[
pointer_default(unique),
nonextensible,
uuid(478f3a9b-e0c9-4827-9228-6f5505ffe76a),
local,
object
]
interface IKsJackDescription2 : IUnknown
{
HRESULT GetJackCount(
[out] UINT *pcJacks
);
HRESULT GetJackDescription2(
[in] UINT nJack,
[out] KSJACK_DESCRIPTION2 *pDescription2
);
}
[
pointer_default(unique),
nonextensible,
uuid(d9bd72ed-290f-4581-9ff3-61027a8fe532),
local,
object
]
interface IKsJackSinkInformation : IUnknown
{
HRESULT GetJackSinkInformation(
[out] KSJACK_SINK_INFORMATION *pJackSinkInformation
);
}
[
pointer_default(unique),
nonextensible,
uuid(6daa848c-5eb0-45cc-aea5-998a2cda1ffb),
local,
object
]
interface IPartsList : IUnknown
{
HRESULT GetCount(
[out] UINT *pCount
);
HRESULT GetPart(
[in] UINT nIndex,
[out] IPart **ppPart
);
}
[
pointer_default(unique),
nonextensible,
uuid(ae2de0e4-5bca-4f2d-aa46-5d13f8fdb3a9),
local,
object
]
interface IPart : IUnknown
{
HRESULT GetName(
[out] LPWSTR *ppwstrName
);
HRESULT GetLocalId(
[out] UINT *pnId
);
HRESULT GetGlobalId(
[out] LPWSTR *ppwstrGlobalId
);
HRESULT GetPartType(
[out] PartType *pPartType
);
HRESULT GetSubType(
[out] GUID *pSubType
);
HRESULT GetControlInterfaceCount(
[out] UINT *pCount
);
HRESULT GetControlInterface(
[in] UINT nIndex,
[out] IControlInterface **ppInterfaceDesc
);
HRESULT EnumPartsIncoming(
[out] IPartsList **ppParts
);
HRESULT EnumPartsOutgoing(
[out] IPartsList **ppParts
);
HRESULT GetTopologyObjects(
[out] IDeviceTopology **ppTopology
);
HRESULT Activate(
[in] DWORD dwClsContext,
[in] REFIID refiid,
[iid_is(refiid),out] void **ppvObject
);
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
};
[
pointer_default(unique),
nonextensible,
uuid(9c2c4058-23f5-41de-877a-df3af236a09e),
local,
object
]
interface IConnector : IUnknown
{
HRESULT GetType(
[out] ConnectorType *pType
);
HRESULT GetDataFlow(
[out] DataFlow *pFlow
);
HRESULT ConnectTo(
[in] IConnector *pConnectTo
);
HRESULT Disconnect(void);
HRESULT IsConnected(
[out] BOOL *pbConnected
);
HRESULT GetConnectedTo(
[out] IConnector **ppConTo
);
HRESULT GetConnectorIdConnectedTo(
[out] LPWSTR *ppwstrConnectorId
);
HRESULT GetDeviceIdConnectedTo(
[out] LPWSTR *ppwstrDeviceId
);
}
[
pointer_default(unique),
nonextensible,
uuid(82149a85-dba6-4487-86bb-ea8f7fefcc71),
local,
object
]
interface ISubUnit: IUnknown
{
/* Empty IUnknown interface.. */
}
[
pointer_default(unique),
nonextensible,
uuid(45d37c3f-5140-444a-ae24-400789f3cbf3),
local,
object
]
interface IControlInterface : IUnknown
{
HRESULT GetName(
[out] LPWSTR *ppwstrName
);
HRESULT GetIID(
[out] GUID *pIID
);
}
[
pointer_default(unique),
nonextensible,
uuid(a09513ed-c709-4d21-bd7b-5f34c47f3947),
local,
object
]
interface IControlChangeNotify : IUnknown
{
HRESULT OnNotify(
[in] DWORD dwSenderProcessId,
[in] LPCGUID ppguidEventContext
);
}
[
pointer_default(unique),
nonextensible,
uuid(2a07407e-6497-4a18-9787-32f79bd0d98f),
local,
object
]
interface IDeviceTopology : IUnknown
{
HRESULT GetConnectorCount(
[out] UINT *pCount
);
HRESULT GetConnector(
[in] UINT nIndex,
[out] IConnector **ppConnector
);
HRESULT GetSubunitCount(
[out] UINT *pCount
);
HRESULT GetSubunit(
[in] UINT nIndex,
[out] ISubUnit **ppConnector
);
HRESULT GetPartById(
[in] UINT nId,
[out] IPart **ppPart
);
HRESULT GetDeviceId(
[out] LPWSTR *ppwstrDeviceId
);
HRESULT GetSignalPath(
[in] IPart *pIPartFrom,
[in] IPart *pIPartTo,
[in] BOOL bRejectMixedPaths,
[out] IPartsList **ppParts
);
}
[
version(1.0)
]
library DevTopologyLib
{
[
uuid(1df639d0-5ec1-47aa-9379-828dc1aa8c59),
]
coclass DeviceTopology
{
interface IDeviceTopology;
}
}
+5
View File
@@ -96,8 +96,13 @@ typedef struct _DEVPROPKEY {
const DEVPROPKEY DECLSPEC_HIDDEN DECLSPEC_SELECTANY name = { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
#endif
#else
#ifdef __GNUC__
#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const DEVPROPKEY DECLSPEC_HIDDEN name
#else
#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const DEVPROPKEY DECLSPEC_HIDDEN DECLSPEC_SELECTANY name
#endif
#endif /* INITGUID */
#ifndef IsEqualDevPropKey
+56
View File
@@ -32,6 +32,59 @@ extern "C" {
DECLARE_HANDLE(HTHUMBNAIL);
typedef HTHUMBNAIL *PHTHUMBNAIL;
#include <pshpack1.h>
typedef ULONGLONG DWM_FRAME_COUNT;
typedef ULONGLONG QPC_TIME;
typedef struct _UNSIGNED_RATIO {
UINT32 uiNumerator;
UINT32 uiDenominator;
} UNSIGNED_RATIO;
typedef struct _DWM_TIMING_INFO {
UINT32 cbSize;
UNSIGNED_RATIO rateRefresh;
QPC_TIME qpcRefreshPeriod;
UNSIGNED_RATIO rateCompose;
QPC_TIME qpcVBlank;
DWM_FRAME_COUNT cRefresh;
UINT cDXRefresh;
QPC_TIME qpcCompose;
DWM_FRAME_COUNT cFrame;
UINT cDXPresent;
DWM_FRAME_COUNT cRefreshFrame;
DWM_FRAME_COUNT cFrameSubmitted;
UINT cDXPresentSubmitted;
DWM_FRAME_COUNT cFrameConfirmed;
UINT cDXPresentConfirmed;
DWM_FRAME_COUNT cRefreshConfirmed;
UINT cDXRefreshConfirmed;
DWM_FRAME_COUNT cFramesLate;
UINT cFramesOutstanding;
DWM_FRAME_COUNT cFrameDisplayed;
QPC_TIME qpcFrameDisplayed;
DWM_FRAME_COUNT cRefreshFrameDisplayed;
DWM_FRAME_COUNT cFrameComplete;
QPC_TIME qpcFrameComplete;
DWM_FRAME_COUNT cFramePending;
QPC_TIME qpcFramePending;
DWM_FRAME_COUNT cFramesDisplayed;
DWM_FRAME_COUNT cFramesComplete;
DWM_FRAME_COUNT cFramesPending;
DWM_FRAME_COUNT cFramesAvailable;
DWM_FRAME_COUNT cFramesDropped;
DWM_FRAME_COUNT cFramesMissed;
DWM_FRAME_COUNT cRefreshNextDisplayed;
DWM_FRAME_COUNT cRefreshNextPresented;
DWM_FRAME_COUNT cRefreshesDisplayed;
DWM_FRAME_COUNT cRefreshesPresented;
DWM_FRAME_COUNT cRefreshStarted;
ULONGLONG cPixelsReceived;
ULONGLONG cPixelsDrawn;
DWM_FRAME_COUNT cBuffersEmpty;
} DWM_TIMING_INFO;
typedef struct _MilMatrix3x2D
{
DOUBLE S_11;
@@ -42,6 +95,8 @@ typedef struct _MilMatrix3x2D
DOUBLE DY;
} MilMatrix3x2D;
#include <poppack.h>
#define DWM_BB_ENABLE 0x00000001
#define DWM_BB_BLURREGION 0x00000002
#define DWM_BB_TRANSITIONONMAXIMIZED 0x00000004
@@ -60,6 +115,7 @@ DWMAPI DwmEnableComposition(UINT);
DWMAPI DwmEnableMMCSS(BOOL);
DWMAPI DwmExtendFrameIntoClientArea(HWND,const MARGINS*);
DWMAPI DwmGetColorizationColor(DWORD*,BOOL);
DWMAPI DwmGetCompositionTimingInfo(HWND,DWM_TIMING_INFO*);
DWMAPI DwmIsCompositionEnabled(BOOL*);
DWMAPI DwmRegisterThumbnail(HWND, HWND, PHTHUMBNAIL);
DWMAPI DwmSetWindowAttribute(HWND, DWORD, LPCVOID, DWORD);
+148
View File
@@ -0,0 +1,148 @@
/*
* Copyright (C) 2009 Maarten Lankhorst
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "unknwn.idl";
import "devicetopology.idl";
typedef struct AUDIO_VOLUME_NOTIFICATION_DATA
{
GUID guidEventContext;
BOOL bMuted;
FLOAT fMasterVolume;
UINT nChannels;
FLOAT afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA;
cpp_quote("typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA;")
cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_VOLUME 0x1")
cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_MUTE 0x2")
cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_METER 0x4")
interface IAudioEndpointVolumeCallback;
interface IAudioEndpointVolume;
interface IAudioEndpointVolumeEx;
interface IAudioMeterInformation;
[
pointer_default(unique),
nonextensible,
uuid(657804fa-d6ad-4496-8a60-352752af4f89),
local,
object
]
interface IAudioEndpointVolumeCallback : IUnknown
{
HRESULT OnNotify(
AUDIO_VOLUME_NOTIFICATION_DATA *pNotify
);
}
[
pointer_default(unique),
nonextensible,
uuid(5cdf2c82-841e-4546-9722-0cf74078229a),
local,
object
]
interface IAudioEndpointVolume : IUnknown
{
HRESULT RegisterControlChangeNotify(
[in] IAudioEndpointVolumeCallback *pNotify
);
HRESULT UnregisterControlChangeNotify(
[in] IAudioEndpointVolumeCallback *pNotify
);
HRESULT GetChannelCount(
[out] UINT *pnChannelCount
);
HRESULT SetMasterVolumeLevel(
[in] FLOAT fLevelDB,
[unique,in] LPCGUID pguidEventContext
);
HRESULT SetMasterVolumeLevelScalar(
[in] FLOAT fLevel,
[unique,in] LPCGUID pguidEventContext
);
HRESULT GetMasterVolumeLevel(
[out] FLOAT *fLevelDB
);
HRESULT GetMasterVolumeLevelScalar(
[out] FLOAT *fLevel
);
HRESULT SetChannelVolumeLevel(
[in] UINT nChannel,
[in] FLOAT fLevelDB,
[unique,in] LPCGUID pguidEventContext
);
HRESULT SetChannelVolumeLevelScalar(
[in] UINT nChannel,
[in] FLOAT fLevel,
[unique,in] LPCGUID pguidEventContext
);
HRESULT GetChannelVolumeLevel(
[in] UINT nChannel,
[out] FLOAT *fLevelDB
);
HRESULT GetChannelVolumeLevelScalar(
[in] UINT nChannel,
[out] FLOAT *fLevel
);
HRESULT SetMute(
[in] BOOL bMute,
[unique,in] LPCGUID pguidEventContext
);
HRESULT GetMute(
[out] BOOL *bMute
);
HRESULT GetVolumeStepInfo(
[out] UINT *pnStep,
[out] UINT *pnStepCount
);
HRESULT VolumeStepUp(
[unique,in] LPCGUID pguidEventContext
);
HRESULT VolumeStepDown(
[unique,in] LPCGUID pguidEventContext
);
HRESULT QueryHardwareSupport(
[out] DWORD *pdwHardwareSupportMask
);
HRESULT GetVolumeRange(
[out] FLOAT *pflVolumeMindB,
[out] FLOAT *pflVolumeMaxdB,
[out] FLOAT *pflVolumeIncrementdB
);
}
[
pointer_default(unique),
nonextensible,
uuid(66e11784-f695-4f28-a505-a7080081a78f),
local,
object
]
interface IAudioEndpointVolumeEx : IAudioEndpointVolume
{
HRESULT GetVolumeRangeChannel(
[in] UINT iChannel,
[out] FLOAT *pflVolumeMindB,
[out] FLOAT *pflVolumeMaxdB,
[out] FLOAT *pflVolumeIncrementdB
);
}
+2
View File
@@ -704,6 +704,8 @@ enum EmfPlusRecordType {
EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
};
#define FlatnessDefault 0.25f
#ifndef __cplusplus
typedef enum Unit Unit;
+10
View File
@@ -206,6 +206,14 @@ GpStatus WINGDIPAPI GdipDrawRectanglesI(GpGraphics*,GpPen*,GDIPCONST GpRect*,INT
GpStatus WINGDIPAPI GdipDrawString(GpGraphics*,GDIPCONST WCHAR*,INT,
GDIPCONST GpFont*,GDIPCONST RectF*, GDIPCONST GpStringFormat*,
GDIPCONST GpBrush*);
GpStatus WINGDIPAPI GdipEnumerateMetafileDestPoint(GpGraphics*,GDIPCONST GpMetafile*,
GDIPCONST GpPointF*,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
GpStatus WINGDIPAPI GdipEnumerateMetafileDestPointI(GpGraphics*,GDIPCONST GpMetafile*,
GDIPCONST GpPoint*,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
GpStatus WINGDIPAPI GdipEnumerateMetafileDestRect(GpGraphics*,GDIPCONST GpMetafile*,
GDIPCONST GpRectF*,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
GpStatus WINGDIPAPI GdipEnumerateMetafileDestRectI(GpGraphics*,GDIPCONST GpMetafile*,
GDIPCONST GpRect*,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPoints(GpGraphics*,
GDIPCONST GpMetafile*,GDIPCONST GpPointF*,INT,GDIPCONST GpRectF*,Unit,
EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
@@ -450,6 +458,8 @@ GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes*,
ColorAdjustType);
GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes*,WrapMode,
ARGB,BOOL);
GpStatus WINGDIPAPI GdipResetImageAttributes(GpImageAttributes*,
ColorAdjustType);
/* LinearGradientBrush */
GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF*,GDIPCONST GpPointF*,
+191 -156
View File
@@ -20,8 +20,8 @@
*
*/
#ifndef __HIDPI_H
#define __HIDPI_H
#ifndef __HIDPI_H__
#define __HIDPI_H__
#include "hidusage.h"
@@ -69,10 +69,11 @@ typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
} DUMMYUNIONNAME;
} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;
typedef BOOLEAN (NTAPI *PHIDP_INSERT_SCANCODES)(
IN PVOID Context,
IN PCHAR NewScanCodes,
IN ULONG Length);
typedef BOOLEAN
(NTAPI *PHIDP_INSERT_SCANCODES)(
_In_opt_ PVOID Context,
_In_reads_bytes_(Length) PCHAR NewScanCodes,
_In_ ULONG Length);
typedef struct _USAGE_AND_PAGE {
USAGE Usage;
@@ -92,27 +93,29 @@ typedef struct _HIDD_CONFIGURATION {
ULONG RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_TranslateUsageAndPagesToI8042ScanCodes(
IN PUSAGE_AND_PAGE ChangedUsageList,
IN ULONG UsageListLength,
IN HIDP_KEYBOARD_DIRECTION KeyAction,
IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
IN PVOID InsertCodesContext);
_In_reads_(UsageListLength) PUSAGE_AND_PAGE ChangedUsageList,
_In_ ULONG UsageListLength,
_In_ HIDP_KEYBOARD_DIRECTION KeyAction,
_Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
_In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
_In_opt_ PVOID InsertCodesContext);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_TranslateUsagesToI8042ScanCodes(
IN PUSAGE ChangedUsageList,
IN ULONG UsageListLength,
IN HIDP_KEYBOARD_DIRECTION KeyAction,
IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
IN PVOID InsertCodesContext);
_In_reads_(UsageListLength) PUSAGE ChangedUsageList,
_In_ ULONG UsageListLength,
_In_ HIDP_KEYBOARD_DIRECTION KeyAction,
_Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
_In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
_In_opt_ PVOID InsertCodesContext);
typedef struct _HIDP_BUTTON_CAPS {
USAGE UsagePage;
@@ -311,130 +314,148 @@ typedef enum _HIDP_REPORT_TYPE {
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetCaps(
IN PHIDP_PREPARSED_DATA PreparsedData,
OUT PHIDP_CAPS Capabilities);
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Out_ PHIDP_CAPS Capabilities);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetData(
IN HIDP_REPORT_TYPE ReportType,
OUT PHIDP_DATA DataList,
IN OUT PULONG DataLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_Out_writes_to_(*DataLength, *DataLength) PHIDP_DATA DataList,
_Inout_ PULONG DataLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Out_writes_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetExtendedAttributes(
IN HIDP_REPORT_TYPE ReportType,
IN USHORT DataIndex,
IN PHIDP_PREPARSED_DATA PreparsedData,
OUT PHIDP_EXTENDED_ATTRIBUTES Attributes,
IN OUT PULONG LengthAttributes);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USHORT DataIndex,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Out_writes_to_(*LengthAttributes, *LengthAttributes) PHIDP_EXTENDED_ATTRIBUTES Attributes,
_Inout_ OUT PULONG LengthAttributes);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetLinkCollectionNodes(
OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
IN OUT PULONG LinkCollectionNodesLength,
IN PHIDP_PREPARSED_DATA PreparsedData);
_Out_ PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
_Inout_ PULONG LinkCollectionNodesLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_GetScaledUsageValue(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL,
IN USAGE Usage,
OUT PLONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_Out_ PLONG UsageValue,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetSpecificButtonCaps(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection,
IN USAGE Usage,
OUT PHIDP_BUTTON_CAPS ButtonCaps,
IN OUT PUSHORT ButtonCapsLength,
IN PHIDP_PREPARSED_DATA PreparsedData);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_Out_ PHIDP_BUTTON_CAPS ButtonCaps,
_Inout_ PUSHORT ButtonCapsLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetSpecificValueCaps(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection,
IN USAGE Usage,
OUT PHIDP_VALUE_CAPS ValueCaps,
IN OUT PUSHORT ValueCapsLength,
IN PHIDP_PREPARSED_DATA PreparsedData);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_Out_ PHIDP_VALUE_CAPS ValueCaps,
_Inout_ PUSHORT ValueCapsLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_GetUsages(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL,
OUT USAGE *UsageList,
IN OUT ULONG *UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_Out_writes_to_(*UsageLength, *UsageLength) USAGE *UsageList,
_Inout_ ULONG *UsageLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Out_writes_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_GetUsagesEx(
IN HIDP_REPORT_TYPE ReportType,
IN USHORT LinkCollection,
OUT PUSAGE_AND_PAGE ButtonList,
IN OUT ULONG *UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USHORT LinkCollection,
_Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE_AND_PAGE ButtonList,
_Inout_ ULONG *UsageLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_GetUsageValue(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection,
IN USAGE Usage,
OUT PULONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_Out_ PULONG UsageValue,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_GetUsageValueArray(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL,
IN USAGE Usage,
OUT PCHAR UsageValue,
IN USHORT UsageValueByteLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_Inout_updates_bytes_(UsageValueByteLength) PCHAR UsageValue,
_In_ USHORT UsageValueByteLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@@ -451,15 +472,17 @@ HidP_GetUsageValueArray(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_InitializeReportForID(
IN HIDP_REPORT_TYPE ReportType,
IN UCHAR ReportID,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ UCHAR ReportID,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Out_writes_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@@ -473,20 +496,22 @@ HidP_InitializeReportForID(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI
ULONG
NTAPI
HidP_MaxDataListLength(
IN HIDP_REPORT_TYPE ReportType,
IN PHIDP_PREPARSED_DATA PreparsedData);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ PHIDP_PREPARSED_DATA PreparsedData);
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI
ULONG
NTAPI
HidP_MaxUsageListLength(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage OPTIONAL,
IN PHIDP_PREPARSED_DATA PreparsedData);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ PHIDP_PREPARSED_DATA PreparsedData);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@@ -507,69 +532,74 @@ HidP_MaxUsageListLength(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_SetData(
IN HIDP_REPORT_TYPE ReportType,
IN PHIDP_DATA DataList,
IN OUT PULONG DataLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_Inout_updates_to_(*DataLength, *DataLength) PHIDP_DATA DataList,
_Inout_ PULONG DataLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_SetScaledUsageValue(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL,
IN USAGE Usage,
IN LONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_In_ LONG UsageValue,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Inout_updates_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_SetUsages(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection, /* Optional */
IN PUSAGE UsageList,
IN OUT PULONG UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection, /* Optional */
_Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList,
_Inout_ PULONG UsageLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_SetUsageValue(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection,
IN USAGE Usage,
IN ULONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_In_ ULONG UsageValue,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Inout_updates_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_SetUsageValueArray(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL,
IN USAGE Usage,
IN PCHAR UsageValue,
IN USHORT UsageValueByteLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_ USHORT LinkCollection,
_In_ USAGE Usage,
_In_reads_bytes_(UsageValueByteLength) PCHAR UsageValue,
_In_ USHORT UsageValueByteLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_Inout_updates_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@@ -590,41 +620,46 @@ HidP_SetUsageValueArray(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
HIDAPI
NTSTATUS
NTAPI
HidP_UnsetUsages(
IN HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage,
IN USHORT LinkCollection,
IN PUSAGE UsageList,
IN OUT PULONG UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report,
IN ULONG ReportLength);
_In_ HIDP_REPORT_TYPE ReportType,
_In_ USAGE UsagePage,
_In_opt_ USHORT LinkCollection,
_Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList,
_Inout_ PULONG UsageLength,
_In_ PHIDP_PREPARSED_DATA PreparsedData,
_In_reads_bytes_(ReportLength) PCHAR Report,
_In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_UsageAndPageListDifference(
IN PUSAGE_AND_PAGE PreviousUsageList,
IN PUSAGE_AND_PAGE CurrentUsageList,
OUT PUSAGE_AND_PAGE BreakUsageList,
OUT PUSAGE_AND_PAGE MakeUsageList,
IN ULONG UsageListLength);
_In_reads_(UsageListLength) PUSAGE_AND_PAGE PreviousUsageList,
_In_reads_(UsageListLength) PUSAGE_AND_PAGE CurrentUsageList,
_Out_writes_(UsageListLength) PUSAGE_AND_PAGE BreakUsageList,
_Out_writes_(UsageListLength) PUSAGE_AND_PAGE MakeUsageList,
_In_ ULONG UsageListLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI
NTSTATUS
NTAPI
HidP_UsageListDifference(
IN PUSAGE PreviousUsageList,
IN PUSAGE CurrentUsageList,
OUT PUSAGE BreakUsageList,
OUT PUSAGE MakeUsageList,
IN ULONG UsageListLength);
_In_reads_(UsageListLength) PUSAGE PreviousUsageList,
_In_reads_(UsageListLength) PUSAGE CurrentUsageList,
_Out_writes_(UsageListLength) PUSAGE BreakUsageList,
_Out_writes_(UsageListLength) PUSAGE MakeUsageList,
_In_ ULONG UsageListLength);
#ifdef __cplusplus
}
#endif
#endif /* __HIDPI_H */
#endif /* __HIDPI_H__ */
+1
View File
@@ -37,6 +37,7 @@ cpp_quote("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
cpp_quote("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
cpp_quote("HRESULT WINAPI HlinkParseDisplayName(LPBC,LPCWSTR,BOOL,ULONG*,IMoniker**);")
cpp_quote("HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER,DWORD,LPBC,ULONG,FORMATETC*,IBindStatusCallback*,LPMONIKER);")
cpp_quote("HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame*, IHlinkBrowseContext*, ULONG, IMoniker*, LPCWSTR, LPCWSTR);")
typedef enum _HLSR_NOREDEF10 {
HLSR_HOME,
+315 -83
View File
@@ -38,8 +38,19 @@ typedef struct tagREGISTERWORDW {
LPWSTR lpWord;
} REGISTERWORDW, *PREGISTERWORDW, *NPREGISTERWORDW, *LPREGISTERWORDW;
typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
typedef int
(CALLBACK *REGISTERWORDENUMPROCA)(
_In_ LPCSTR,
_In_ DWORD,
_In_ LPCSTR,
_In_ LPVOID);
typedef int
(CALLBACK *REGISTERWORDENUMPROCW)(
_In_ LPCWSTR,
_In_ DWORD,
_In_ LPCWSTR,
_In_ LPVOID);
typedef struct tagCANDIDATEFORM
{
@@ -602,90 +613,311 @@ DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMEN
#define SOFTKEYBOARD_TYPE_C1 0x0002
HIMC WINAPI ImmAssociateContext(HWND, HIMC);
BOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD);
BOOL WINAPI ImmConfigureIMEA(HKL, HWND, DWORD, LPVOID);
BOOL WINAPI ImmConfigureIMEW(HKL, HWND, DWORD, LPVOID);
#define ImmConfigureIME WINELIB_NAME_AW(ImmConfigureIME)
HIMC WINAPI ImmCreateContext(void);
BOOL WINAPI ImmDestroyContext(HIMC hIMC);
BOOL WINAPI ImmDisableIME(DWORD idThread);
BOOL WINAPI ImmEnumInputContext(DWORD, IMCENUMPROC, LPARAM);
UINT WINAPI ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, LPVOID);
UINT WINAPI ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
#define ImmEnumRegisterWord WINELIB_NAME_AW(ImmEnumRegisterWord)
LRESULT WINAPI ImmEscapeA(HKL, HIMC, UINT, LPVOID);
LRESULT WINAPI ImmEscapeW(HKL, HIMC, UINT, LPVOID);
#define ImmEscape WINELIB_NAME_AW(ImmEscape)
DWORD WINAPI ImmGetCandidateListA(HIMC, DWORD, LPCANDIDATELIST, DWORD);
DWORD WINAPI ImmGetCandidateListW(HIMC, DWORD, LPCANDIDATELIST, DWORD);
#define ImmGetCandidateList WINELIB_NAME_AW(ImmGetCandidateList)
DWORD WINAPI ImmGetCandidateListCountA(HIMC, LPDWORD);
DWORD WINAPI ImmGetCandidateListCountW(HIMC, LPDWORD);
#define ImmGetCandidateListCount WINELIB_NAME_AW(ImmGetCandidateListCount)
BOOL WINAPI ImmGetCandidateWindow(HIMC, DWORD, LPCANDIDATEFORM);
HIMC WINAPI ImmAssociateContext(_In_ HWND, _In_ HIMC);
BOOL WINAPI ImmAssociateContextEx(_In_ HWND, _In_ HIMC, _In_ DWORD);
BOOL WINAPI ImmConfigureIMEA(_In_ HKL, _In_ HWND, _In_ DWORD, _In_ LPVOID);
BOOL WINAPI ImmConfigureIMEW(_In_ HKL, _In_ HWND, _In_ DWORD, _In_ LPVOID);
#define ImmConfigureIME WINELIB_NAME_AW(ImmConfigureIME)
HIMC WINAPI ImmCreateContext(void);
BOOL WINAPI ImmDestroyContext(_In_ HIMC hIMC);
BOOL WINAPI ImmDisableIME(_In_ DWORD idThread);
BOOL WINAPI ImmEnumInputContext(_In_ DWORD, _In_ IMCENUMPROC, _In_ LPARAM);
UINT
WINAPI
ImmEnumRegisterWordA(
_In_ HKL,
_In_ REGISTERWORDENUMPROCA,
_In_opt_ LPCSTR lpszReading,
_In_ DWORD,
_In_opt_ LPCSTR lpszRegister,
_In_ LPVOID);
UINT
WINAPI
ImmEnumRegisterWordW(
_In_ HKL,
_In_ REGISTERWORDENUMPROCW,
_In_opt_ LPCWSTR lpszReading,
_In_ DWORD,
_In_opt_ LPCWSTR lpszRegister,
_In_ LPVOID);
#define ImmEnumRegisterWord WINELIB_NAME_AW(ImmEnumRegisterWord)
LRESULT WINAPI ImmEscapeA(_In_ HKL, _In_ HIMC, _In_ UINT, _In_ LPVOID);
LRESULT WINAPI ImmEscapeW(_In_ HKL, _In_ HIMC, _In_ UINT, _In_ LPVOID);
#define ImmEscape WINELIB_NAME_AW(ImmEscape)
DWORD
WINAPI
ImmGetCandidateListA(
_In_ HIMC,
_In_ DWORD deIndex,
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList,
_In_ DWORD dwBufLen);
DWORD
WINAPI
ImmGetCandidateListW(
_In_ HIMC,
_In_ DWORD deIndex,
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList,
_In_ DWORD dwBufLen);
#define ImmGetCandidateList WINELIB_NAME_AW(ImmGetCandidateList)
DWORD WINAPI ImmGetCandidateListCountA(_In_ HIMC, _Out_ LPDWORD);
DWORD WINAPI ImmGetCandidateListCountW(_In_ HIMC, _Out_ LPDWORD);
#define ImmGetCandidateListCount WINELIB_NAME_AW(ImmGetCandidateListCount)
BOOL
WINAPI
ImmGetCandidateWindow(
_In_ HIMC,
_In_ DWORD,
_Out_ LPCANDIDATEFORM lpCandidate);
#if defined(_WINGDI_) && !defined(NOGDI)
BOOL WINAPI ImmGetCompositionFontA(HIMC, LPLOGFONTA);
BOOL WINAPI ImmGetCompositionFontW(HIMC, LPLOGFONTW);
#define ImmGetCompositionFont WINELIB_NAME_AW(ImmGetCompositionFont)
BOOL WINAPI ImmSetCompositionFontA(HIMC, LPLOGFONTA);
BOOL WINAPI ImmSetCompositionFontW(HIMC, LPLOGFONTW);
#define ImmSetCompositionFont WINELIB_NAME_AW(ImmSetCompositionFont)
BOOL WINAPI ImmGetCompositionFontA(_In_ HIMC, _Out_ LPLOGFONTA);
BOOL WINAPI ImmGetCompositionFontW(_In_ HIMC, _Out_ LPLOGFONTW);
#define ImmGetCompositionFont WINELIB_NAME_AW(ImmGetCompositionFont)
BOOL WINAPI ImmSetCompositionFontA(_In_ HIMC, _In_ LPLOGFONTA);
BOOL WINAPI ImmSetCompositionFontW(_In_ HIMC, _In_ LPLOGFONTW);
#define ImmSetCompositionFont WINELIB_NAME_AW(ImmSetCompositionFont)
#endif
LONG WINAPI ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD);
LONG WINAPI ImmGetCompositionStringW(HIMC, DWORD, LPVOID, DWORD);
#define ImmGetCompositionString WINELIB_NAME_AW(ImmGetCompositionString)
BOOL WINAPI ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
HIMC WINAPI ImmGetContext(HWND);
DWORD WINAPI ImmGetConversionListA(HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD, UINT);
DWORD WINAPI ImmGetConversionListW(HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD, UINT);
#define ImmGetConversionList WINELIB_NAME_AW(ImmGetConversionList)
BOOL WINAPI ImmGetConversionStatus(HIMC, LPDWORD, LPDWORD);
HWND WINAPI ImmGetDefaultIMEWnd(HWND);
UINT WINAPI ImmGetDescriptionA(HKL, LPSTR, UINT);
UINT WINAPI ImmGetDescriptionW(HKL, LPWSTR, UINT);
#define ImmGetDescription WINELIB_NAME_AW(ImmGetDescription)
DWORD WINAPI ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
DWORD WINAPI ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
#define ImmGetGuideLine WINELIB_NAME_AW(ImmGetGuideLine)
UINT WINAPI ImmGetIMEFileNameA(HKL, LPSTR, UINT);
UINT WINAPI ImmGetIMEFileNameW(HKL, LPWSTR, UINT);
#define ImmGetIMEFileName WINELIB_NAME_AW(ImmGetIMEFileName)
DWORD WINAPI ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
DWORD WINAPI ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
#define ImmGetImeMenuItems WINELIB_NAME_AW(ImmGetImeMenuItems)
BOOL WINAPI ImmGetOpenStatus(HIMC);
DWORD WINAPI ImmGetProperty(HKL, DWORD);
UINT WINAPI ImmGetRegisterWordStyleA(HKL, UINT, LPSTYLEBUFA);
UINT WINAPI ImmGetRegisterWordStyleW(HKL, UINT, LPSTYLEBUFW);
#define ImmGetRegisterWordStyle WINELIB_NAME_AW(ImmGetRegisterWordStyle)
BOOL WINAPI ImmGetStatusWindowPos(HIMC, LPPOINT);
UINT WINAPI ImmGetVirtualKey(HWND);
HKL WINAPI ImmInstallIMEA(LPCSTR, LPCSTR);
HKL WINAPI ImmInstallIMEW(LPCWSTR, LPCWSTR);
#define ImmInstallIME WINELIB_NAME_AW(ImmInstallIME)
BOOL WINAPI ImmIsIME(HKL);
BOOL WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
BOOL WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
#define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
BOOL WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
LONG
WINAPI
ImmGetCompositionStringA(
_In_ HIMC,
_In_ DWORD,
_Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf,
_In_ DWORD dwBufLen);
LONG
WINAPI
ImmGetCompositionStringW(
_In_ HIMC,
_In_ DWORD,
_Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf,
_In_ DWORD dwBufLen);
#define ImmGetCompositionString WINELIB_NAME_AW(ImmGetCompositionString)
BOOL WINAPI ImmGetCompositionWindow(_In_ HIMC, _Out_ LPCOMPOSITIONFORM);
HIMC WINAPI ImmGetContext(_In_ HWND);
DWORD
WINAPI
ImmGetConversionListA(
_In_ HKL,
_In_ HIMC,
_In_ LPCSTR lpSrc,
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst,
_In_ DWORD dwBufLen,
_In_ UINT uFlag);
DWORD
WINAPI
ImmGetConversionListW(
_In_ HKL,
_In_ HIMC,
_In_ LPCWSTR lpSrc,
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst,
_In_ DWORD dwBufLen,
_In_ UINT uFlag);
#define ImmGetConversionList WINELIB_NAME_AW(ImmGetConversionList)
BOOL
WINAPI
ImmGetConversionStatus(
_In_ HIMC,
_Out_opt_ LPDWORD lpfdwConversion,
_Out_opt_ LPDWORD lpfdwSentence);
HWND WINAPI ImmGetDefaultIMEWnd(_In_ HWND);
UINT
WINAPI
ImmGetDescriptionA(
_In_ HKL,
_Out_writes_opt_(uBufLen) LPSTR lpszDescription,
_In_ UINT uBufLen);
UINT
WINAPI
ImmGetDescriptionW(
_In_ HKL,
_Out_writes_opt_(uBufLen) LPWSTR lpszDescription,
_In_ UINT uBufLen);
#define ImmGetDescription WINELIB_NAME_AW(ImmGetDescription)
DWORD
WINAPI
ImmGetGuideLineA(
_In_ HIMC,
_In_ DWORD dwIndex,
_Out_writes_bytes_opt_(dwBufLen) LPSTR lpBuf,
_In_ DWORD dwBufLen);
DWORD
WINAPI
ImmGetGuideLineW(
_In_ HIMC,
_In_ DWORD dwIndex,
_Out_writes_bytes_opt_(dwBufLen) LPWSTR lpBuf,
_In_ DWORD dwBufLen);
#define ImmGetGuideLine WINELIB_NAME_AW(ImmGetGuideLine)
UINT
WINAPI
ImmGetIMEFileNameA(
_In_ HKL,
_Out_writes_opt_(uBufLen) LPSTR lpszFileName,
_In_ UINT uBufLen);
UINT
WINAPI
ImmGetIMEFileNameW(
_In_ HKL,
_Out_writes_opt_(uBufLen) LPWSTR lpszFileName,
_In_ UINT uBufLen);
#define ImmGetIMEFileName WINELIB_NAME_AW(ImmGetIMEFileName)
DWORD
WINAPI
ImmGetImeMenuItemsA(
_In_ HIMC,
_In_ DWORD,
_In_ DWORD,
_Out_opt_ LPIMEMENUITEMINFOA lpImeParentMenu,
_Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOA lpImeMenu,
_In_ DWORD dwSize);
DWORD
WINAPI
ImmGetImeMenuItemsW(
_In_ HIMC,
_In_ DWORD,
_In_ DWORD,
_Out_opt_ LPIMEMENUITEMINFOW lpImeParentMenu,
_Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOW lpImeMenu,
_In_ DWORD dwSize);
#define ImmGetImeMenuItems WINELIB_NAME_AW(ImmGetImeMenuItems)
BOOL WINAPI ImmGetOpenStatus(_In_ HIMC);
DWORD WINAPI ImmGetProperty(_In_ HKL, _In_ DWORD);
UINT
WINAPI
ImmGetRegisterWordStyleA(
_In_ HKL,
_In_ UINT nItem,
_Out_writes_(nItem) LPSTYLEBUFA lpStyleBuf);
UINT
WINAPI
ImmGetRegisterWordStyleW(
_In_ HKL,
_In_ UINT nItem,
_Out_writes_(nItem) LPSTYLEBUFW lpStyleBuf);
#define ImmGetRegisterWordStyle WINELIB_NAME_AW(ImmGetRegisterWordStyle)
BOOL WINAPI ImmGetStatusWindowPos(_In_ HIMC, _Out_ LPPOINT);
UINT WINAPI ImmGetVirtualKey(_In_ HWND);
HKL WINAPI ImmInstallIMEA(_In_ LPCSTR, _In_ LPCSTR);
HKL WINAPI ImmInstallIMEW(_In_ LPCWSTR, _In_ LPCWSTR);
#define ImmInstallIME WINELIB_NAME_AW(ImmInstallIME)
BOOL WINAPI ImmIsIME(_In_ HKL);
BOOL WINAPI ImmIsUIMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
BOOL WINAPI ImmIsUIMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
#define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
BOOL WINAPI ImmNotifyIME(_In_ HIMC, _In_ DWORD, _In_ DWORD, _In_ DWORD);
BOOL WINAPI ImmProcessKey(HWND, HKL, UINT, LPARAM, DWORD);
BOOL WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
BOOL WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
#define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord)
BOOL WINAPI ImmReleaseContext(HWND, HIMC);
BOOL WINAPI ImmSetCandidateWindow(HIMC, LPCANDIDATEFORM);
BOOL WINAPI ImmSetCompositionStringA(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
BOOL WINAPI ImmSetCompositionStringW(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
#define ImmSetCompositionString WINELIB_NAME_AW(ImmSetCompositionString)
BOOL WINAPI ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
BOOL WINAPI ImmSetConversionStatus(HIMC, DWORD, DWORD);
BOOL WINAPI ImmSetOpenStatus(HIMC, BOOL);
BOOL WINAPI ImmSetStatusWindowPos(HIMC, LPPOINT);
BOOL WINAPI ImmSimulateHotKey(HWND, DWORD);
BOOL WINAPI ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
BOOL WINAPI ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
#define ImmUnregisterWord WINELIB_NAME_AW(ImmUnregisterWord)
BOOL
WINAPI
ImmRegisterWordA(
_In_ HKL,
_In_ LPCSTR lpszReading,
_In_ DWORD,
_In_ LPCSTR lpszRegister);
BOOL
WINAPI
ImmRegisterWordW(
_In_ HKL,
_In_ LPCWSTR lpszReading,
_In_ DWORD,
_In_ LPCWSTR lpszRegister);
#define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord)
BOOL WINAPI ImmReleaseContext(_In_ HWND, _In_ HIMC);
BOOL WINAPI ImmSetCandidateWindow(_In_ HIMC, _In_ LPCANDIDATEFORM);
BOOL
WINAPI
ImmSetCompositionStringA(
_In_ HIMC,
_In_ DWORD dwIndex,
_In_reads_bytes_opt_(dwCompLen) LPCVOID lpComp,
_In_ DWORD dwCompLen,
_In_reads_bytes_opt_(dwReadLen) LPCVOID lpRead,
_In_ DWORD dwReadLen);
BOOL
WINAPI
ImmSetCompositionStringW(
_In_ HIMC,
_In_ DWORD dwIndex,
_In_reads_bytes_opt_(dwCompLen) LPCVOID lpComp,
_In_ DWORD dwCompLen,
_In_reads_bytes_opt_(dwReadLen) LPCVOID lpRead,
_In_ DWORD dwReadLen);
#define ImmSetCompositionString WINELIB_NAME_AW(ImmSetCompositionString)
BOOL WINAPI ImmSetCompositionWindow(_In_ HIMC, _In_ LPCOMPOSITIONFORM);
BOOL WINAPI ImmSetConversionStatus(_In_ HIMC, _In_ DWORD, _In_ DWORD);
BOOL WINAPI ImmSetOpenStatus(_In_ HIMC, _In_ BOOL);
BOOL WINAPI ImmSetStatusWindowPos(_In_ HIMC, _In_ LPPOINT);
BOOL WINAPI ImmSimulateHotKey(_In_ HWND, _In_ DWORD);
BOOL
WINAPI
ImmUnregisterWordA(
_In_ HKL,
_In_ LPCSTR lpszReading,
_In_ DWORD,
_In_ LPCSTR lpszUnregister);
BOOL
WINAPI
ImmUnregisterWordW(
_In_ HKL,
_In_ LPCWSTR lpszReading,
_In_ DWORD,
_In_ LPCWSTR lpszUnregister);
#define ImmUnregisterWord WINELIB_NAME_AW(ImmUnregisterWord)
#ifdef __cplusplus
+93
View File
@@ -0,0 +1,93 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given.
*/
import "oaidl.idl";
import "ocidl.idl";
typedef enum {
IS_DEFAULT = 0,
IS_URL = 1,
IS_FILE_FULLFILEPATH = 2,
IS_FILE_FILENAME = 3,
IS_EMAIL_USERNAME = 4,
IS_EMAIL_SMTPEMAILADDRESS = 5,
IS_LOGINNAME = 6,
IS_PERSONALNAME_FULLNAME = 7,
IS_PERSONALNAME_PREFIX = 8,
IS_PERSONALNAME_GIVENNAME = 9,
IS_PERSONALNAME_MIDDLENAME = 10,
IS_PERSONALNAME_SURNAME = 11,
IS_PERSONALNAME_SUFFIX = 12,
IS_ADDRESS_FULLPOSTALADDRESS = 13,
IS_ADDRESS_POSTALCODE = 14,
IS_ADDRESS_STREET = 15,
IS_ADDRESS_STATEORPROVINCE = 16,
IS_ADDRESS_CITY = 17,
IS_ADDRESS_COUNTRYNAME = 18,
IS_ADDRESS_COUNTRYSHORTNAME = 19,
IS_CURRENCY_AMOUNTANDSYMBOL = 20,
IS_CURRENCY_AMOUNT = 21,
IS_DATE_FULLDATE = 22,
IS_DATE_MONTH = 23,
IS_DATE_DAY = 24,
IS_DATE_YEAR = 25,
IS_DATE_MONTHNAME = 26,
IS_DATE_DAYNAME = 27,
IS_DIGITS = 28,
IS_NUMBER = 29,
IS_ONECHAR = 30,
IS_PASSWORD = 31,
IS_TELEPHONE_FULLTELEPHONENUMBER = 32,
IS_TELEPHONE_COUNTRYCODE = 33,
IS_TELEPHONE_AREACODE = 34,
IS_TELEPHONE_LOCALNUMBER = 35,
IS_TIME_FULLTIME = 36,
IS_TIME_HOUR = 37,
IS_TIME_MINORSEC = 38,
IS_NUMBER_FULLWIDTH = 39,
IS_ALPHANUMERIC_HALFWIDTH = 40,
IS_ALPHANUMERIC_FULLWIDTH = 41,
IS_CURRENCY_CHINESE = 42,
IS_BOPOMOFO = 43,
IS_HIRAGANA = 44,
IS_KATAKANA_HALFWIDTH = 45,
IS_KATAKANA_FULLWIDTH = 46,
IS_HANJA = 47,
IS_HANGUL_HALFWIDTH = 48,
IS_HANGUL_FULLWIDTH = 49,
IS_SEARCH = 50,
IS_FORMULA = 51,
IS_SEARCH_INCREMENTAL = 52,
IS_CHINESE_HALFWIDTH = 53,
IS_CHINESE_FULLWIDTH = 54,
IS_NATIVE_SCRIPT = 55,
IS_PHRASELIST = -1,
IS_REGULAREXPRESSION = -2,
IS_SRGS = -3,
IS_XML = -4,
IS_ENUMSTRING = -5
} InputScope;
cpp_quote("HRESULT WINAPI SetInputScope(HWND hwnd,InputScope inputscope);")
cpp_quote("HRESULT WINAPI SetInputScopes(HWND hwnd,const InputScope *pInputScopes,UINT cInputScopes,WCHAR **ppszPhraseList,UINT cPhrases,WCHAR *pszRegExp,WCHAR *pszSRGS);")
cpp_quote("HRESULT WINAPI SetInputScopeXML(HWND hwnd,WCHAR *pszXML);")
cpp_quote("DEFINE_GUID(GUID_PROP_INPUTSCOPE,0x1713dd5a,0x68e7,0x4a5b,0x9a,0xf6,0x59,0x2a,0x59,0x5c,0x77,0x8d);")
[
object,
uuid(fde1eaee-6924-4cdf-91e7-da38cff5559d),
pointer_default(unique)
]
interface ITfInputScope : IUnknown
{
HRESULT GetInputScopes([out, size_is(,*pcCount)] InputScope **pprgInputScopes, [out] UINT *pcCount);
HRESULT GetPhrase([out, size_is(,*pcCount)] BSTR **ppbstrPhrases, [out] UINT *pcCount);
HRESULT GetRegularExpression([out] BSTR *pbstrRegExp);
HRESULT GetSRGS([out] BSTR *pbstrSRGS);
HRESULT GetXML([out] BSTR *pbstrXML);
}
+100 -75
View File
@@ -119,6 +119,7 @@ C_ASSERT(sizeof(INT) == 4);
C_ASSERT(sizeof(UINT) == 4);
C_ASSERT(sizeof(LONG) == 4);
C_ASSERT(sizeof(ULONG) == 4);
C_ASSERT(sizeof(DWORD) == 4);
C_ASSERT(sizeof(UINT_PTR) == sizeof(ULONG_PTR));
/* Undefine these to avoid conflicts with limits.h */
@@ -166,8 +167,8 @@ C_ASSERT(sizeof(UINT_PTR) == sizeof(ULONG_PTR));
#define WORD_MAX 0xffff
#define INT_MAX 2147483647
#define INT32_MAX 2147483647
#define UINT_MAX 0xffffffff
#define UINT32_MAX 0xffffffff
#define UINT_MAX 0xffffffffU
#define UINT32_MAX 0xffffffffU
#define LONG_MAX 2147483647L
#define ULONG_MAX 0xffffffffUL
#define DWORD_MAX 0xffffffffUL
@@ -270,6 +271,7 @@ C_ASSERT(sizeof(UINT_PTR) == sizeof(ULONG_PTR));
#endif
/* Convert unsigned to signed or unsigned */
#define DEFINE_SAFE_CONVERT_UTOX(_Name, _TypeFrom, _TypeTo) \
_Must_inspect_result_ \
__forceinline \
@@ -332,7 +334,8 @@ DEFINE_SAFE_CONVERT_UTOX(ULongLongToULong, ULONGLONG, ULONG)
DEFINE_SAFE_CONVERT_UTOX(ULongLongToULongPtr, ULONGLONG, ULONG_PTR)
#define DEFINE_SAFE_CONVERT_ITOU(_Name, _TypeFrom, _TypeTo) \
/* Convert signed to unsigned */
#define DEFINE_SAFE_CONVERT_STOU(_Name, _TypeFrom, _TypeTo) \
_Must_inspect_result_ \
__forceinline \
INTSAFE_RESULT \
@@ -352,60 +355,61 @@ INTSAFE_NAME(_Name)( \
} \
}
DEFINE_SAFE_CONVERT_ITOU(Int8ToUChar, INT8, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(Int8ToUInt8, INT8, UINT8)
DEFINE_SAFE_CONVERT_ITOU(Int8ToUShort, INT8, USHORT)
DEFINE_SAFE_CONVERT_ITOU(Int8ToUInt, INT8, UINT)
DEFINE_SAFE_CONVERT_ITOU(Int8ToULong, INT8, ULONG)
DEFINE_SAFE_CONVERT_ITOU(Int8ToUIntPtr, INT8, UINT_PTR)
DEFINE_SAFE_CONVERT_ITOU(Int8ToULongPtr, INT8, ULONG_PTR)
DEFINE_SAFE_CONVERT_ITOU(Int8ToULongLong, INT8, ULONGLONG)
DEFINE_SAFE_CONVERT_ITOU(ShortToUChar, SHORT, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(ShortToUInt8, SHORT, UINT8)
DEFINE_SAFE_CONVERT_ITOU(ShortToUShort, SHORT, USHORT)
DEFINE_SAFE_CONVERT_ITOU(ShortToUInt, SHORT, UINT)
DEFINE_SAFE_CONVERT_ITOU(ShortToULong, SHORT, ULONG)
DEFINE_SAFE_CONVERT_ITOU(ShortToUIntPtr, SHORT, UINT_PTR)
DEFINE_SAFE_CONVERT_ITOU(ShortToULongPtr, SHORT, ULONG_PTR)
DEFINE_SAFE_CONVERT_ITOU(ShortToDWordPtr, SHORT, DWORD_PTR)
DEFINE_SAFE_CONVERT_ITOU(ShortToULongLong, SHORT, ULONGLONG)
DEFINE_SAFE_CONVERT_ITOU(IntToUChar, INT, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(IntToUInt8, INT, UINT8)
DEFINE_SAFE_CONVERT_ITOU(IntToUShort, INT, USHORT)
DEFINE_SAFE_CONVERT_ITOU(IntToUInt, INT, UINT)
DEFINE_SAFE_CONVERT_ITOU(IntToULong, INT, ULONG)
DEFINE_SAFE_CONVERT_ITOU(IntToULongLong, INT, ULONGLONG)
DEFINE_SAFE_CONVERT_ITOU(LongToUChar, LONG, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(LongToUInt8, LONG, UINT8)
DEFINE_SAFE_CONVERT_ITOU(LongToUShort, LONG, USHORT)
DEFINE_SAFE_CONVERT_ITOU(LongToUInt, LONG, UINT)
DEFINE_SAFE_CONVERT_ITOU(LongToULong, LONG, ULONG)
DEFINE_SAFE_CONVERT_ITOU(LongToUIntPtr, LONG, UINT_PTR)
DEFINE_SAFE_CONVERT_ITOU(LongToULongPtr, LONG, ULONG_PTR)
DEFINE_SAFE_CONVERT_ITOU(LongToULongLong, LONG, ULONGLONG)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToUChar, INT_PTR, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToUInt8, INT_PTR, UINT8)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToUShort, INT_PTR, USHORT)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToUInt, INT_PTR, UINT)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToULong, INT_PTR, ULONG)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToUIntPtr, INT_PTR, UINT_PTR)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToULongPtr, INT_PTR, ULONG_PTR)
DEFINE_SAFE_CONVERT_ITOU(IntPtrToULongLong, INT_PTR, ULONGLONG)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToUChar, LONG_PTR, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToUInt8, LONG_PTR, UINT8)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToUShort, LONG_PTR, USHORT)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToUInt, LONG_PTR, UINT)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToULong, LONG_PTR, ULONG)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToUIntPtr, LONG_PTR, UINT_PTR)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToULongPtr, LONG_PTR, ULONG_PTR)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToULongLong, LONG_PTR, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(Int8ToUChar, INT8, UCHAR)
DEFINE_SAFE_CONVERT_STOU(Int8ToUInt8, INT8, UINT8)
DEFINE_SAFE_CONVERT_STOU(Int8ToUShort, INT8, USHORT)
DEFINE_SAFE_CONVERT_STOU(Int8ToUInt, INT8, UINT)
DEFINE_SAFE_CONVERT_STOU(Int8ToULong, INT8, ULONG)
DEFINE_SAFE_CONVERT_STOU(Int8ToUIntPtr, INT8, UINT_PTR)
DEFINE_SAFE_CONVERT_STOU(Int8ToULongPtr, INT8, ULONG_PTR)
DEFINE_SAFE_CONVERT_STOU(Int8ToULongLong, INT8, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(ShortToUChar, SHORT, UCHAR)
DEFINE_SAFE_CONVERT_STOU(ShortToUInt8, SHORT, UINT8)
DEFINE_SAFE_CONVERT_STOU(ShortToUShort, SHORT, USHORT)
DEFINE_SAFE_CONVERT_STOU(ShortToUInt, SHORT, UINT)
DEFINE_SAFE_CONVERT_STOU(ShortToULong, SHORT, ULONG)
DEFINE_SAFE_CONVERT_STOU(ShortToUIntPtr, SHORT, UINT_PTR)
DEFINE_SAFE_CONVERT_STOU(ShortToULongPtr, SHORT, ULONG_PTR)
DEFINE_SAFE_CONVERT_STOU(ShortToDWordPtr, SHORT, DWORD_PTR)
DEFINE_SAFE_CONVERT_STOU(ShortToULongLong, SHORT, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(IntToUChar, INT, UCHAR)
DEFINE_SAFE_CONVERT_STOU(IntToUInt8, INT, UINT8)
DEFINE_SAFE_CONVERT_STOU(IntToUShort, INT, USHORT)
DEFINE_SAFE_CONVERT_STOU(IntToUInt, INT, UINT)
DEFINE_SAFE_CONVERT_STOU(IntToULong, INT, ULONG)
DEFINE_SAFE_CONVERT_STOU(IntToULongLong, INT, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(LongToUChar, LONG, UCHAR)
DEFINE_SAFE_CONVERT_STOU(LongToUInt8, LONG, UINT8)
DEFINE_SAFE_CONVERT_STOU(LongToUShort, LONG, USHORT)
DEFINE_SAFE_CONVERT_STOU(LongToUInt, LONG, UINT)
DEFINE_SAFE_CONVERT_STOU(LongToULong, LONG, ULONG)
DEFINE_SAFE_CONVERT_STOU(LongToUIntPtr, LONG, UINT_PTR)
DEFINE_SAFE_CONVERT_STOU(LongToULongPtr, LONG, ULONG_PTR)
DEFINE_SAFE_CONVERT_STOU(LongToULongLong, LONG, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(IntPtrToUChar, INT_PTR, UCHAR)
DEFINE_SAFE_CONVERT_STOU(IntPtrToUInt8, INT_PTR, UINT8)
DEFINE_SAFE_CONVERT_STOU(IntPtrToUShort, INT_PTR, USHORT)
DEFINE_SAFE_CONVERT_STOU(IntPtrToUInt, INT_PTR, UINT)
DEFINE_SAFE_CONVERT_STOU(IntPtrToULong, INT_PTR, ULONG)
DEFINE_SAFE_CONVERT_STOU(IntPtrToUIntPtr, INT_PTR, UINT_PTR)
DEFINE_SAFE_CONVERT_STOU(IntPtrToULongPtr, INT_PTR, ULONG_PTR)
DEFINE_SAFE_CONVERT_STOU(IntPtrToULongLong, INT_PTR, ULONGLONG)
DEFINE_SAFE_CONVERT_STOU(LongPtrToUChar, LONG_PTR, UCHAR)
DEFINE_SAFE_CONVERT_STOU(LongPtrToUInt8, LONG_PTR, UINT8)
DEFINE_SAFE_CONVERT_STOU(LongPtrToUShort, LONG_PTR, USHORT)
DEFINE_SAFE_CONVERT_STOU(LongPtrToUInt, LONG_PTR, UINT)
DEFINE_SAFE_CONVERT_STOU(LongPtrToULong, LONG_PTR, ULONG)
DEFINE_SAFE_CONVERT_STOU(LongPtrToUIntPtr, LONG_PTR, UINT_PTR)
DEFINE_SAFE_CONVERT_STOU(LongPtrToULongPtr, LONG_PTR, ULONG_PTR)
DEFINE_SAFE_CONVERT_STOU(LongPtrToULongLong, LONG_PTR, ULONGLONG)
#ifdef _CHAR_UNSIGNED
DEFINE_SAFE_CONVERT_ITOU(ShortToChar, SHORT, UCHAR)
DEFINE_SAFE_CONVERT_ITOU(LongPtrToChar, LONG_PTR, UCHAR)
DEFINE_SAFE_CONVERT_STOU(ShortToChar, SHORT, UCHAR)
DEFINE_SAFE_CONVERT_STOU(LongPtrToChar, LONG_PTR, UCHAR)
#endif
#define DEFINE_SAFE_CONVERT_ITOI(_Name, _TypeFrom, _TypeTo) \
/* Convert signed to signed */
#define DEFINE_SAFE_CONVERT_STOS(_Name, _TypeFrom, _TypeTo) \
_Must_inspect_result_ \
__forceinline \
INTSAFE_RESULT \
@@ -425,28 +429,28 @@ INTSAFE_NAME(_Name)( \
} \
}
DEFINE_SAFE_CONVERT_ITOI(ShortToInt8, SHORT, INT8)
DEFINE_SAFE_CONVERT_ITOI(IntToInt8, INT, INT8)
DEFINE_SAFE_CONVERT_ITOI(IntToShort, INT, SHORT)
DEFINE_SAFE_CONVERT_ITOI(LongToInt8, LONG, INT8)
DEFINE_SAFE_CONVERT_ITOI(LongToShort, LONG, SHORT)
DEFINE_SAFE_CONVERT_ITOI(LongToInt, LONG, INT)
DEFINE_SAFE_CONVERT_ITOI(IntPtrToInt8, INT_PTR, INT8)
DEFINE_SAFE_CONVERT_ITOI(IntPtrToShort, INT_PTR, SHORT)
DEFINE_SAFE_CONVERT_ITOI(IntPtrToInt, INT_PTR, INT)
DEFINE_SAFE_CONVERT_ITOI(IntPtrToLong, INT_PTR, LONG)
DEFINE_SAFE_CONVERT_ITOI(IntPtrToLongPtr, INT_PTR, LONG_PTR)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToInt8, LONG_PTR, INT8)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToShort, LONG_PTR, SHORT)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToInt, LONG_PTR, INT)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToLong, LONG_PTR, LONG)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToIntPtr, LONG_PTR, INT_PTR)
DEFINE_SAFE_CONVERT_ITOI(LongLongToLong, LONGLONG, LONG)
DEFINE_SAFE_CONVERT_ITOI(LongLongToIntPtr, LONGLONG, INT_PTR)
DEFINE_SAFE_CONVERT_ITOI(LongLongToLongPtr, LONGLONG, LONG_PTR)
DEFINE_SAFE_CONVERT_STOS(ShortToInt8, SHORT, INT8)
DEFINE_SAFE_CONVERT_STOS(IntToInt8, INT, INT8)
DEFINE_SAFE_CONVERT_STOS(IntToShort, INT, SHORT)
DEFINE_SAFE_CONVERT_STOS(LongToInt8, LONG, INT8)
DEFINE_SAFE_CONVERT_STOS(LongToShort, LONG, SHORT)
DEFINE_SAFE_CONVERT_STOS(LongToInt, LONG, INT)
DEFINE_SAFE_CONVERT_STOS(IntPtrToInt8, INT_PTR, INT8)
DEFINE_SAFE_CONVERT_STOS(IntPtrToShort, INT_PTR, SHORT)
DEFINE_SAFE_CONVERT_STOS(IntPtrToInt, INT_PTR, INT)
DEFINE_SAFE_CONVERT_STOS(IntPtrToLong, INT_PTR, LONG)
DEFINE_SAFE_CONVERT_STOS(IntPtrToLongPtr, INT_PTR, LONG_PTR)
DEFINE_SAFE_CONVERT_STOS(LongPtrToInt8, LONG_PTR, INT8)
DEFINE_SAFE_CONVERT_STOS(LongPtrToShort, LONG_PTR, SHORT)
DEFINE_SAFE_CONVERT_STOS(LongPtrToInt, LONG_PTR, INT)
DEFINE_SAFE_CONVERT_STOS(LongPtrToLong, LONG_PTR, LONG)
DEFINE_SAFE_CONVERT_STOS(LongPtrToIntPtr, LONG_PTR, INT_PTR)
DEFINE_SAFE_CONVERT_STOS(LongLongToLong, LONGLONG, LONG)
DEFINE_SAFE_CONVERT_STOS(LongLongToIntPtr, LONGLONG, INT_PTR)
DEFINE_SAFE_CONVERT_STOS(LongLongToLongPtr, LONGLONG, LONG_PTR)
#ifndef _CHAR_UNSIGNED
DEFINE_SAFE_CONVERT_ITOI(ShortToChar, SHORT, CHAR)
DEFINE_SAFE_CONVERT_ITOI(LongPtrToChar, LONG_PTR, CHAR)
DEFINE_SAFE_CONVERT_STOS(ShortToChar, SHORT, CHAR)
DEFINE_SAFE_CONVERT_STOS(LongPtrToChar, LONG_PTR, CHAR)
#endif
@@ -466,6 +470,7 @@ DEFINE_SAFE_CONVERT_ITOI(LongPtrToChar, LONG_PTR, CHAR)
#define RtlInt8ToSIZET RtlInt8ToULongPtr
#define RtlIntToSizeT RtlIntToUIntPtr
#define RtlIntToSIZET RtlIntToULongPtr
#define RtlULongToSSIZET RtlULongToLongPtr
#define RtlULongToByte RtlULongToUInt8
#define RtlULongLongToInt64 RtlULongLongToLongLong
#define RtlULongLongToLong64 RtlULongLongToLongLong
@@ -502,6 +507,7 @@ DEFINE_SAFE_CONVERT_ITOI(LongPtrToChar, LONG_PTR, CHAR)
#define Int8ToSIZET Int8ToULongPtr
#define IntToSizeT IntToUIntPtr
#define IntToSIZET IntToULongPtr
#define ULongToSSIZET ULongToLongPtr
#define ULongToByte ULongToUInt8
#define ULongLongToInt64 ULongLongToLongLong
#define ULongLongToLong64 ULongLongToLongLong
@@ -657,7 +663,7 @@ INTSAFE_NAME(ULongLongMult)(
+ M1Hi * M2Hi * 0x100000000 * 0x100000000
We get an overflow when
a) M1Hi * M2Hi != 0, so when M1Hi or M2Hi are not 0
a) M1Hi * M2Hi != 0, so when M1Hi and M2Hi are both not 0
b) The product of the nonzero high part and the other low part
is larger than 32 bits.
c) The addition of the product from b) shifted left by 32 and
@@ -712,6 +718,21 @@ DEFINE_SAFE_MULT_U32(SizeTMult, size_t, ULongLongToSizeT)
DEFINE_SAFE_MULT_U32(SIZETMult, SIZE_T, ULongLongToSIZET)
#endif
#define DEFINE_SAFE_MULT_U16(_Name, _Type, _Convert) \
_Must_inspect_result_ \
__forceinline \
INTSAFE_RESULT \
INTSAFE_NAME(_Name)( \
_In_ _Type Multiplicand, \
_In_ _Type Multiplier, \
_Out_ _Deref_out_range_(==, Multiplicand * Multiplier) _Type* pOutput) \
{ \
ULONG Result = ((ULONG)Multiplicand) * ((ULONG)Multiplier); \
return INTSAFE_NAME(_Convert)(Result, pOutput); \
}
DEFINE_SAFE_MULT_U16(UShortMult, USHORT, ULongToUShort)
#ifdef _NTINTSAFE_H_INCLUDED_
@@ -731,6 +752,8 @@ DEFINE_SAFE_MULT_U32(SIZETMult, SIZE_T, ULongLongToSIZET)
#define RtlULong64Sub RtlULongLongSub
#define RtlDWord64Sub RtlULongLongSub
#define RtlUInt64Sub RtlULongLongSub
#define RtlUInt16Mult RtlUShortMult
#define RtlWordMult RtlUShortMult
#ifdef _WIN64
#define RtlIntPtrSub RtlLongLongSub
#define RtlLongPtrSub RtlLongLongSub
@@ -757,6 +780,8 @@ DEFINE_SAFE_MULT_U32(SIZETMult, SIZE_T, ULongLongToSIZET)
#define ULong64Sub ULongLongSub
#define DWord64Sub ULongLongSub
#define UInt64Sub ULongLongSub
#define UInt16Mult UShortMult
#define WordMult UShortMult
#ifdef _WIN64
#define IntPtrSub LongLongSub
#define LongPtrSub LongLongSub
+1 -1
View File
@@ -4257,7 +4257,7 @@ KsLoadResource(
_In_ POOL_TYPE PoolType,
_In_ ULONG_PTR ResourceName,
_In_ ULONG ResourceType,
_Outptr_result_bytebuffer_(ResourceSize) PVOID *Resource,
_Outptr_result_bytebuffer_(*ResourceSize) PVOID *Resource,
_Out_opt_ PULONG ResourceSize);
_IRQL_requires_max_(PASSIVE_LEVEL)
+104
View File
@@ -814,6 +814,110 @@ typedef struct
ULONG ChannelMask;
} KSDATARANGE_MUSIC, *PKSDATARANGE_MUSIC;
#if (NTDDI_VERSION >= NTDDI_WINXPSP1)
#define STATIC_KSPROPSETID_Jack\
0x4509f757, 0x2d46, 0x4637, {0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b}
DEFINE_GUIDSTRUCT("4509F757-2D46-4637-8E62-CE7DB944F57B", KSPROPSETID_Jack);
#define KSPROPSETID_Jack DEFINE_GUIDNAMED(KSPROPSETID_Jack)
typedef enum {
KSPROPERTY_JACK_DESCRIPTION = 1,
KSPROPERTY_JACK_DESCRIPTION2,
KSPROPERTY_JACK_SINK_INFO,
KSPROPERTY_JACK_CONTAINERID
} KSPROPERTY_JACK;
typedef enum {
eConnTypeUnknown,
eConnType3Point5mm,
eConnTypeQuarter,
eConnTypeAtapiInternal,
eConnTypeRCA,
eConnTypeOptical,
eConnTypeOtherDigital,
eConnTypeOtherAnalog,
eConnTypeMultichannelAnalogDIN,
eConnTypeXlrProfessional,
eConnTypeRJ11Modem,
eConnTypeCombination
} EPcxConnectionType;
#define eGeoLocReserved5 eGeoLocNotApplicable
typedef enum {
eGeoLocRear = 0x1,
eGeoLocFront,
eGeoLocLeft,
eGeoLocRight,
eGeoLocTop,
eGeoLocBottom,
eGeoLocRearPanel,
eGeoLocRiser,
eGeoLocInsideMobileLid,
eGeoLocDrivebay,
eGeoLocHDMI,
eGeoLocOutsideMobileLid,
eGeoLocATAPI,
eGeoLocNotApplicable,
eGeoLocReserved6,
EPcxGeoLocation_enum_count
} EPcxGeoLocation;
typedef enum {
eGenLocPrimaryBox = 0,
eGenLocInternal,
eGenLocSeparate,
eGenLocOther,
EPcxGenLocation_enum_count
} EPcxGenLocation;
typedef enum {
ePortConnJack = 0,
ePortConnIntegratedDevice,
ePortConnBothIntegratedAndJack,
ePortConnUnknown
} EPxcPortConnection;
typedef struct {
DWORD ChannelMapping;
DWORD Color;
EPcxConnectionType ConnectionType;
EPcxGeoLocation GeoLocation;
EPcxGenLocation GenLocation;
EPxcPortConnection PortConnection;
BOOL IsConnected;
} KSJACK_DESCRIPTION, *PKSJACK_DESCRIPTION;
typedef enum {
KSJACK_SINK_CONNECTIONTYPE_HDMI = 0,
KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT
} KSJACK_SINK_CONNECTIONTYPE;
#define MAX_SINK_DESCRIPTION_NAME_LENGTH 32
typedef struct _tagKSJACK_SINK_INFORMATION {
KSJACK_SINK_CONNECTIONTYPE ConnType;
WORD ManufacturerId;
WORD ProductId;
WORD AudioLatency;
BOOL HDCPCapable;
BOOL AICapable;
UCHAR SinkDescriptionLength;
WCHAR SinkDescription[MAX_SINK_DESCRIPTION_NAME_LENGTH];
LUID PortId;
} KSJACK_SINK_INFORMATION, *PKSJACK_SINK_INFORMATION;
#define JACKDESC2_PRESENCE_DETECT_CAPABILITY 0x1
#define JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY 0x2
typedef struct _tagKSJACK_DESCRIPTION2 {
DWORD DeviceStateInfo;
DWORD JackCapabilities;
} KSJACK_DESCRIPTION2, *PKSJACK_DESCRIPTION2;
#endif /* (NTDDI_VERSION >= NTDDI_WINXPSP1) */
#ifndef _SPEAKER_POSITIONS_
#define _SPEAKER_POSITIONS_
+45 -1
View File
@@ -47,6 +47,16 @@ typedef struct
LPVOID lpFileType;
} MapiFileDesc, *lpMapiFileDesc;
typedef struct
{
ULONG ulReserved;
ULONG flFlags;
ULONG nPosition;
PWSTR lpszPathName;
PWSTR lpszFileName;
PVOID lpFileType;
} MapiFileDescW, *lpMapiFileDescW;
#ifndef MAPI_ORIG
#define MAPI_ORIG 0
#define MAPI_TO 1
@@ -64,6 +74,16 @@ typedef struct
LPVOID lpEntryID;
} MapiRecipDesc, *lpMapiRecipDesc;
typedef struct
{
ULONG ulReserved;
ULONG ulRecipClass;
PWSTR lpszName;
PWSTR lpszAddress;
ULONG ulEIDSize;
PVOID lpEntryID;
} MapiRecipDescW, *lpMapiRecipDescW;
typedef struct
{
ULONG ulReserved;
@@ -80,11 +100,26 @@ typedef struct
lpMapiFileDesc lpFiles;
} MapiMessage, *lpMapiMessage;
typedef struct
{
ULONG ulReserved;
PWSTR lpszSubject;
PWSTR lpszNoteText;
PWSTR lpszMessageType;
PWSTR lpszDateReceived;
PWSTR lpszConversationID;
FLAGS flFlags;
lpMapiRecipDescW lpOriginator;
ULONG nRecipCount;
lpMapiRecipDescW lpRecips;
ULONG nFileCount;
lpMapiFileDescW lpFiles;
} MapiMessageW, *lpMapiMessageW;
/* Error codes */
#ifndef SUCCESS_SUCCESS
#define SUCCESS_SUCCESS 0L
#define SUCCESS_SUCCESS 0
#endif
#define MAPI_USER_ABORT 1
@@ -115,6 +150,7 @@ typedef struct
#define MAPI_E_INVALID_EDITFIELDS 24
#define MAPI_E_INVALID_RECIPS 25
#define MAPI_E_NOT_SUPPORTED 26
#define MAPI_E_UNICODE_NOT_SUPPORTED 27
/* MAPILogon */
@@ -140,6 +176,10 @@ typedef struct
#define MAPI_DIALOG 0x00000008
/* MAPISendMailW */
#define MAPI_FORCE_UNICODE 0x00040000
/* API typedefs and prototypes */
@@ -194,6 +234,10 @@ typedef ULONG (WINAPI MAPISENDMAIL)(LHANDLE,ULONG_PTR,lpMapiMessage,FLAGS,ULONG)
typedef MAPISENDMAIL *LPMAPISENDMAIL;
MAPISENDMAIL MAPISendMail;
typedef ULONG (WINAPI MAPISENDMAILW)(LHANDLE,ULONG_PTR,lpMapiMessageW,FLAGS,ULONG);
typedef MAPISENDMAILW *LPMAPISENDMAILW;
MAPISENDMAILW MAPISendMailW;
#ifdef __cplusplus
}
#endif
+18 -18
View File
@@ -446,12 +446,12 @@ typedef struct _SPropProblemArray
} SPropProblemArray, *LPSPropProblemArray;
/* FPropContainsProp flags */
#define FL_FULLSTRING 0x00000ul /* Exact string match */
#define FL_SUBSTRING 0x00001ul /* Substring match */
#define FL_PREFIX 0x00002ul /* Prefix match */
#define FL_IGNORECASE 0x10000ul /* Case insensitive */
#define FL_IGNORENONSPACE 0x20000ul /* Ignore non spacing characters */
#define FL_LOOSE 0x40000ul /* Try very hard to match */
#define FL_FULLSTRING ((ULONG)0x00000) /* Exact string match */
#define FL_SUBSTRING ((ULONG)0x00001) /* Substring match */
#define FL_PREFIX ((ULONG)0x00002) /* Prefix match */
#define FL_IGNORECASE ((ULONG)0x10000) /* Case insensitive */
#define FL_IGNORENONSPACE ((ULONG)0x20000) /* Ignore non spacing characters */
#define FL_LOOSE ((ULONG)0x40000) /* Try very hard to match */
/* Table types returned by IMAPITable_GetStatus() */
@@ -649,18 +649,18 @@ typedef struct _MAPINAMEID
} MAPINAMEID, *LPMAPINAMEID;
/* Desired notification types (bitflags) */
#define fnevCriticalError 0x00000001UL
#define fnevNewMail 0x00000002UL
#define fnevObjectCreated 0x00000004UL
#define fnevObjectDeleted 0x00000008UL
#define fnevObjectModified 0x00000010UL
#define fnevObjectMoved 0x00000020UL
#define fnevObjectCopied 0x00000040UL
#define fnevSearchComplete 0x00000080UL
#define fnevTableModified 0x00000100UL
#define fnevStatusObjectModified 0x00000200UL
#define fnevReservedForMapi 0x40000000UL
#define fnevExtended 0x80000000UL
#define fnevCriticalError ((ULONG)0x00000001)
#define fnevNewMail ((ULONG)0x00000002)
#define fnevObjectCreated ((ULONG)0x00000004)
#define fnevObjectDeleted ((ULONG)0x00000008)
#define fnevObjectModified ((ULONG)0x00000010)
#define fnevObjectMoved ((ULONG)0x00000020)
#define fnevObjectCopied ((ULONG)0x00000040)
#define fnevSearchComplete ((ULONG)0x00000080)
#define fnevTableModified ((ULONG)0x00000100)
#define fnevStatusObjectModified ((ULONG)0x00000200)
#define fnevReservedForMapi ((ULONG)0x40000000)
#define fnevExtended ((ULONG)0x80000000)
/* Type of notification event */
#define TABLE_CHANGED 1U
+11
View File
@@ -384,6 +384,17 @@ interface IEnumCodePage : IUnknown
]
interface IMLangConvertCharset : IUnknown
{
typedef enum tagMLCONVCHARF
{
MLCONVCHARF_AUTODETECT = 1,
MLCONVCHARF_ENTITIZE = 2,
MLCONVCHARF_NCR_ENTITIZE = 2,
MLCONVCHARF_NAME_ENTITIZE = 4,
MLCONVCHARF_USEDEFCHAR = 8,
MLCONVCHARF_NOBESTFITCHARS = 16,
MLCONVCHARF_DETECTJPN = 32
} MLCONVCHAR;
HRESULT Initialize(
[in] UINT uiSrcCodePage,
[in] UINT uiDstCodePage,
+202 -201
View File
File diff suppressed because it is too large Load Diff
+85 -85
View File
@@ -86,35 +86,35 @@ typedef struct _TRANSMIT_FILE_BUFFERS {
typedef BOOL
(PASCAL FAR *LPFN_TRANSMITFILE)(
IN SOCKET hSocket,
IN HANDLE hFile,
IN DWORD nNumberOfBytesToWrite,
IN DWORD nNumberOfBytesPerSend,
IN OUT LPOVERLAPPED lpOverlapped OPTIONAL,
IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers OPTIONAL,
IN DWORD dwReserved);
_In_ SOCKET hSocket,
_In_ HANDLE hFile,
_In_ DWORD nNumberOfBytesToWrite,
_In_ DWORD nNumberOfBytesPerSend,
_Inout_opt_ LPOVERLAPPED lpOverlapped,
_In_opt_ LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
_In_ DWORD dwReserved);
typedef BOOL
(PASCAL FAR *LPFN_ACCEPTEX)(
IN SOCKET sListenSocket,
IN SOCKET sAcceptSocket,
IN PVOID lpOutputBuffer,
IN DWORD dwReceiveDataLength,
IN DWORD dwLocalAddressLength,
IN DWORD dwRemoteAddressLength,
OUT LPDWORD lpdwBytesReceived,
IN OUT LPOVERLAPPED lpOverlapped);
_In_ SOCKET sListenSocket,
_In_ SOCKET sAcceptSocket,
_Out_writes_bytes_(dwReceiveDataLength + dwLocalAddressLength + dwRemoteAddressLength) PVOID lpOutputBuffer,
_In_ DWORD dwReceiveDataLength,
_In_ DWORD dwLocalAddressLength,
_In_ DWORD dwRemoteAddressLength,
_Out_ LPDWORD lpdwBytesReceived,
_Inout_ LPOVERLAPPED lpOverlapped);
typedef VOID
(PASCAL FAR *LPFN_GETACCEPTEXSOCKADDRS)(
IN PVOID lpOutputBuffer,
IN DWORD dwReceiveDataLength,
IN DWORD dwLocalAddressLength,
IN DWORD dwRemoteAddressLength,
OUT struct sockaddr **LocalSockaddr,
OUT LPINT LocalSockaddrLength,
OUT struct sockaddr **RemoteSockaddr,
OUT LPINT RemoteSockaddrLength);
_In_reads_bytes_(dwReceiveDataLength + dwLocalAddressLength + dwRemoteAddressLength) PVOID lpOutputBuffer,
_In_ DWORD dwReceiveDataLength,
_In_ DWORD dwLocalAddressLength,
_In_ DWORD dwRemoteAddressLength,
_Outptr_result_bytebuffer_(*LocalSockaddrLength) struct sockaddr **LocalSockaddr,
_Out_ LPINT LocalSockaddrLength,
_Outptr_result_bytebuffer_(*RemoteSockaddrLength) struct sockaddr **RemoteSockaddr,
_Out_ LPINT RemoteSockaddrLength);
#if(_WIN32_WINNT >= 0x0501)
@@ -132,35 +132,35 @@ typedef struct _TRANSMIT_PACKETS_ELEMENT {
typedef BOOL
(PASCAL FAR *LPFN_TRANSMITPACKETS)(
IN SOCKET hSocket,
IN LPTRANSMIT_PACKETS_ELEMENT lpPacketArray OPTIONAL,
IN DWORD nElementCount,
IN DWORD nSendSize,
IN OUT LPOVERLAPPED lpOverlapped OPTIONAL,
IN DWORD dwFlags);
_In_ SOCKET hSocket,
_In_opt_ LPTRANSMIT_PACKETS_ELEMENT lpPacketArray,
_In_ DWORD nElementCount,
_In_ DWORD nSendSize,
_Inout_opt_ LPOVERLAPPED lpOverlapped,
_In_ DWORD dwFlags);
#define WSAID_TRANSMITPACKETS \
{0xd9689da0,0x1f90,0x11d3,{0x99,0x71,0x00,0xc0,0x4f,0x68,0xc8,0x76}}
typedef BOOL
(PASCAL FAR *LPFN_CONNECTEX)(
IN SOCKET s,
IN const struct sockaddr FAR *name,
IN int namelen,
IN PVOID lpSendBuffer OPTIONAL,
IN DWORD dwSendDataLength,
OUT LPDWORD lpdwBytesSent,
IN OUT LPOVERLAPPED lpOverlapped);
_In_ SOCKET s,
_In_reads_bytes_(namelen) const struct sockaddr FAR *name,
_In_ int namelen,
_In_reads_bytes_opt_(dwSendDataLength) PVOID lpSendBuffer,
_In_ DWORD dwSendDataLength,
_Out_ LPDWORD lpdwBytesSent,
_Inout_ LPOVERLAPPED lpOverlapped);
#define WSAID_CONNECTEX \
{0x25a207b9,0xddf3,0x4660,{0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e}}
typedef BOOL
(PASCAL FAR *LPFN_DISCONNECTEX)(
IN SOCKET s,
IN OUT LPOVERLAPPED lpOverlapped OPTIONAL,
IN DWORD dwFlags,
IN DWORD dwReserved);
_In_ SOCKET s,
_Inout_opt_ LPOVERLAPPED lpOverlapped,
_In_ DWORD dwFlags,
_In_ DWORD dwReserved);
#define WSAID_DISCONNECTEX \
{0x7fda2e11,0x8630,0x436f,{0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}}
@@ -231,11 +231,11 @@ typedef struct _NLA_BLOB {
typedef INT
(PASCAL FAR *LPFN_WSARECVMSG)(
IN SOCKET s,
IN OUT LPWSAMSG lpMsg,
OUT LPDWORD lpdwNumberOfBytesRecvd OPTIONAL,
IN OUT LPWSAOVERLAPPED lpOverlapped OPTIONAL,
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine OPTIONAL);
_In_ SOCKET s,
_Inout_ LPWSAMSG lpMsg,
_Out_opt_ LPDWORD lpdwNumberOfBytesRecvd,
_Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
#define WSAID_WSARECVMSG \
{0xf689d7c8,0x6f1f,0x436b,{0x8a,0x53,0xe5,0x4f,0xe3,0x51,0xc3,0x22}}
@@ -271,21 +271,21 @@ typedef struct {
typedef INT
(PASCAL FAR *LPFN_WSASENDMSG)(
IN SOCKET s,
IN LPWSAMSG lpMsg,
IN DWORD dwFlags,
OUT LPDWORD lpNumberOfBytesSent OPTIONAL,
IN OUT LPWSAOVERLAPPED lpOverlapped OPTIONAL,
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine OPTIONAL);
_In_ SOCKET s,
_In_ LPWSAMSG lpMsg,
_In_ DWORD dwFlags,
_Out_opt_ LPDWORD lpNumberOfBytesSent,
_Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
#define WSAID_WSASENDMSG
{0xa441e712,0x754f,0x43ca,{0x84,0xa7,0x0d,0xee,0x44,0xcf,0x60,0x6d}}
typedef INT
(WSAAPI *LPFN_WSAPOLL)(
IN OUT LPWSAPOLLFD fdarray,
IN ULONG nfds,
IN INT timeout);
_Inout_ LPWSAPOLLFD fdarray,
_In_ ULONG nfds,
_In_ INT timeout);
#define WSAID_WSAPOLL \
{0x18C76F85,0xDC66,0x4964,{0x97,0x2E,0x23,0xC2,0x72,0x38,0x31,0x2B}}
@@ -297,58 +297,58 @@ int
PASCAL
FAR
WSARecvEx(
IN SOCKET s,
OUT char FAR *buf,
IN int len,
IN OUT int FAR *flags);
_In_ SOCKET s,
_Out_writes_bytes_to_(len, return) char FAR *buf,
_In_ int len,
_Inout_ int FAR *flags);
#else
INT
PASCAL
FAR
WSARecvEx(
IN SOCKET s,
OUT CHAR FAR *buf,
IN INT len,
IN OUT INT FAR *flags);
_In_ SOCKET s,
_Out_writes_bytes_to_(len, return) CHAR FAR *buf,
_In_ INT len,
_Inout_ INT FAR *flags);
#endif /* (_WIN32_WINNT < 0x0600) */
BOOL
PASCAL
FAR
TransmitFile(
IN SOCKET hSocket,
IN HANDLE hFile,
IN DWORD nNumberOfBytesToWrite,
IN DWORD nNumberOfBytesPerSend,
IN OUT LPOVERLAPPED lpOverlapped OPTIONAL,
IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers OPTIONAL,
IN DWORD dwReserved);
_In_ SOCKET hSocket,
_In_ HANDLE hFile,
_In_ DWORD nNumberOfBytesToWrite,
_In_ DWORD nNumberOfBytesPerSend,
_Inout_opt_ LPOVERLAPPED lpOverlapped,
_In_opt_ LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
_In_ DWORD dwReserved);
BOOL
PASCAL
FAR
AcceptEx(
IN SOCKET sListenSocket,
IN SOCKET sAcceptSocket,
OUT PVOID lpOutputBuffer,
IN DWORD dwReceiveDataLength,
IN DWORD dwLocalAddressLength,
IN DWORD dwRemoteAddressLength,
OUT LPDWORD lpdwBytesReceived,
IN OUT LPOVERLAPPED lpOverlapped);
_In_ SOCKET sListenSocket,
_In_ SOCKET sAcceptSocket,
_Out_writes_bytes_(dwReceiveDataLength + dwLocalAddressLength + dwRemoteAddressLength) PVOID lpOutputBuffer,
_In_ DWORD dwReceiveDataLength,
_In_ DWORD dwLocalAddressLength,
_In_ DWORD dwRemoteAddressLength,
_Out_ LPDWORD lpdwBytesReceived,
_Inout_ LPOVERLAPPED lpOverlapped);
VOID
PASCAL
FAR
GetAcceptExSockaddrs(
IN PVOID lpOutputBuffer,
IN DWORD dwReceiveDataLength,
IN DWORD dwLocalAddressLength,
IN DWORD dwRemoteAddressLength,
OUT struct sockaddr **LocalSockaddr,
OUT LPINT LocalSockaddrLength,
OUT struct sockaddr **RemoteSockaddr,
OUT LPINT RemoteSockaddrLength);
_In_reads_bytes_(dwReceiveDataLength + dwLocalAddressLength + dwRemoteAddressLength) PVOID lpOutputBuffer,
_In_ DWORD dwReceiveDataLength,
_In_ DWORD dwLocalAddressLength,
_In_ DWORD dwRemoteAddressLength,
_Outptr_result_bytebuffer_(*LocalSockaddrLength) struct sockaddr **LocalSockaddr,
_Out_ LPINT LocalSockaddrLength,
_Outptr_result_bytebuffer_(*RemoteSockaddrLength) struct sockaddr **RemoteSockaddr,
_Out_ LPINT RemoteSockaddrLength);
#ifdef __cplusplus
}
+33
View File
@@ -2407,6 +2407,39 @@ interface IThumbnailExtractor : IUnknown
[in] IStorage *pStg);
}
typedef enum tagGLOBALOPT_PROPERTIES
{
COMGLB_EXCEPTION_HANDLING = 1,
COMGLB_APPID = 2,
COMGLB_RPC_THREADPOOL_SETTING = 3
} GLOBALOPT_PROPERTIES;
typedef enum tagGLOBALOPT_EH_VALUES
{
COMGLB_EXCEPTION_HANDLE = 0,
COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1,
COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2
} GLOBALOPT_EH_VALUES;
typedef enum tagGLOBALOPT_RPCTP_VALUES
{
COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
} GLOBALOPT_RPCTP_VALUES;
[
object,
local,
pointer_default(unique),
uuid(0000015B-0000-0000-C000-000000000046)
]
interface IGlobalOptions : IUnknown
{
HRESULT Set([in] GLOBALOPT_PROPERTIES property, [in] ULONG_PTR value);
HRESULT Query([in] GLOBALOPT_PROPERTIES property, [out ] ULONG_PTR *value);
}
cpp_quote("#ifdef USE_COM_CONTEXT_DEF")
+72
View File
@@ -22,18 +22,90 @@
#define _PDH_MSG_H_
#define PDH_CSTATUS_VALID_DATA 0x00000000
#define PDH_CSTATUS_NEW_DATA 0x00000001
#define PDH_CSTATUS_NO_MACHINE 0x800007d0
#define PDH_CSTATUS_NO_INSTANCE 0x800007d1
#define PDH_MORE_DATA 0x800007d2
#define PDH_CSTATUS_ITEM_NOT_VALIDATED 0x800007d3
#define PDH_RETRY 0x800007d4
#define PDH_NO_DATA 0x800007d5
#define PDH_CALC_NEGATIVE_DENOMINATOR 0x800007d6
#define PDH_CALC_NEGATIVE_TIMEBASE 0x800007d7
#define PDH_CALC_NEGATIVE_VALUE 0x800007d8
#define PDH_DIALOG_CANCELLED 0x800007d9
#define PDH_END_OF_LOG_FILE 0x800007da
#define PDH_ASYNC_QUERY_TIMEOUT 0x800007db
#define PDH_CANNOT_SET_DEFAULT_REALTIME_DATASOURCE 0x800007dc
#define PDH_UNABLE_MAP_NAME_FILES 0x80000bd5
#define PDH_PLA_VALIDATION_WARNING 0x80000bf3
#define PDH_CSTATUS_NO_OBJECT 0xc0000bb8
#define PDH_CSTATUS_NO_COUNTER 0xc0000bb9
#define PDH_CSTATUS_INVALID_DATA 0xc0000bba
#define PDH_MEMORY_ALLOCATION_FAILURE 0xc0000bbb
#define PDH_INVALID_HANDLE 0xc0000bbc
#define PDH_INVALID_ARGUMENT 0xc0000bbd
#define PDH_FUNCTION_NOT_FOUND 0xc0000bbe
#define PDH_CSTATUS_NO_COUNTERNAME 0xc0000bbf
#define PDH_CSTATUS_BAD_COUNTERNAME 0xc0000bc0
#define PDH_INVALID_BUFFER 0xc0000bc1
#define PDH_INSUFFICIENT_BUFFER 0xc0000bc2
#define PDH_CANNOT_CONNECT_MACHINE 0xc0000bc3
#define PDH_INVALID_PATH 0xc0000bc4
#define PDH_INVALID_INSTANCE 0xc0000bc5
#define PDH_INVALID_DATA 0xc0000bc6
#define PDH_NO_DIALOG_DATA 0xc0000bc7
#define PDH_CANNOT_READ_NAME_STRINGS 0xc0000bc8
#define PDH_LOG_FILE_CREATE_ERROR 0xc0000bc9
#define PDH_LOG_FILE_OPEN_ERROR 0xc0000bca
#define PDH_LOG_TYPE_NOT_FOUND 0xc0000bcb
#define PDH_NO_MORE_DATA 0xc0000bcc
#define PDH_ENTRY_NOT_IN_LOG_FILE 0xc0000bcd
#define PDH_DATA_SOURCE_IS_LOG_FILE 0xc0000bce
#define PDH_DATA_SOURCE_IS_REAL_TIME 0xc0000bcf
#define PDH_UNABLE_READ_LOG_HEADER 0xc0000bd0
#define PDH_FILE_NOT_FOUND 0xc0000bd1
#define PDH_FILE_ALREADY_EXISTS 0xc0000bd2
#define PDH_NOT_IMPLEMENTED 0xc0000bd3
#define PDH_STRING_NOT_FOUND 0xc0000bd4
#define PDH_UNKNOWN_LOG_FORMAT 0xc0000bd6
#define PDH_UNKNOWN_LOGSVC_COMMAND 0xc0000bd7
#define PDH_LOGSVC_QUERY_NOT_FOUND 0xc0000bd8
#define PDH_LOGSVC_NOT_OPENED 0xc0000bd9
#define PDH_WBEM_ERROR 0xc0000bda
#define PDH_ACCESS_DENIED 0xc0000bdb
#define PDH_LOG_FILE_TOO_SMALL 0xc0000bdc
#define PDH_INVALID_DATASOURCE 0xc0000bdd
#define PDH_INVALID_SQLDB 0xc0000bde
#define PDH_NO_COUNTERS 0xc0000bdf
#define PDH_SQL_ALLOC_FAILED 0xc0000be0
#define PDH_SQL_ALLOCCON_FAILED 0xc0000be1
#define PDH_SQL_EXEC_DIRECT_FAILED 0xc0000be2
#define PDH_SQL_FETCH_FAILED 0xc0000be3
#define PDH_SQL_ROWCOUNT_FAILED 0xc0000be4
#define PDH_SQL_MORE_RESULTS_FAILED 0xc0000be5
#define PDH_SQL_CONNECT_FAILED 0xc0000be6
#define PDH_SQL_BIND_FAILED 0xc0000be7
#define PDH_CANNOT_CONNECT_WMI_SERVER 0xc0000be8
#define PDH_PLA_COLLECTION_ALREADY_RUNNING 0xc0000be9
#define PDH_PLA_ERROR_SCHEDULE_OVERLAP 0xc0000bea
#define PDH_PLA_COLLECTION_NOT_FOUND 0xc0000beb
#define PDH_PLA_ERROR_SCHEDULE_ELAPSED 0xc0000bec
#define PDH_PLA_ERROR_NOSTART 0xc0000bed
#define PDH_PLA_ERROR_ALREADY_EXISTS 0xc0000bee
#define PDH_PLA_ERROR_TYPE_MISMATCH 0xc0000bef
#define PDH_PLA_ERROR_FILEPATH 0xc0000bf0
#define PDH_PLA_SERVICE_ERROR 0xc0000bf1
#define PDH_PLA_VALIDATION_ERROR 0xc0000bf2
#define PDH_PLA_ERROR_NAME_TOO_LONG 0xc0000bf4
#define PDH_INVALID_SQL_LOG_FORMAT 0xc0000bf5
#define PDH_COUNTER_ALREADY_IN_QUERY 0xc0000bf6
#define PDH_BINARY_LOG_CORRUPT 0xc0000bf7
#define PDH_LOG_SAMPLE_TOO_SMALL 0xc0000bf8
#define PDH_OS_LATER_VERSION 0xc0000bf9
#define PDH_OS_EARLIER_VERSION 0xc0000bfa
#define PDH_INCORRECT_APPEND_TIME 0xc0000bfb
#define PDH_UNMATCHED_APPEND_COUNTER 0xc0000bfc
#define PDH_SQL_ALTER_DETAIL_FAILED 0xc0000bfd
#define PDH_QUERY_PERF_DATA_TIMEOUT 0xc0000bfe
#endif /* _PDH_MSG_H_ */
+23
View File
@@ -0,0 +1,23 @@
#pragma once
#ifndef _PROVIDER_EXCEPT_H
#define _PROVIDER_EXCEPT_H
class CHeap_Exception
{
public:
enum HEAP_ERROR
{
E_ALLOCATION_ERROR = 0 ,
E_FREE_ERROR
};
CHeap_Exception(HEAP_ERROR e) : m_Error(e) {}
~CHeap_Exception() {}
HEAP_ERROR GetError() { return m_Error ; }
private:
HEAP_ERROR m_Error;
};
#endif
+1
View File
@@ -1733,3 +1733,4 @@ __PRIMOP(int, _In_function_class_(__In_impl_ char*);)
#endif // ] _USE_ATTRIBUTES_FOR_SAL
#define __callback __inner_callback
+8 -2
View File
@@ -27,6 +27,10 @@ extern "C" {
#define SCHANNEL_SESSION 3
#define SP_PROT_TLS1_CLIENT 128
#define SP_PROT_TLS1_1_CLIENT 512
#define SP_PROT_TLS1_0_CLIENT SP_PROT_TLS1_CLIENT
#define SP_PROT_TLS1_2_CLIENT 2048
#define SP_PROT_TLS1_SERVER 64
#define SP_PROT_SSL3_CLIENT 32
#define SP_PROT_SSL3_SERVER 16
@@ -40,6 +44,8 @@ extern "C" {
#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER)
#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER)
#define SP_PROT_TLS1_1PLUS_CLIENT (SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT)
#define SCH_CRED_NO_SYSTEM_MAPPER 2
#define SCH_CRED_NO_SERVERNAME_CHECK 4
#define SCH_CRED_MANUAL_CRED_VALIDATION 8
@@ -85,9 +91,9 @@ typedef struct _SCHANNEL_CRED
DWORD grbitEnabledProtocols;
DWORD dwMinimumCipherStrength;
DWORD dwMaximumCipherStrength;
DWORD dwSessionLength;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD reserved;
DWORD dwCredFormat;
} SCHANNEL_CRED, *PSCHANNEL_CRED;
typedef struct _SecPkgCred_SupportedAlgs
+36 -2
View File
@@ -334,6 +334,7 @@ extern "C" {
#define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
#define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
#define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
#define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
@@ -677,14 +678,47 @@ typedef struct _SP_INF_INFORMATION {
DWORD InfCount;
BYTE VersionData[ANYSIZE_ARRAY];
} SP_INF_INFORMATION, *PSP_INF_INFORMATION;
typedef struct _SP_ALTPLATFORM_INFO {
typedef struct _SP_INF_SIGNER_INFO_A {
DWORD cbSize;
CHAR CatalogFile;
CHAR DigitalSigner;
CHAR DigitalSignerVersion;
} SP_INF_SIGNER_INFO_A, *PSP_INF_SIGNER_INFO_A;
typedef struct _SP_INF_SIGNER_INFO_W {
DWORD cbSize;
WCHAR CatalogFile;
WCHAR DigitalSigner;
WCHAR DigitalSignerVersion;
} SP_INF_SIGNER_INFO_W, *PSP_INF_SIGNER_INFO_W;
typedef struct _SP_ALTPLATFORM_INFO_V1 {
DWORD cbSize;
DWORD Platform;
DWORD MajorVersion;
DWORD MinorVersion;
WORD ProcessorArchitecture;
WORD Reserved;
} SP_ALTPLATFORM_INFO, *PSP_ALTPLATFORM_INFO;
} SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1;
typedef struct _SP_ALTPLATFORM_INFO_V2 {
DWORD cbSize;
DWORD Platform;
DWORD MajorVersion;
DWORD MinorVersion;
WORD ProcessorArchitecture;
union
{
WORD Reserved;
WORD Flags;
} DUMMYUNIONNAME;
DWORD FirstValidatedMajorVersion;
DWORD FirstValidatedMinorVersion;
} SP_ALTPLATFORM_INFO_V2, *PSP_ALTPLATFORM_INFO_V2;
#if _WIN32_WINNT <= 0x0500
typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO;
typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO;
#else
typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO;
typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO;
#endif
typedef struct _SP_ORIGINAL_FILE_INFO_A {
DWORD cbSize;
CHAR OriginalInfName[MAX_PATH];
+1
View File
@@ -214,6 +214,7 @@ DEFINE_GUID(FOLDERTYPEID_Videos, 0x5fa96407, 0x7e77, 0x483c, 0xac
DEFINE_GUID(CLSID_NewMenu, 0xd969A300, 0xe7FF, 0x11D0, 0xA9, 0x3B, 0x0, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
DEFINE_GUID(IID_IShellFolderViewCB, 0x2047E320, 0xF2A9, 0x11CE, 0xAE, 0x65, 0x8, 0x00, 0x2B, 0x2E, 0x12, 0x62);
DEFINE_GUID(CLSID_InternetButtons, 0x1E796980, 0x9CC5, 0x11D1, 0xA8, 0x3F, 0x0, 0xC0, 0x4F, 0xC9, 0x9D, 0x61);
DEFINE_GUID(CLSID_MenuDeskBar, 0xECD4FC4F, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
DEFINE_GUID(SID_SMenuBandChild, 0xed9cc020, 0x08b9, 0x11d1, 0x98, 0x23, 0x0, 0xc0, 0x4f, 0xd9, 0x19, 0x72);
DEFINE_GUID(SID_SMenuBandParent, 0x8c278eec, 0x3eab, 0x11d1, 0x8c, 0xb0, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
+3
View File
@@ -2038,6 +2038,9 @@ QISearch(
_In_ REFIID riid,
_Outptr_ void **ppv);
#define OFFSETOFCLASS(base, derived) \
((DWORD)(DWORD_PTR)(static_cast<base*>((derived*)8))-8)
#include <poppack.h>
#ifdef __cplusplus
+253 -95
View File
@@ -126,11 +126,10 @@ typedef struct _SecPkgInfoW
#define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH 0x00400000
#define SECPKG_FLAG_APPCONTAINER_CHECKS 0x00800000
typedef struct _SecBuffer
{
ULONG cbBuffer;
ULONG BufferType;
void *pvBuffer;
typedef struct _SecBuffer {
ULONG cbBuffer;
ULONG BufferType;
_Field_size_bytes_(cbBuffer) void *pvBuffer;
} SecBuffer, *PSecBuffer;
/* values for BufferType */
@@ -155,11 +154,10 @@ typedef struct _SecBuffer
#define SECBUFFER_READONLY_WITH_CHECKSUM 0x10000000
#define SECBUFFER_RESERVED 0x60000000
typedef struct _SecBufferDesc
{
ULONG ulVersion;
ULONG cBuffers;
PSecBuffer pBuffers;
typedef struct _SecBufferDesc {
ULONG ulVersion;
ULONG cBuffers;
_Field_size_(cBuffers) PSecBuffer pBuffers;
} SecBufferDesc, *PSecBufferDesc;
/* values for ulVersion */
@@ -168,10 +166,18 @@ typedef struct _SecBufferDesc
typedef void (SEC_ENTRY *SEC_GET_KEY_FN)(void *Arg, void *Principal,
ULONG KeyVer, void **Key, SECURITY_STATUS *Status);
SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA(PULONG pcPackages,
PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW(PULONG pcPackages,
PSecPkgInfoW *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
EnumerateSecurityPackagesA(
_Out_ PULONG pcPackages,
_Outptr_ PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
EnumerateSecurityPackagesW(
_Out_ PULONG pcPackages,
_Outptr_ PSecPkgInfoW *ppPackageInfo);
#define EnumerateSecurityPackages WINELIB_NAME_AW(EnumerateSecurityPackages)
typedef SECURITY_STATUS (SEC_ENTRY *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,
@@ -180,10 +186,20 @@ typedef SECURITY_STATUS (SEC_ENTRY *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,
PSecPkgInfoW *);
#define ENUMERATE_SECURITY_PACKAGES_FN WINELIB_NAME_AW(ENUMERATE_SECURITY_PACKAGES_FN_)
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA(
PCredHandle phCredential, ULONG ulAttribute, void *pBuffer);
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW(
PCredHandle phCredential, ULONG ulAttribute, void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryCredentialsAttributesA(
_In_ PCredHandle phCredential,
_In_ ULONG ulAttribute,
_Inout_ void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryCredentialsAttributesW(
_In_ PCredHandle phCredential,
_In_ ULONG ulAttribute,
_Inout_ void *pBuffer);
#define QueryCredentialsAttributes WINELIB_NAME_AW(QueryCredentialsAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)
@@ -208,14 +224,32 @@ typedef struct _SecPkgCredentials_NamesW
#define SecPkgCredentials_Names WINELIB_NAME_AW(SecPkgCredentials_Names)
SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleA(
SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialsUse,
PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn,
PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry);
SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleW(
SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialsUse,
PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn,
PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AcquireCredentialsHandleA(
_In_opt_ SEC_CHAR *pszPrincipal,
_In_ SEC_CHAR *pszPackage,
_In_ ULONG fCredentialsUse,
_In_opt_ PLUID pvLogonID,
_In_opt_ PVOID pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ PVOID pvGetKeyArgument,
_Out_ PCredHandle phCredential,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AcquireCredentialsHandleW(
_In_opt_ SEC_WCHAR *pszPrincipal,
_In_ SEC_WCHAR *pszPackage,
_In_ ULONG fCredentialsUse,
_In_opt_ PLUID pvLogonID,
_In_opt_ PVOID pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ PVOID pvGetKeyArgument,
_Out_ PCredHandle phCredential,
_Out_opt_ PTimeStamp ptsExpiry);
#define AcquireCredentialsHandle WINELIB_NAME_AW(AcquireCredentialsHandle)
/* flags for fCredentialsUse */
@@ -233,29 +267,51 @@ typedef SECURITY_STATUS (SEC_ENTRY *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(
PCredHandle, PTimeStamp);
#define ACQUIRE_CREDENTIALS_HANDLE_FN WINELIB_NAME_AW(ACQUIRE_CREDENTIALS_HANDLE_FN_)
SECURITY_STATUS SEC_ENTRY FreeContextBuffer(PVOID pv);
SECURITY_STATUS SEC_ENTRY FreeContextBuffer(_Inout_ PVOID pv);
typedef SECURITY_STATUS (SEC_ENTRY *FREE_CONTEXT_BUFFER_FN)(PVOID);
typedef SECURITY_STATUS (SEC_ENTRY *FREE_CONTEXT_BUFFER_FN)(_Inout_ PVOID);
SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle(PCredHandle
phCredential);
SECURITY_STATUS
SEC_ENTRY
FreeCredentialsHandle(
_In_ PCredHandle phCredential);
#define FreeCredentialHandle FreeCredentialsHandle
typedef SECURITY_STATUS (SEC_ENTRY *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);
SECURITY_STATUS SEC_ENTRY InitializeSecurityContextA(
PCredHandle phCredential, PCtxtHandle phContext,
SEC_CHAR *pszTargetName, ULONG fContextReq,
ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput,
ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput,
ULONG *pfContextAttr, PTimeStamp ptsExpiry);
SECURITY_STATUS SEC_ENTRY InitializeSecurityContextW(
PCredHandle phCredential, PCtxtHandle phContext,
SEC_WCHAR *pszTargetName, ULONG fContextReq,
ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput,
ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput,
ULONG *pfContextAttr, PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
InitializeSecurityContextA(
_In_opt_ PCredHandle phCredential,
_In_opt_ PCtxtHandle phContext,
_In_opt_ SEC_CHAR *pszTargetName,
_In_ ULONG fContextReq,
_In_ ULONG Reserved1,
_In_ ULONG TargetDataRep,
_In_opt_ PSecBufferDesc pInput,
_In_ ULONG Reserved2,
_Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
InitializeSecurityContextW(
_In_opt_ PCredHandle phCredential,
_In_opt_ PCtxtHandle phContext,
_In_opt_ SEC_WCHAR *pszTargetName,
_In_ ULONG fContextReq,
_In_ ULONG Reserved1,
_In_ ULONG TargetDataRep,
_In_opt_ PSecBufferDesc pInput,
_In_ ULONG Reserved2,
_Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
#define InitializeSecurityContext WINELIB_NAME_AW(InitializeSecurityContext)
typedef SECURITY_STATUS (SEC_ENTRY *INITIALIZE_SECURITY_CONTEXT_FN_A)
@@ -315,11 +371,18 @@ typedef SECURITY_STATUS (SEC_ENTRY *INITIALIZE_SECURITY_CONTEXT_FN_W)
#define ISC_RET_RESERVED1 0x00100000
#define ISC_RET_FRAGMENT_ONLY 0x00200000
SECURITY_STATUS SEC_ENTRY AcceptSecurityContext(
PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput,
ULONG fContextReq, ULONG TargetDataRep,
PCtxtHandle phNewContext, PSecBufferDesc pOutput,
ULONG *pfContextAttr, PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AcceptSecurityContext(
_In_opt_ PCredHandle phCredential,
_In_opt_ PCtxtHandle phContext,
_In_opt_ PSecBufferDesc pInput,
_In_ ULONG fContextReq,
_In_ ULONG TargetDataRep,
_Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
typedef SECURITY_STATUS (SEC_ENTRY *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,
PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle,
@@ -376,27 +439,42 @@ typedef SECURITY_STATUS (SEC_ENTRY *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,
#define SECURITY_NATIVE_DREP 0x00000010
#define SECURITY_NETWORK_DREP 0x00000000
SECURITY_STATUS SEC_ENTRY CompleteAuthToken(PCtxtHandle phContext,
PSecBufferDesc pToken);
SECURITY_STATUS
SEC_ENTRY
CompleteAuthToken(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pToken);
typedef SECURITY_STATUS (SEC_ENTRY *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,
PSecBufferDesc);
SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(PCtxtHandle phContext);
SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);
SECURITY_STATUS SEC_ENTRY ApplyControlToken(PCtxtHandle phContext,
PSecBufferDesc pInput);
SECURITY_STATUS
SEC_ENTRY
ApplyControlToken(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pInput);
typedef SECURITY_STATUS (SEC_ENTRY *APPLY_CONTROL_TOKEN_FN)(PCtxtHandle,
PSecBufferDesc);
SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(PCtxtHandle phContext,
ULONG ulAttribute, void *pBuffer);
SECURITY_STATUS SEC_ENTRY QueryContextAttributesW(PCtxtHandle phContext,
ULONG ulAttribute, void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryContextAttributesA(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryContextAttributesW(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ void *pBuffer);
#define QueryContextAttributes WINELIB_NAME_AW(QueryContextAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,
@@ -528,10 +606,9 @@ typedef struct _SecPkgContext_PasswordExpiry
TimeStamp tsPasswordExpires;
} SecPkgContext_PasswordExpiry, *PSecPkgContext_PasswordExpiry;
typedef struct _SecPkgContext_SessionKey
{
ULONG SessionKeyLength;
unsigned char *SessionKey;
typedef struct _SecPkgContext_SessionKey {
ULONG SessionKeyLength;
_Field_size_bytes_(SessionKeyLength) unsigned char *SessionKey;
} SecPkgContext_SessionKey, *PSecPkgContext_SessionKey;
typedef struct _SecPkgContext_PackageInfoA
@@ -632,31 +709,53 @@ typedef struct _SecPkgContext_Target
char *Target;
} SecPkgContext_Target, *PSecPkgContext_Target;
SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext(PCtxtHandle phContext);
_Check_return_
SECURITY_STATUS
SEC_ENTRY
ImpersonateSecurityContext(
_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *IMPERSONATE_SECURITY_CONTEXT_FN)
(PCtxtHandle);
SECURITY_STATUS SEC_ENTRY RevertSecurityContext(PCtxtHandle phContext);
SECURITY_STATUS SEC_ENTRY RevertSecurityContext(_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);
SECURITY_STATUS SEC_ENTRY MakeSignature(PCtxtHandle phContext,
ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo);
SECURITY_STATUS
SEC_ENTRY
MakeSignature(
_In_ PCtxtHandle phContext,
_In_ ULONG fQOP,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo);
typedef SECURITY_STATUS (SEC_ENTRY *MAKE_SIGNATURE_FN)(PCtxtHandle,
ULONG, PSecBufferDesc, ULONG);
SECURITY_STATUS SEC_ENTRY VerifySignature(PCtxtHandle phContext,
PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP);
SECURITY_STATUS
SEC_ENTRY
VerifySignature(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo,
_Out_ PULONG pfQOP);
typedef SECURITY_STATUS (SEC_ENTRY *VERIFY_SIGNATURE_FN)(PCtxtHandle,
PSecBufferDesc, ULONG, PULONG);
SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoA(
SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoW(
SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
QuerySecurityPackageInfoA(
_In_ SEC_CHAR *pszPackageName,
_Outptr_ PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
QuerySecurityPackageInfoW(
_In_ SEC_WCHAR *pszPackageName,
_Outptr_ PSecPkgInfoW *ppPackageInfo);
#define QuerySecurityPackageInfo WINELIB_NAME_AW(QuerySecurityPackageInfo)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_PACKAGE_INFO_FN_A)
@@ -665,8 +764,13 @@ typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_PACKAGE_INFO_FN_W)
(SEC_WCHAR *, PSecPkgInfoW *);
#define QUERY_SECURITY_PACKAGE_INFO_FN WINELIB_NAME_AW(QUERY_SECURITY_PACKAGE_INFO_FN_)
SECURITY_STATUS SEC_ENTRY ExportSecurityContext(PCtxtHandle phContext,
ULONG fFlags, PSecBuffer pPackedContext, void **pToken);
SECURITY_STATUS
SEC_ENTRY
ExportSecurityContext(
_In_ PCtxtHandle phContext,
_In_ ULONG fFlags,
_Out_ PSecBuffer pPackedContext,
_Out_ void **pToken);
typedef SECURITY_STATUS (SEC_ENTRY *EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle,
ULONG, PSecBuffer, void **);
@@ -675,10 +779,22 @@ typedef SECURITY_STATUS (SEC_ENTRY *EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle,
#define SECPKG_CONTEXT_EXPORT_RESET_NEW 0x00000001
#define SECPKG_CONTEXT_EXPORT_DELETE_OLD 0x00000002
SECURITY_STATUS SEC_ENTRY ImportSecurityContextA(SEC_CHAR *pszPackage,
PSecBuffer pPackedContext, void *Token, PCtxtHandle phContext);
SECURITY_STATUS SEC_ENTRY ImportSecurityContextW(SEC_WCHAR *pszPackage,
PSecBuffer pPackedContext, void *Token, PCtxtHandle phContext);
SECURITY_STATUS
SEC_ENTRY
ImportSecurityContextA(
_In_ SEC_CHAR *pszPackage,
_In_ PSecBuffer pPackedContext,
_In_ void *Token,
_Out_ PCtxtHandle phContext);
SECURITY_STATUS
SEC_ENTRY
ImportSecurityContextW(
_In_ SEC_WCHAR *pszPackage,
_In_ PSecBuffer pPackedContext,
_In_ void *Token,
_Out_ PCtxtHandle phContext);
#define ImportSecurityContext WINELIB_NAME_AW(ImportSecurityContext)
typedef SECURITY_STATUS (SEC_ENTRY *IMPORT_SECURITY_CONTEXT_FN_A)(SEC_CHAR *,
@@ -687,14 +803,30 @@ typedef SECURITY_STATUS (SEC_ENTRY *IMPORT_SECURITY_CONTEXT_FN_W)(SEC_WCHAR *,
PSecBuffer, void *, PCtxtHandle);
#define IMPORT_SECURITY_CONTEXT_FN WINELIB_NAME_AW(IMPORT_SECURITY_CONTEXT_FN_)
SECURITY_STATUS SEC_ENTRY AddCredentialsA(PCredHandle hCredentials,
SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse,
void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument,
PTimeStamp ptsExpiry);
SECURITY_STATUS SEC_ENTRY AddCredentialsW(PCredHandle hCredentials,
SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse,
void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument,
PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AddCredentialsA(
_In_ PCredHandle hCredentials,
_In_opt_ SEC_CHAR *pszPrincipal,
_In_ SEC_CHAR *pszPackage,
_In_ ULONG fCredentialUse,
_In_opt_ void *pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ void *pvGetKeyArgument,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AddCredentialsW(
_In_ PCredHandle hCredentials,
_In_opt_ SEC_WCHAR *pszPrincipal,
_In_ SEC_WCHAR *pszPackage,
_In_ ULONG fCredentialUse,
_In_opt_ void *pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ void *pvGetKeyArgument,
_Out_opt_ PTimeStamp ptsExpiry);
#define AddCredentials WINELIB_NAME_AW(AddCredentials)
typedef SECURITY_STATUS (SEC_ENTRY *ADD_CREDENTIALS_FN_A)(PCredHandle,
@@ -704,16 +836,30 @@ typedef SECURITY_STATUS (SEC_ENTRY *ADD_CREDENTIALS_FN_W)(PCredHandle,
SEC_WCHAR *, SEC_WCHAR *, ULONG, void *, SEC_GET_KEY_FN, void *,
PTimeStamp);
SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken(PCtxtHandle phContext,
HANDLE *phToken);
SECURITY_STATUS
SEC_ENTRY
QuerySecurityContextToken(
_In_ PCtxtHandle phContext,
_Out_ HANDLE *phToken);
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_CONTEXT_TOKEN_FN)
(PCtxtHandle, HANDLE *);
SECURITY_STATUS SEC_ENTRY EncryptMessage(PCtxtHandle phContext, ULONG fQOP,
PSecBufferDesc pMessage, ULONG MessageSeqNo);
SECURITY_STATUS SEC_ENTRY DecryptMessage(PCtxtHandle phContext,
PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP);
SECURITY_STATUS
SEC_ENTRY
EncryptMessage(
_In_ PCtxtHandle phContext,
_In_ ULONG fQOP,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo);
SECURITY_STATUS
SEC_ENTRY
DecryptMessage(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo,
_Out_opt_ PULONG pfQOP);
/* values for EncryptMessage fQOP */
#define SECQOP_WRAP_NO_ENCRYPT 0x80000001
@@ -723,10 +869,22 @@ typedef SECURITY_STATUS (SEC_ENTRY *ENCRYPT_MESSAGE_FN)(PCtxtHandle, ULONG,
typedef SECURITY_STATUS (SEC_ENTRY *DECRYPT_MESSAGE_FN)(PCtxtHandle,
PSecBufferDesc, ULONG, PULONG);
SECURITY_STATUS SEC_ENTRY SetContextAttributesA(PCtxtHandle phContext,
ULONG ulAttribute, void *pBuffer, ULONG cbBuffer);
SECURITY_STATUS SEC_ENTRY SetContextAttributesW(PCtxtHandle phContext,
ULONG ulAttribute, void *pBuffer, ULONG cbBuffer);
SECURITY_STATUS
SEC_ENTRY
SetContextAttributesA(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_In_reads_bytes_(cbBuffer) void *pBuffer,
_In_ ULONG cbBuffer);
SECURITY_STATUS
SEC_ENTRY
SetContextAttributesW(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_In_reads_bytes_(cbBuffer) void *pBuffer,
_In_ ULONG cbBuffer);
#define SetContextAttributes WINELIB_NAME_AW(SetContextAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *SET_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,
+30
View File
@@ -749,6 +749,15 @@ typedef struct linetranslateoutput_tag {
DWORD dwTranslateResults;
} LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
typedef struct linemessage_tag {
DWORD hDevice;
DWORD dwMessageID;
DWORD_PTR dwCallbackInstance;
DWORD_PTR dwParam1;
DWORD_PTR dwParam2;
DWORD_PTR dwParam3;
} LINEMESSAGE, *LPLINEMESSAGE;
typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
typedef struct _PHONEAPP {
@@ -819,6 +828,27 @@ typedef struct phoneextensionid_tag {
DWORD dwExtensionID3;
} PHONEEXTENSIONID, *LPPHONEEXTENSIONID;
typedef struct phoneinitializeexparams_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwOptions;
union {
HANDLE hEvent;
HANDLE hCompletionPort;
} Handles;
DWORD dwCompletionKey;
} PHONEINITIALIZEEXPARAMS, *LPPHONEINITIALIZEEXPARAMS;
typedef struct phonemessage_tag {
DWORD hDevice;
DWORD dwMessageID;
DWORD_PTR dwCallbackInstance;
DWORD_PTR dwParam1;
DWORD_PTR dwParam2;
DWORD_PTR dwParam3;
} PHONEMESSAGE, *LPPHONEMESSAGE;
typedef struct phonestatus_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
+304 -59
View File
@@ -230,65 +230,310 @@ typedef struct tagTEXTRANGE_PROPERTIES
/* Function Declarations */
HRESULT WINAPI ScriptApplyDigitSubstitution(const SCRIPT_DIGITSUBSTITUTE* psds,
SCRIPT_CONTROL* psc, SCRIPT_STATE* pss);
HRESULT WINAPI ScriptApplyLogicalWidth(const int *piDx, int cChars, int cGlyphs, const WORD *pwLogClust,
const SCRIPT_VISATTR *psva, const int *piAdvance,
const SCRIPT_ANALYSIS *psa, ABC *pABC, int *piJustify);
HRESULT WINAPI ScriptRecordDigitSubstitution(LCID Locale, SCRIPT_DIGITSUBSTITUTE *psds);
HRESULT WINAPI ScriptItemize(const WCHAR *pwcInChars, int cInChars, int cMaxItems,
const SCRIPT_CONTROL *psControl, const SCRIPT_STATE *psState,
SCRIPT_ITEM *pItems, int *pcItems);
HRESULT WINAPI ScriptGetCMap(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcInChars, int cChars,
DWORD dwFlags, WORD *pwOutGlyphs);
HRESULT WINAPI ScriptGetFontProperties(HDC hdc, SCRIPT_CACHE *psc, SCRIPT_FONTPROPERTIES *sfp);
HRESULT WINAPI ScriptGetGlyphABCWidth(HDC hdc, SCRIPT_CACHE *psc, WORD wGlyph, ABC *pABC);
HRESULT WINAPI ScriptGetLogicalWidths(const SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
const int *piGlyphWidth, const WORD *pwLogClust,
const SCRIPT_VISATTR *psva, int *piDx);
HRESULT WINAPI ScriptGetProperties(const SCRIPT_PROPERTIES ***ppSp, int *piNumScripts);
HRESULT WINAPI ScriptStringAnalyse(HDC hdc,
const void *pString,
int cString,
int cGlyphs,
int iCharset,
DWORD dwFlags,
int iReqWidth,
SCRIPT_CONTROL *psControl,
SCRIPT_STATE *psState,
const int *piDx,
SCRIPT_TABDEF *pTabdef,
const BYTE *pbInClass,
SCRIPT_STRING_ANALYSIS *pssa);
HRESULT WINAPI ScriptStringValidate(SCRIPT_STRING_ANALYSIS ssa);
HRESULT WINAPI ScriptStringFree(SCRIPT_STRING_ANALYSIS *pssa);
HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc);
HRESULT WINAPI ScriptIsComplex(const WCHAR* pwcInChars, int cInChars, DWORD dwFlags);
HRESULT WINAPI ScriptJustify(const SCRIPT_VISATTR *psva, const int *piAdvance, int cGlyphs,
int iDx, int iMinKashida, int *piJustify);
HRESULT WINAPI ScriptLayout(int cRuns, const BYTE *pbLevel, int *piVisualToLogical, int *piLogicalToVisual);
HRESULT WINAPI ScriptShape(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcChars, int cChars, int cMaxGlyphs,
SCRIPT_ANALYSIS *psa, WORD *pwOutGlyphs, WORD *pwLogClust, SCRIPT_VISATTR *psva, int *pcGlyphs);
HRESULT WINAPI ScriptPlace(HDC hdc, SCRIPT_CACHE *psc, const WORD *pwGlyphs, int cGlyphs, const SCRIPT_VISATTR *psva,
SCRIPT_ANALYSIS *psa, int *piAdvance, GOFFSET *pGoffset, ABC *pABC );
HRESULT WINAPI ScriptBreak(const WCHAR *pwcChars, int cChars, const SCRIPT_ANALYSIS *psa, SCRIPT_LOGATTR *psla);
HRESULT WINAPI ScriptCacheGetHeight(HDC hdc, SCRIPT_CACHE *psc, LONG *tmHeight);
HRESULT WINAPI ScriptCPtoX(int iCP, BOOL fTrailing, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva,
const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piX);
HRESULT WINAPI ScriptXtoCP(int iX, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva,
const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piCP, int *piTrailing);
HRESULT WINAPI ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS ssa, int icp, BOOL fTrailing, int *pX);
HRESULT WINAPI ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS ssa, int iX, int *piCh , int *piTrailing);
HRESULT WINAPI ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS ssa, int *piDx);
HRESULT WINAPI ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS ssa, UINT *puOrder);
HRESULT WINAPI ScriptStringOut(SCRIPT_STRING_ANALYSIS ssa, int iX, int iY, UINT uOptions, const RECT *prc,
int iMinSel, int iMaxSel, BOOL fDisabled);
HRESULT WINAPI ScriptTextOut(const HDC hdc, SCRIPT_CACHE *psc, int x, int y, UINT fuOptions, const RECT *lprc,
const SCRIPT_ANALYSIS *psa, const WCHAR *pwcReserved, int iReserved, const WORD *pwGlyphs,
int cGlyphs, const int *piAdvance, const int *piJustify, const GOFFSET *pGoffset);
const int* WINAPI ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS ssa);
const SCRIPT_LOGATTR* WINAPI ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS ssa);
const SIZE* WINAPI ScriptString_pSize(SCRIPT_STRING_ANALYSIS ssa);
_Check_return_
HRESULT
WINAPI
ScriptApplyDigitSubstitution(
_In_reads_(1) const SCRIPT_DIGITSUBSTITUTE* psds,
_Out_writes_(1) SCRIPT_CONTROL* psc,
_Out_writes_(1) SCRIPT_STATE* pss);
_Check_return_
HRESULT
WINAPI
ScriptApplyLogicalWidth(
_In_reads_(cChars) const int *piDx,
_In_ int cChars,
_In_ int cGlyphs,
_In_reads_(cChars) const WORD *pwLogClust,
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_In_reads_(cGlyphs) const int *piAdvance,
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_Inout_updates_opt_(1) ABC *pABC,
_Out_writes_all_(cGlyphs) int *piJustify);
_Check_return_
HRESULT
WINAPI
ScriptRecordDigitSubstitution(
_In_ LCID Locale,
_Out_writes_(1) SCRIPT_DIGITSUBSTITUTE *psds);
_Check_return_
HRESULT
WINAPI
ScriptItemize(
_In_reads_(cInChars) const WCHAR *pwcInChars,
_In_ int cInChars,
_In_ int cMaxItems,
_In_reads_opt_(1) const SCRIPT_CONTROL *psControl,
_In_reads_opt_(1) const SCRIPT_STATE *psState,
_Out_writes_to_(cMaxItems, *pcItems) SCRIPT_ITEM *pItems,
_Out_writes_(1) int *pcItems);
_Check_return_
HRESULT
WINAPI
ScriptGetCMap(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_In_reads_(cChars) const WCHAR *pwcInChars,
_In_ int cChars,
_In_ DWORD dwFlags,
_Out_writes_(cChars) WORD *pwOutGlyphs);
_Check_return_
HRESULT
WINAPI
ScriptGetFontProperties(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_Out_writes_(1) SCRIPT_FONTPROPERTIES *sfp);
_Check_return_
HRESULT
WINAPI
ScriptGetGlyphABCWidth(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_In_ WORD wGlyph,
_Out_writes_(1) ABC *pABC);
_Check_return_
HRESULT
WINAPI
ScriptGetLogicalWidths(
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_In_ int cChars,
_In_ int cGlyphs,
_In_reads_(cGlyphs) const int *piGlyphWidth,
_In_reads_(cChars) const WORD *pwLogClust,
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_In_reads_(cChars) int *piDx);
_Check_return_
HRESULT
WINAPI
ScriptGetProperties(
_Outptr_result_buffer_(*piNumScripts) const SCRIPT_PROPERTIES ***ppSp,
_Out_ int *piNumScripts);
_Check_return_
HRESULT
WINAPI
ScriptStringAnalyse(
_In_ HDC hdc,
_In_ const void *pString,
_In_ int cString,
_In_ int cGlyphs,
_In_ int iCharset,
_In_ DWORD dwFlags,
_In_ int iReqWidth,
_In_reads_opt_(1) SCRIPT_CONTROL *psControl,
_In_reads_opt_(1) SCRIPT_STATE *psState,
_In_reads_opt_(cString) const int *piDx,
_In_reads_opt_(1) SCRIPT_TABDEF *pTabdef,
_In_ const BYTE *pbInClass,
_Outptr_result_buffer_(1) SCRIPT_STRING_ANALYSIS *pssa);
_Check_return_
HRESULT
WINAPI
ScriptStringValidate(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa);
_Check_return_
HRESULT
WINAPI
ScriptStringFree(
_Inout_updates_(1) SCRIPT_STRING_ANALYSIS *pssa);
_Check_return_
HRESULT
WINAPI
ScriptFreeCache(
_Inout_updates_(1) _At_(*psc, _Post_null_) SCRIPT_CACHE *psc);
_Check_return_
HRESULT
WINAPI
ScriptIsComplex(
_In_reads_(cInChars) const WCHAR *pwcInChars,
_In_ int cInChars,
_In_ DWORD dwFlags);
_Check_return_
HRESULT
WINAPI
ScriptJustify(
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_In_reads_(cGlyphs) const int *piAdvance,
_In_ int cGlyphs,
_In_ int iDx,
_In_ int iMinKashida,
_Out_writes_all_(cGlyphs) int *piJustify);
_Check_return_
HRESULT
WINAPI
ScriptLayout(
int cRuns,
_In_reads_(cRuns) const BYTE *pbLevel,
_Out_writes_all_opt_(cRuns) int *piVisualToLogical,
_Out_writes_all_opt_(cRuns) int *piLogicalToVisual);
_Check_return_
HRESULT
WINAPI
ScriptShape(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_In_reads_(cChars) const WCHAR *pwcChars,
_In_ int cChars,
_In_ int cMaxGlyphs,
_Inout_updates_(1) SCRIPT_ANALYSIS *psa,
_Out_writes_to_(cMaxGlyphs, *pcGlyphs) WORD *pwOutGlyphs,
_Out_writes_all_(cChars) WORD *pwLogClust,
_Out_writes_to_(cMaxGlyphs, *pcGlyphs) SCRIPT_VISATTR *psva,
_Out_writes_(1) int *pcGlyphs);
_Check_return_
HRESULT
WINAPI
ScriptPlace(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_In_reads_(cGlyphs) const WORD *pwGlyphs,
_In_ int cGlyphs,
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_Inout_updates_(1) SCRIPT_ANALYSIS *psa,
_Out_writes_all_(cGlyphs) int *piAdvance,
_Out_writes_all_opt_(cGlyphs) GOFFSET *pGoffset,
_Out_writes_(1) ABC *pABC);
_Check_return_
HRESULT
WINAPI
ScriptBreak(
_In_reads_(cChars) const WCHAR *pwcChars,
_In_ int cChars,
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_Out_writes_all_(cChars) SCRIPT_LOGATTR *psla);
_Check_return_
HRESULT
WINAPI
ScriptCacheGetHeight(
_In_ HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_Out_writes_(1) LONG *tmHeight);
_Check_return_
HRESULT
WINAPI
ScriptCPtoX(
_In_ int iCP,
_In_ BOOL fTrailing,
_In_ int cChars,
_In_ int cGlyphs,
_In_reads_(cChars) const WORD *pwLogClust,
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_In_reads_(cGlyphs) const int *piAdvance,
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_Out_ int *piX);
_Check_return_
HRESULT
WINAPI
ScriptXtoCP(
_In_ int iX,
_In_ int cChars,
_In_ int cGlyphs,
_In_reads_(cChars) const WORD *pwLogClust,
_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
_In_reads_(cGlyphs) const int *piAdvance,
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_Out_writes_(1) int *piCP,
_Out_writes_(1) int *piTrailing);
_Check_return_
HRESULT
WINAPI
ScriptStringCPtoX(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa,
_In_ int icp,
_In_ BOOL fTrailing,
_Out_writes_(1) int *pX);
_Check_return_
HRESULT
WINAPI
ScriptStringXtoCP(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa,
_In_ int iX,
_Out_writes_(1) int *piCh,
_Out_writes_(1) int *piTrailing);
_Check_return_
HRESULT
WINAPI
ScriptStringGetLogicalWidths(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa,
_Out_ int *piDx);
_Check_return_
HRESULT
WINAPI
ScriptStringGetOrder(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa,
_Out_ UINT *puOrder);
_Check_return_
HRESULT
WINAPI
ScriptStringOut(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa,
_In_ int iX,
_In_ int iY,
_In_ UINT uOptions,
_In_reads_opt_(1) const RECT *prc,
_In_ int iMinSel,
_In_ int iMaxSel,
_In_ BOOL fDisabled);
_Check_return_
HRESULT
WINAPI
ScriptTextOut(
_In_ const HDC hdc,
_Inout_updates_(1) SCRIPT_CACHE *psc,
_In_ int x,
_In_ int y,
_In_ UINT fuOptions,
_In_reads_opt_(1) const RECT *lprc,
_In_reads_(1) const SCRIPT_ANALYSIS *psa,
_Reserved_ const WCHAR *pwcReserved,
_Reserved_ int iReserved,
_In_reads_(cGlyphs) const WORD *pwGlyphs,
_In_ int cGlyphs,
_In_reads_(cGlyphs) const int *piAdvance,
_In_reads_opt_(cGlyphs) const int *piJustify,
_In_reads_(cGlyphs) const GOFFSET *pGoffset);
const int*
WINAPI
ScriptString_pcOutChars(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa);
const SCRIPT_LOGATTR*
WINAPI
ScriptString_pLogAttr(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa);
const SIZE*
WINAPI
ScriptString_pSize(
_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa);
#ifdef __cplusplus
} /* extern "C" */
+25
View File
@@ -176,6 +176,13 @@ typedef [v1_enum] enum tag_WBEMSTATUS
WBEM_E_PROVIDER_DISABLED = 0x8004108a
} WBEMSTATUS;
typedef [v1_enum] enum tag_WBEM_STATUS_TYPE
{
WBEM_STATUS_COMPLETE = 0,
WBEM_STATUS_REQUIREMENTS = 1,
WBEM_STATUS_PROGRESS = 2
} WBEM_STATUS_TYPE;
typedef [v1_enum] enum tag_WBEM_TIMEOUT_TYPE
{
WBEM_NO_WAIT = 0,
@@ -290,6 +297,24 @@ interface IWbemStatusCodeText : IUnknown
[out] BSTR *MessageText);
};
[
object,
restricted,
uuid(7c857801-7381-11cf-884d-00aa004b2e24)
]
interface IWbemObjectSink : IUnknown
{
HRESULT Indicate(
[in] long lObjectCount,
[in, size_is(lObjectCount)] IWbemClassObject **apObjArray);
HRESULT SetStatus(
[in] long lFlags,
[in] HRESULT hResult,
[in] BSTR strParam,
[in] IWbemClassObject *pObjParam);
};
typedef [v1_enum] enum tag_WBEM_GENERIC_FLAG_TYPE
{
WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
+228 -44
View File
@@ -71,7 +71,7 @@ typedef struct _CREDENTIALA
LPSTR Comment;
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
_Field_size_bytes_(CredentialBlobSize) LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEA Attributes;
@@ -240,51 +240,235 @@ typedef struct _BINARY_BLOB_CREDENTIAL_INFO
/* flags for CredWrite and CredWriteDomainCredentials */
#define CRED_PRESERVE_CREDENTIAL_BLOB 0x00000001
WINADVAPI BOOL WINAPI CredDeleteA(LPCSTR,DWORD,DWORD);
WINADVAPI BOOL WINAPI CredDeleteW(LPCWSTR,DWORD,DWORD);
#define CredDelete WINELIB_NAME_AW(CredDelete)
WINADVAPI BOOL WINAPI CredEnumerateA(LPCSTR,DWORD,DWORD *,PCREDENTIALA **);
WINADVAPI BOOL WINAPI CredEnumerateW(LPCWSTR,DWORD,DWORD *,PCREDENTIALW **);
#define CredEnumerate WINELIB_NAME_AW(CredEnumerate)
WINADVAPI VOID WINAPI CredFree(PVOID);
WINADVAPI BOOL WINAPI CredGetSessionTypes(DWORD,LPDWORD);
WINADVAPI BOOL WINAPI CredIsMarshaledCredentialA(LPCSTR);
WINADVAPI BOOL WINAPI CredIsMarshaledCredentialW(LPCWSTR);
#define CredIsMarshaledCredential WINELIB_NAME_AW(CredIsMarshaledCredential)
WINADVAPI BOOL WINAPI CredMarshalCredentialA(CRED_MARSHAL_TYPE,PVOID,LPSTR *);
WINADVAPI BOOL WINAPI CredMarshalCredentialW(CRED_MARSHAL_TYPE,PVOID,LPWSTR *);
#define CredMarshalCredential WINELIB_NAME_AW(CredMarshalCredential)
WINADVAPI BOOL WINAPI CredReadA(LPCSTR,DWORD,DWORD,PCREDENTIALA *);
WINADVAPI BOOL WINAPI CredReadW(LPCWSTR,DWORD,DWORD,PCREDENTIALW *);
#define CredRead WINELIB_NAME_AW(CredRead)
WINADVAPI BOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA,DWORD,DWORD *,PCREDENTIALA **);
WINADVAPI BOOL WINAPI CredReadDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW,DWORD,DWORD *,PCREDENTIALW **);
#define CredReadDomainCredentials WINELIB_NAME_AW(CredReadDomainCredentials)
WINADVAPI BOOL WINAPI CredRenameA(LPCSTR,LPCSTR,DWORD,DWORD);
WINADVAPI BOOL WINAPI CredRenameW(LPCWSTR,LPCWSTR,DWORD,DWORD);
#define CredRename WINELIB_NAME_AW(CredRename)
WINADVAPI BOOL WINAPI CredUnmarshalCredentialA(LPCSTR,PCRED_MARSHAL_TYPE,PVOID *);
WINADVAPI BOOL WINAPI CredUnmarshalCredentialW(LPCWSTR,PCRED_MARSHAL_TYPE,PVOID *);
#define CredUnmarshalCredential WINELIB_NAME_AW(CredUnmarshalCredential)
WINADVAPI BOOL WINAPI CredWriteA(PCREDENTIALA,DWORD);
WINADVAPI BOOL WINAPI CredWriteW(PCREDENTIALW,DWORD);
#define CredWrite WINELIB_NAME_AW(CredWrite)
WINADVAPI BOOL WINAPI CredDeleteA(_In_ LPCSTR, _In_ DWORD, _Reserved_ DWORD);
WINADVAPI BOOL WINAPI CredDeleteW(_In_ LPCWSTR, _In_ DWORD, _Reserved_ DWORD);
#define CredDelete WINELIB_NAME_AW(CredDelete)
WINADVAPI
BOOL
WINAPI
CredEnumerateA(
_In_opt_ LPCSTR,
_Reserved_ DWORD,
_Out_ DWORD *Count,
_Outptr_result_buffer_(*Count) PCREDENTIALA **);
WINADVAPI
BOOL
WINAPI
CredEnumerateW(
_In_opt_ LPCWSTR,
_Reserved_ DWORD,
_Out_ DWORD *Count,
_Outptr_result_buffer_(*Count) PCREDENTIALW **);
#define CredEnumerate WINELIB_NAME_AW(CredEnumerate)
WINADVAPI VOID WINAPI CredFree(_In_ PVOID);
WINADVAPI
BOOL
WINAPI
CredGetSessionTypes(
_In_ DWORD MaximumPersistCount,
_Out_writes_(MaximumPersistCount) LPDWORD);
WINADVAPI BOOL WINAPI CredIsMarshaledCredentialA(_In_ LPCSTR);
WINADVAPI BOOL WINAPI CredIsMarshaledCredentialW(_In_ LPCWSTR);
#define CredIsMarshaledCredential WINELIB_NAME_AW(CredIsMarshaledCredential)
WINADVAPI
BOOL
WINAPI
CredMarshalCredentialA(
_In_ CRED_MARSHAL_TYPE,
_In_ PVOID,
_Out_ LPSTR *);
WINADVAPI
BOOL
WINAPI
CredMarshalCredentialW(
_In_ CRED_MARSHAL_TYPE,
_In_ PVOID,
_Out_ LPWSTR *);
#define CredMarshalCredential WINELIB_NAME_AW(CredMarshalCredential)
WINADVAPI
BOOL
WINAPI
CredReadA(
_In_ LPCSTR,
_In_ DWORD,
_Reserved_ DWORD,
_Out_ PCREDENTIALA *);
WINADVAPI
BOOL
WINAPI
CredReadW(
_In_ LPCWSTR,
_In_ DWORD,
_Reserved_ DWORD,
_Out_ PCREDENTIALW *);
#define CredRead WINELIB_NAME_AW(CredRead)
WINADVAPI
BOOL
WINAPI
CredReadDomainCredentialsA(
_In_ PCREDENTIAL_TARGET_INFORMATIONA,
_In_ DWORD,
_Out_ DWORD *Count,
_Outptr_result_buffer_(*Count) PCREDENTIALA **);
WINADVAPI
BOOL
WINAPI
CredReadDomainCredentialsW(
_In_ PCREDENTIAL_TARGET_INFORMATIONW,
_In_ DWORD,
_Out_ DWORD *Count,
_Outptr_result_buffer_(*Count) PCREDENTIALW **);
#define CredReadDomainCredentials WINELIB_NAME_AW(CredReadDomainCredentials)
WINADVAPI
BOOL
WINAPI
CredRenameA(
_In_ LPCSTR,
_In_ LPCSTR,
_In_ DWORD,
_Reserved_ DWORD);
WINADVAPI
BOOL
WINAPI
CredRenameW(
_In_ LPCWSTR,
_In_ LPCWSTR,
_In_ DWORD,
_Reserved_ DWORD);
#define CredRename WINELIB_NAME_AW(CredRename)
WINADVAPI
BOOL
WINAPI
CredUnmarshalCredentialA(
_In_ LPCSTR,
_Out_ PCRED_MARSHAL_TYPE,
_Out_ PVOID *);
WINADVAPI
BOOL
WINAPI
CredUnmarshalCredentialW(
_In_ LPCWSTR,
_Out_ PCRED_MARSHAL_TYPE,
_Out_ PVOID *);
#define CredUnmarshalCredential WINELIB_NAME_AW(CredUnmarshalCredential)
WINADVAPI BOOL WINAPI CredWriteA(_In_ PCREDENTIALA, _In_ DWORD);
WINADVAPI BOOL WINAPI CredWriteW(_In_ PCREDENTIALW, _In_ DWORD);
#define CredWrite WINELIB_NAME_AW(CredWrite)
DWORD
WINAPI
CredUICmdLinePromptForCredentialsW(
_In_opt_ PCWSTR,
_Reserved_ PCtxtHandle,
_In_ DWORD,
_Inout_updates_(ulUserBufferSize) PWSTR,
_In_ ULONG ulUserBufferSize,
_Inout_updates_(ulPasswordBufferSize) PWSTR,
_In_ ULONG ulPasswordBufferSize,
_Inout_opt_ PBOOL,
_In_ DWORD);
DWORD
WINAPI
CredUICmdLinePromptForCredentialsA(
_In_opt_ PCSTR,
_Reserved_ PCtxtHandle,
_In_ DWORD,
_Inout_updates_(ulUserBufferSize) PSTR,
_In_ ULONG ulUserBufferSize,
_Inout_updates_(ulPasswordBufferSize) PSTR,
_In_ ULONG ulPasswordBufferSize,
_Inout_opt_ PBOOL,
_In_ DWORD);
#define CredUICmdLinePromptForCredentials WINELIB_NAME_AW(CredUICmdLinePromptForCredentials)
DWORD WINAPI CredUIConfirmCredentialsW(_In_ PCWSTR, _In_ BOOL);
DWORD WINAPI CredUIConfirmCredentialsA(_In_ PCSTR, _In_ BOOL);
#define CredUIConfirmCredentials WINELIB_NAME_AW(CredUIConfirmCredentials)
DWORD
WINAPI
CredUIParseUserNameW(
_In_ PCWSTR,
_Out_writes_(userBufferSize) PWSTR,
_In_ ULONG userBufferSize,
_Out_writes_(domainBufferSize) PWSTR,
_In_ ULONG domainBufferSize);
DWORD
WINAPI
CredUIParseUserNameA(
_In_ PCSTR,
_Out_writes_(userBufferSize) PSTR,
_In_ ULONG userBufferSize,
_Out_writes_(domainBufferSize) PSTR,
_In_ ULONG domainBufferSize);
#define CredUIParseUserName WINELIB_NAME_AW(CredUIParseUserName)
DWORD
WINAPI
CredUIPromptForCredentialsW(
_In_opt_ PCREDUI_INFOW,
_In_opt_ PCWSTR,
_Reserved_ PCtxtHandle,
_In_ DWORD,
_Inout_updates_(ulUserNameBufferSize) PWSTR,
_In_ ULONG ulUserNameBufferSize,
_Inout_updates_(ulPasswordBufferSize) PWSTR,
_In_ ULONG ulPasswordBufferSize,
_Inout_opt_ PBOOL,
_In_ DWORD);
DWORD
WINAPI
CredUIPromptForCredentialsA(
_In_opt_ PCREDUI_INFOA,
_In_opt_ PCSTR,
_Reserved_ PCtxtHandle,
_In_ DWORD,
_Inout_updates_(ulUserNameBufferSize) PSTR,
_In_ ULONG ulUserNameBufferSize,
_Inout_updates_(ulPasswordBufferSize) PSTR,
_In_ ULONG ulPasswordBufferSize,
_Inout_opt_ PBOOL,
_In_ DWORD);
#define CredUIPromptForCredentials WINELIB_NAME_AW(CredUIPromptForCredentials)
DWORD
WINAPI
CredUIStoreSSOCredW(
_In_opt_ PCWSTR,
_In_ PCWSTR,
_In_ PCWSTR,
_In_ BOOL);
DWORD WINAPI CredUICmdLinePromptForCredentialsW(PCWSTR,PCtxtHandle,DWORD,PWSTR,ULONG,PWSTR,ULONG,PBOOL,DWORD);
DWORD WINAPI CredUICmdLinePromptForCredentialsA(PCSTR,PCtxtHandle,DWORD,PSTR,ULONG,PSTR,ULONG,PBOOL,DWORD);
#define CredUICmdLinePromptForCredentials WINELIB_NAME_AW(CredUICmdLinePromptForCredentials)
DWORD WINAPI CredUIConfirmCredentialsW(PCWSTR,BOOL);
DWORD WINAPI CredUIConfirmCredentialsA(PCSTR,BOOL);
#define CredUIConfirmCredentials WINELIB_NAME_AW(CredUIConfirmCredentials)
DWORD WINAPI CredUIParseUserNameW(PCWSTR,PWSTR,ULONG,PWSTR,ULONG);
DWORD WINAPI CredUIParseUserNameA(PCSTR,PSTR,ULONG,PSTR,ULONG);
#define CredUIParseUserName WINELIB_NAME_AW(CredUIParseUserName)
DWORD WINAPI CredUIPromptForCredentialsW(PCREDUI_INFOW,PCWSTR,PCtxtHandle,DWORD,PWSTR,ULONG,PWSTR,ULONG,PBOOL,DWORD);
DWORD WINAPI CredUIPromptForCredentialsA(PCREDUI_INFOA,PCSTR,PCtxtHandle,DWORD,PSTR,ULONG,PSTR,ULONG,PBOOL,DWORD);
#define CredUIPromptForCredentials WINELIB_NAME_AW(CredUIPromptForCredentials)
DWORD WINAPI CredUIStoreSSOCredW(PCWSTR,PCWSTR,PCWSTR,BOOL);
/* Note: no CredUIStoreSSOCredA in PSDK header */
DWORD WINAPI CredUIReadSSOCredW(PCWSTR,PWSTR*);
DWORD WINAPI CredUIReadSSOCredW(_In_opt_ PCWSTR, _Outptr_ PWSTR*);
/* Note: no CredUIReadSSOCredA in PSDK header */
#ifdef __cplusplus
+2
View File
@@ -21,6 +21,8 @@
#ifndef __WINE_WINCRYPT_H
#define __WINE_WINCRYPT_H
#include <specstrings.h>
#ifdef __cplusplus
extern "C" {
#endif
+181 -29
View File
@@ -33,7 +33,7 @@ extern "C" {
#ifndef RC_INVOKE
typedef DWORD IP4_ADDRESS;
typedef DWORD DNS_STATUS;
typedef _Return_type_success_(return == 0) DWORD DNS_STATUS;
#define DNS_TYPE_ZERO 0x0000
#define DNS_TYPE_A 0x0001
@@ -501,34 +501,186 @@ typedef struct _DnsRRSet {
_prrset->pLastRR->pNext = NULL; \
}
DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,HANDLE*);
DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,HANDLE*);
DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
BOOL WINAPI DnsNameCompare_A(PCSTR,PCSTR);
BOOL WINAPI DnsNameCompare_W(PCWSTR,PCWSTR);
DNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
DNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PWSTR,PVOID,PVOID,PDWORD);
BOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
void WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
BOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
PDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
void WINAPI DnsReleaseContextHandle(HANDLE);
DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
DNS_STATUS WINAPI DnsValidateName_A(LPCSTR,DNS_NAME_FORMAT);
DNS_STATUS WINAPI DnsValidateName_W(LPCWSTR, DNS_NAME_FORMAT);
DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
DNS_STATUS
WINAPI
DnsAcquireContextHandle_A(
_In_ DWORD CredentialFlags,
_In_opt_ PVOID Credentials,
_Outptr_ PHANDLE pContext);
DNS_STATUS
WINAPI
DnsAcquireContextHandle_W(
_In_ DWORD CredentialFlags,
_In_opt_ PVOID Credentials,
_Outptr_ PHANDLE pContext);
DNS_STATUS
WINAPI
DnsExtractRecordsFromMessage_W(
_In_ PDNS_MESSAGE_BUFFER pDnsBuffer,
_In_ WORD wMessageLength,
_Outptr_ PDNS_RECORD *ppRecord);
DNS_STATUS
WINAPI
DnsExtractRecordsFromMessage_UTF8(
_In_ PDNS_MESSAGE_BUFFER pDnsBuffer,
_In_ WORD wMessageLength,
_Outptr_ PDNS_RECORD *ppRecord);
DNS_STATUS
WINAPI
DnsModifyRecordsInSet_A(
_In_opt_ PDNS_RECORD pAddRecords,
_In_opt_ PDNS_RECORD pDeleteRecords,
_In_ DWORD Options,
_In_opt_ HANDLE hCredentials,
_Inout_opt_ PIP4_ARRAY pExtraList,
_Inout_opt_ PVOID pReserved);
DNS_STATUS
WINAPI
DnsModifyRecordsInSet_W(
_In_opt_ PDNS_RECORD pAddRecords,
_In_opt_ PDNS_RECORD pDeleteRecords,
_In_ DWORD Options,
_In_opt_ HANDLE hCredentials,
_Inout_opt_ PIP4_ARRAY pExtraList,
_Inout_opt_ PVOID pReserved);
DNS_STATUS
WINAPI
DnsModifyRecordsInSet_UTF8(
_In_opt_ PDNS_RECORD pAddRecords,
_In_opt_ PDNS_RECORD pDeleteRecords,
_In_ DWORD Options,
_In_opt_ HANDLE hCredentials,
_Inout_opt_ PIP4_ARRAY pExtraList,
_Inout_opt_ PVOID pReserved);
BOOL WINAPI DnsNameCompare_A(_In_ PCSTR, _In_ PCSTR);
BOOL WINAPI DnsNameCompare_W(_In_ PCWSTR, _In_ PCWSTR);
DNS_STATUS
WINAPI
DnsQuery_A(
_In_ PCSTR pszName,
_In_ WORD wType,
_In_ DWORD Options,
_Inout_opt_ PIP4_ARRAY pExtra,
_Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults,
_Outptr_opt_result_maybenull_ PVOID *pReserved);
DNS_STATUS
WINAPI
DnsQuery_W(
_In_ PCWSTR pszName,
_In_ WORD wType,
_In_ DWORD Options,
_Inout_opt_ PIP4_ARRAY pExtra,
_Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults,
_Outptr_opt_result_maybenull_ PVOID *pReserved);
DNS_STATUS
WINAPI
DnsQuery_UTF8(
_In_ PCSTR pszName,
_In_ WORD wType,
_In_ DWORD Options,
_Inout_opt_ PIP4_ARRAY pExtra,
_Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults,
_Outptr_opt_result_maybenull_ PVOID *pReserved);
DNS_STATUS
WINAPI
DnsQueryConfig(
_In_ DNS_CONFIG_TYPE Config,
_In_ DWORD Flag,
_In_opt_ PWSTR pwsAdapterName,
_In_opt_ PVOID pReserved,
_Out_writes_bytes_to_opt_(*pBufLen, *pBufLen) PVOID pBuffer,
_Inout_ PDWORD pBufLen);
BOOL WINAPI DnsRecordCompare(_In_ PDNS_RECORD, _In_ PDNS_RECORD);
PDNS_RECORD
WINAPI
DnsRecordCopyEx(
_In_ PDNS_RECORD pRecord,
_In_ DNS_CHARSET CharSetIn,
_In_ DNS_CHARSET CharSetOut);
void WINAPI DnsRecordListFree(_Inout_opt_ PDNS_RECORD, _In_ DNS_FREE_TYPE);
BOOL
WINAPI
DnsRecordSetCompare(
_Inout_ PDNS_RECORD pRR1,
_Inout_ PDNS_RECORD pRR2,
_Outptr_opt_result_maybenull_ PDNS_RECORD *ppDiff1,
_Outptr_opt_result_maybenull_ PDNS_RECORD *ppDiff2);
PDNS_RECORD
WINAPI
DnsRecordSetCopyEx(
_In_ PDNS_RECORD pRecordSet,
_In_ DNS_CHARSET CharSetIn,
_In_ DNS_CHARSET CharSetOut);
PDNS_RECORD WINAPI DnsRecordSetDetach(_Inout_ PDNS_RECORD);
void WINAPI DnsReleaseContextHandle(_In_ HANDLE);
DNS_STATUS
WINAPI
DnsReplaceRecordSetA(
_In_ PDNS_RECORD pReplaceSet,
_In_ DWORD Options,
_In_opt_ HANDLE hContext,
_Inout_opt_ PIP4_ARRAY pExtraInfo,
_Inout_opt_ PVOID pReserved);
DNS_STATUS
WINAPI
DnsReplaceRecordSetW(
_In_ PDNS_RECORD pReplaceSet,
_In_ DWORD Options,
_In_opt_ HANDLE hContext,
_Inout_opt_ PIP4_ARRAY pExtraInfo,
_Inout_opt_ PVOID pReserved);
DNS_STATUS
WINAPI
DnsReplaceRecordSetUTF8(
_In_ PDNS_RECORD pReplaceSet,
_In_ DWORD Options,
_In_opt_ HANDLE hContext,
_Inout_opt_ PIP4_ARRAY pExtraInfo,
_Inout_opt_ PVOID pReserved);
DNS_STATUS WINAPI DnsValidateName_A(_In_ LPCSTR, _In_ DNS_NAME_FORMAT);
DNS_STATUS WINAPI DnsValidateName_W(_In_ LPCWSTR, _In_ DNS_NAME_FORMAT);
DNS_STATUS WINAPI DnsValidateName_UTF8(_In_ LPCSTR, _In_ DNS_NAME_FORMAT);
BOOL
WINAPI
DnsWriteQuestionToBuffer_W(
_Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer,
_Inout_ PDWORD pdwBufferSize,
_In_ LPWSTR pszName,
_In_ WORD wType,
_In_ WORD Xid,
_In_ BOOL fRecursionDesired);
BOOL
WINAPI
DnsWriteQuestionToBuffer_UTF8(
_Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer,
_Inout_ PDWORD pdwBufferSize,
_In_ LPSTR pszName,
_In_ WORD wType,
_In_ WORD Xid,
_In_ BOOL fRecursionDesired);
#ifdef UNICODE
#define DNS_MINFO_DATA DNS_MINFO_DATAW
+40 -8
View File
@@ -1188,9 +1188,23 @@ extern "C" {
#define DMTT_DOWNLOAD_OUTLINE 4
#define DMCOLLATE_FALSE 0
#define DMCOLLATE_TRUE 1
#define DM_SPECVERSION 800
#define DM_GRAYSCALE 1
#define DM_INTERLACED 2
#define DMDO_DEFAULT 0
#define DMDO_90 1
#define DMDO_180 2
#define DMDO_270 3
#define DMDFO_DEFAULT 0
#define DMDFO_STRETCH 1
#define DMDFO_CENTER 2
#define DM_GRAYSCALE 0x00000001
#define DM_INTERLACED 0x00000002
#define DMDISPLAYFLAGS_TEXTMODE 0x00000004
#define DM_UPDATE 1
#define DM_COPY 2
#define DM_PROMPT 4
@@ -1200,6 +1214,15 @@ extern "C" {
#define DM_OUT_BUFFER DM_COPY
#define DM_OUT_DEFAULT DM_UPDATE
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
#define DM_SPECVERSION 0x0401
#elif (WINVER >= 0x0400)
#define DM_SPECVERSION 0x0400
#else
#define DM_SPECVERSION 0x0320
#endif
#define DM_ORIENTATION 0x00000001
#define DM_PAPERSIZE 0x00000002
#define DM_PAPERLENGTH 0x00000004
@@ -1233,11 +1256,6 @@ extern "C" {
#define DM_DISPLAYFIXEDOUTPUT 0x20000000
#endif
#define DMDO_DEFAULT 0
#define DMDO_90 1
#define DMDO_180 2
#define DMDO_270 3
#define DMICMMETHOD_NONE 1
#define DMICMMETHOD_SYSTEM 2
#define DMICMMETHOD_DRIVER 3
@@ -4036,6 +4054,20 @@ BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
#if (WINVER >= 0x0500)
typedef struct _WGLSWAP
{
HDC hdc;
UINT uiFlags;
} WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP;
#define WGL_SWAPMULTIPLE_MAX 16
DWORD WINAPI wglSwapMultipleBuffers(UINT, CONST WGLSWAP *);
#endif // (WINVER >= 0x0500)
#if (WINVER>= 0x0500)
BOOL WINAPI AlphaBlend(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BLENDFUNCTION);
+217 -28
View File
@@ -507,7 +507,13 @@ typedef struct
LPWSTR lpszProxyBypass;
} WINHTTP_CURRENT_USER_IE_PROXY_CONFIG;
typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD);
typedef VOID
(CALLBACK *WINHTTP_STATUS_CALLBACK)(
_In_ HINTERNET,
_In_ DWORD_PTR,
_In_ DWORD,
_In_ LPVOID,
_In_ DWORD);
#define WINHTTP_AUTO_DETECT_TYPE_DHCP 0x00000001
#define WINHTTP_AUTO_DETECT_TYPE_DNS_A 0x00000002
@@ -546,34 +552,217 @@ typedef struct
extern "C" {
#endif
BOOL WINAPI WinHttpAddRequestHeaders(HINTERNET,LPCWSTR,DWORD,DWORD);
BOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD,LPWSTR*);
BOOL
WINAPI
WinHttpAddRequestHeaders(
_In_ HINTERNET,
_When_(dwHeadersLength == (DWORD)-1, _In_z_)
_When_(dwHeadersLength != (DWORD)-1, _In_reads_(dwHeadersLength))
LPCWSTR,
_In_ DWORD dwHeadersLength,
_In_ DWORD);
BOOL
WINAPI
WinHttpDetectAutoProxyConfigUrl(
_In_ DWORD,
_Outptr_result_maybenull_ LPWSTR*);
BOOL WINAPI WinHttpCheckPlatform(void);
BOOL WINAPI WinHttpCloseHandle(HINTERNET);
HINTERNET WINAPI WinHttpConnect(HINTERNET,LPCWSTR,INTERNET_PORT,DWORD);
BOOL WINAPI WinHttpCrackUrl(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTS);
BOOL WINAPI WinHttpCreateUrl(LPURL_COMPONENTS,DWORD,LPWSTR,LPDWORD);
BOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*);
BOOL WINAPI WinHttpGetProxyForUrl(HINTERNET,LPCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,WINHTTP_PROXY_INFO*);
HINTERNET WINAPI WinHttpOpen(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
HINTERNET WINAPI WinHttpOpenRequest(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR*,DWORD);
BOOL WINAPI WinHttpQueryAuthParams(HINTERNET,DWORD,LPVOID*);
BOOL WINAPI WinHttpQueryAuthSchemes(HINTERNET,LPDWORD,LPDWORD,LPDWORD);
BOOL WINAPI WinHttpQueryDataAvailable(HINTERNET,LPDWORD);
BOOL WINAPI WinHttpQueryHeaders(HINTERNET,DWORD,LPCWSTR,LPVOID,LPDWORD,LPDWORD);
BOOL WINAPI WinHttpQueryOption(HINTERNET,DWORD,LPVOID,LPDWORD);
BOOL WINAPI WinHttpReadData(HINTERNET,LPVOID,DWORD,LPDWORD);
BOOL WINAPI WinHttpReceiveResponse(HINTERNET,LPVOID);
BOOL WINAPI WinHttpSendRequest(HINTERNET,LPCWSTR,DWORD,LPVOID,DWORD,DWORD,DWORD_PTR);
BOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
BOOL WINAPI WinHttpSetCredentials(HINTERNET,DWORD,DWORD,LPCWSTR,LPCWSTR,LPVOID);
BOOL WINAPI WinHttpSetOption(HINTERNET,DWORD,LPVOID,DWORD);
WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET,WINHTTP_STATUS_CALLBACK,DWORD,DWORD_PTR);
BOOL WINAPI WinHttpSetTimeouts(HINTERNET,int,int,int,int);
BOOL WINAPI WinHttpTimeFromSystemTime(CONST SYSTEMTIME *,LPWSTR);
BOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR,SYSTEMTIME*);
BOOL WINAPI WinHttpWriteData(HINTERNET,LPCVOID,DWORD,LPDWORD);
BOOL WINAPI WinHttpCloseHandle(_In_ HINTERNET);
HINTERNET
WINAPI
WinHttpConnect(
_In_ HINTERNET,
_In_ LPCWSTR,
_In_ INTERNET_PORT,
_Reserved_ DWORD);
BOOL
WINAPI
WinHttpCrackUrl(
_In_reads_(dwUrlLength) LPCWSTR,
_In_ DWORD dwUrlLength,
_In_ DWORD,
_Inout_ LPURL_COMPONENTS);
_Success_(return != 0)
BOOL
WINAPI
WinHttpCreateUrl(
_In_ LPURL_COMPONENTS,
_In_ DWORD,
_Out_writes_to_opt_(*pdwUrlLength, *pdwUrlLength) LPWSTR,
_Inout_ LPDWORD pdwUrlLength);
BOOL
WINAPI
WinHttpGetDefaultProxyConfiguration(
_Inout_ WINHTTP_PROXY_INFO*);
BOOL
WINAPI
WinHttpGetIEProxyConfigForCurrentUser(
_Inout_ WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*);
BOOL
WINAPI
WinHttpGetProxyForUrl(
_In_ HINTERNET,
_In_ LPCWSTR,
_In_ WINHTTP_AUTOPROXY_OPTIONS*,
_Out_ WINHTTP_PROXY_INFO*);
HINTERNET
WINAPI
WinHttpOpen(
_In_opt_z_ LPCWSTR,
_In_ DWORD,
_In_opt_z_ LPCWSTR,
_In_opt_z_ LPCWSTR,
_In_ DWORD);
HINTERNET
WINAPI
WinHttpOpenRequest(
_In_ HINTERNET,
_In_ LPCWSTR,
_In_ LPCWSTR,
_In_ LPCWSTR,
_In_ LPCWSTR,
_In_ LPCWSTR*,
_In_ DWORD);
BOOL
WINAPI
WinHttpQueryAuthParams(
_In_ HINTERNET,
_In_ DWORD,
_Out_ LPVOID*);
BOOL
WINAPI
WinHttpQueryAuthSchemes(
_In_ HINTERNET,
_Out_ LPDWORD,
_Out_ LPDWORD,
_Out_ LPDWORD);
BOOL
WINAPI
WinHttpQueryDataAvailable(
_In_ HINTERNET,
__out_data_source(NETWORK) LPDWORD);
_Success_(return != 0)
BOOL
WINAPI
WinHttpQueryHeaders(
_In_ HINTERNET,
_In_ DWORD,
_In_opt_ LPCWSTR,
_Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) __out_data_source(NETWORK) LPVOID,
_Inout_ LPDWORD lpdwBufferLength,
_Inout_ LPDWORD);
_Success_(return != 0)
BOOL
WINAPI
WinHttpQueryOption(
_In_ HINTERNET,
_In_ DWORD,
_Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) __out_data_source(NETWORK) LPVOID,
_Inout_ LPDWORD lpdwBufferLength);
BOOL
WINAPI
WinHttpReadData(
_In_ HINTERNET,
_Out_writes_bytes_to_(dwNumberOfBytesToRead, *lpdwNumberOfBytesRead) __out_data_source(NETWORK) LPVOID,
_In_ DWORD dwNumberOfBytesToRead,
_Out_ LPDWORD lpdwNumberOfBytesRead);
BOOL WINAPI WinHttpReceiveResponse(_In_ HINTERNET, _Reserved_ LPVOID);
BOOL
WINAPI
WinHttpSendRequest(
_In_ HINTERNET,
_In_reads_opt_(dwHeadersLength) LPCWSTR,
_In_ DWORD dwHeadersLength,
_In_reads_bytes_opt_(dwOptionalLength) LPVOID,
_In_ DWORD dwOptionalLength,
_In_ DWORD,
_In_ DWORD_PTR);
BOOL
WINAPI
WinHttpSetDefaultProxyConfiguration(
_In_ WINHTTP_PROXY_INFO*);
BOOL
WINAPI
WinHttpSetCredentials(
_In_ HINTERNET,
_In_ DWORD,
_In_ DWORD,
_In_ LPCWSTR,
_In_ LPCWSTR,
_Reserved_ LPVOID);
BOOL
WINAPI
WinHttpSetOption(
_In_opt_ HINTERNET,
_In_ DWORD dwOption,
_When_((dwOption == WINHTTP_OPTION_USERNAME ||
dwOption == WINHTTP_OPTION_PASSWORD ||
dwOption == WINHTTP_OPTION_PROXY_USERNAME ||
dwOption == WINHTTP_OPTION_PROXY_PASSWORD ||
dwOption == WINHTTP_OPTION_USER_AGENT),
_At_((LPCWSTR) lpBuffer, _In_reads_(dwBufferLength)))
_When_((dwOption != WINHTTP_OPTION_USERNAME &&
dwOption != WINHTTP_OPTION_PASSWORD &&
dwOption != WINHTTP_OPTION_PROXY_USERNAME &&
dwOption != WINHTTP_OPTION_PROXY_PASSWORD &&
dwOption != WINHTTP_OPTION_USER_AGENT),
_In_reads_bytes_(dwBufferLength))
LPVOID lpBuffer,
_In_ DWORD dwBufferLength);
WINHTTP_STATUS_CALLBACK
WINAPI
WinHttpSetStatusCallback(
_In_ HINTERNET,
_In_ WINHTTP_STATUS_CALLBACK,
_In_ DWORD,
_Reserved_ DWORD_PTR);
BOOL
WINAPI
WinHttpSetTimeouts(
_In_ HINTERNET,
_In_ int,
_In_ int,
_In_ int,
_In_ int);
BOOL
WINAPI
WinHttpTimeFromSystemTime(
_In_ CONST SYSTEMTIME *,
_Out_writes_bytes_(WINHTTP_TIME_FORMAT_BUFSIZE) LPWSTR);
BOOL WINAPI WinHttpTimeToSystemTime(_In_z_ LPCWSTR, _Out_ SYSTEMTIME*);
BOOL
WINAPI
WinHttpWriteData(
_In_ HINTERNET,
_In_reads_bytes_opt_(dwNumberOfBytesToWrite) LPCVOID,
_In_ DWORD dwNumberOfBytesToWrite,
_Out_ LPDWORD);
#ifdef __cplusplus
}
+298 -41
View File
@@ -4,10 +4,12 @@
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4820)
#endif
#define WNNC_NET_MSNET 0x00010000
#define WNNC_NET_LANMAN 0x00020000
#define WNNC_NET_NETWARE 0x00030000
@@ -160,6 +162,7 @@ extern "C" {
#define WNCON_DYNAMIC 8
#ifndef RC_INVOKED
typedef struct _NETRESOURCEA {
DWORD dwScope;
DWORD dwType;
@@ -244,49 +247,299 @@ typedef struct _NETCONNECTINFOSTRUCT{
DWORD dwOptDataSize;
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL);
DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL);
DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
_Check_return_
DWORD
APIENTRY
WNetAddConnectionA(
_In_ LPCSTR,
_In_opt_ LPCSTR,
_In_opt_ LPCSTR);
_Check_return_
DWORD
APIENTRY
WNetAddConnectionW(
_In_ LPCWSTR,
_In_opt_ LPCWSTR,
_In_opt_ LPCWSTR);
_Check_return_
DWORD
APIENTRY
WNetAddConnection2A(
_In_ LPNETRESOURCEA,
_In_opt_ LPCSTR,
_In_opt_ LPCSTR,
_In_ DWORD);
_Check_return_
DWORD
APIENTRY
WNetAddConnection2W(
_In_ LPNETRESOURCEW,
_In_opt_ LPCWSTR,
_In_opt_ LPCWSTR,
_In_ DWORD);
_Check_return_
DWORD
APIENTRY
WNetAddConnection3A(
_In_opt_ HWND,
_In_ LPNETRESOURCEA,
_In_opt_ LPCSTR,
_In_opt_ LPCSTR,
_In_ DWORD);
_Check_return_
DWORD
APIENTRY
WNetAddConnection3W(
_In_opt_ HWND,
_In_ LPNETRESOURCEW,
_In_opt_ LPCWSTR,
_In_opt_ LPCWSTR,
_In_ DWORD);
_Check_return_ DWORD APIENTRY WNetCancelConnectionA(_In_ LPCSTR, _In_ BOOL);
_Check_return_ DWORD APIENTRY WNetCancelConnectionW(_In_ LPCWSTR, _In_ BOOL);
_Check_return_
DWORD
APIENTRY
WNetCancelConnection2A(
_In_ LPCSTR,
_In_ DWORD,
_In_ BOOL);
_Check_return_
DWORD
APIENTRY
WNetCancelConnection2W(
_In_ LPCWSTR,
_In_ DWORD,
_In_ BOOL);
_Check_return_
DWORD
APIENTRY
WNetGetConnectionA(
_In_ LPCSTR lpLocalName,
_Out_writes_opt_(*lpnLength) LPSTR lpRemoteName,
_Inout_ LPDWORD lpnLength);
_Check_return_
DWORD
APIENTRY
WNetGetConnectionW(
_In_ LPCWSTR lpLocalName,
_Out_writes_opt_(*lpnLength) LPWSTR lpRemoteName,
_Inout_ LPDWORD lpnLength);
_Check_return_
DWORD
APIENTRY
WNetUseConnectionA(
_In_opt_ HWND hwndOwner,
_In_ LPNETRESOURCEA lpNetResource,
_In_opt_ LPCSTR lpPassword,
_In_opt_ LPCSTR lpUserId,
_In_ DWORD dwFlags,
_Out_writes_opt_(*lpBufferSize) LPSTR lpAccessName,
_Inout_opt_ LPDWORD lpBufferSize,
_Out_opt_ LPDWORD lpResult);
_Check_return_
DWORD
APIENTRY
WNetUseConnectionW(
_In_opt_ HWND hwndOwner,
_In_ LPNETRESOURCEW lpNetResource,
_In_opt_ LPCWSTR lpPassword,
_In_opt_ LPCWSTR lpUserId,
_In_ DWORD dwFlags,
_Out_writes_opt_(*lpBufferSize) LPWSTR lpAccessName,
_Inout_opt_ LPDWORD lpBufferSize,
_Out_opt_ LPDWORD lpResult);
DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID);
DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
DWORD APIENTRY WNetConnectionDialog(HWND,DWORD);
DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD);
DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
DWORD APIENTRY WNetCloseEnum(HANDLE);
DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD);
DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*);
DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
_Check_return_ DWORD APIENTRY WNetConnectionDialog(_In_ HWND, _In_ DWORD);
_Check_return_ DWORD APIENTRY WNetDisconnectDialog(_In_opt_ HWND, _In_ DWORD);
_Check_return_
DWORD
APIENTRY
WNetConnectionDialog1A(
_Inout_ LPCONNECTDLGSTRUCTA);
_Check_return_
DWORD
APIENTRY
WNetConnectionDialog1W(
_Inout_ LPCONNECTDLGSTRUCTW);
_Check_return_ DWORD APIENTRY WNetDisconnectDialog1A(_In_ LPDISCDLGSTRUCTA);
_Check_return_ DWORD APIENTRY WNetDisconnectDialog1W(_In_ LPDISCDLGSTRUCTW);
_Check_return_
DWORD
APIENTRY
WNetOpenEnumA(
_In_ DWORD,
_In_ DWORD,
_In_ DWORD,
_In_opt_ LPNETRESOURCEA,
_Out_ LPHANDLE);
_Check_return_
DWORD
APIENTRY
WNetOpenEnumW(
_In_ DWORD,
_In_ DWORD,
_In_ DWORD,
_In_opt_ LPNETRESOURCEW,
_Out_ LPHANDLE);
_Check_return_
DWORD
APIENTRY
WNetEnumResourceA(
_In_ HANDLE hEnum,
_Inout_ LPDWORD lpcCount,
_Out_writes_bytes_(*lpBufferSize) LPVOID lpBuffer,
_Inout_ LPDWORD lpBufferSize);
_Check_return_
DWORD
APIENTRY
WNetEnumResourceW(
_In_ HANDLE hEnum,
_Inout_ LPDWORD lpcCount,
_Out_writes_bytes_(*lpBufferSize) LPVOID lpBuffer,
_Inout_ LPDWORD lpBufferSize);
_Check_return_ DWORD APIENTRY WNetCloseEnum(_In_ HANDLE);
_Check_return_
DWORD
APIENTRY
WNetGetUniversalNameA(
_In_ LPCSTR lpLocalPath,
_In_ DWORD dwInfoLevel,
_Out_writes_bytes_(*lpBufferSize) LPVOID lpBuffer,
_Inout_ LPDWORD lpBufferSize);
_Check_return_
DWORD
APIENTRY
WNetGetUniversalNameW(
_In_ LPCWSTR lpLocalPath,
_In_ DWORD dwInfoLevel,
_Out_writes_bytes_(*lpBufferSize) LPVOID lpBuffer,
_Inout_ LPDWORD lpBufferSize);
_Check_return_
DWORD
APIENTRY
WNetGetUserA(
_In_opt_ LPCSTR lpName,
_Out_writes_(*lpnLength) LPSTR lpUserName,
_Inout_ LPDWORD lpnLength);
_Check_return_
DWORD
APIENTRY
WNetGetUserW(
_In_opt_ LPCWSTR lpName,
_Out_writes_(*lpnLength) LPWSTR lpUserName,
_Inout_ LPDWORD lpnLength);
_Check_return_
DWORD
APIENTRY
WNetGetProviderNameA(
_In_ DWORD dwNetType,
_Out_writes_(*lpBufferSize) LPSTR lpProviderName,
_Inout_ LPDWORD lpBufferSize);
_Check_return_
DWORD
APIENTRY
WNetGetProviderNameW(
_In_ DWORD dwNetType,
_Out_writes_(*lpBufferSize) LPWSTR lpProviderName,
_Inout_ LPDWORD lpBufferSize);
_Check_return_
DWORD
APIENTRY
WNetGetNetworkInformationA(
_In_ LPCSTR,
_Out_ LPNETINFOSTRUCT);
_Check_return_
DWORD
APIENTRY
WNetGetNetworkInformationW(
_In_ LPCWSTR,
_Out_ LPNETINFOSTRUCT);
_Check_return_
DWORD
APIENTRY
WNetGetResourceInformationA(
_In_ LPNETRESOURCEA lpNetResource,
_Out_writes_bytes_(*lpcbBuffer) LPVOID lpBuffer,
_Inout_ LPDWORD lpcbBuffer,
_Outptr_ LPSTR *lplpSystem);
_Check_return_
DWORD
APIENTRY
WNetGetResourceInformationW(
_In_ LPNETRESOURCEW lpNetResource,
_Out_writes_bytes_(*lpcbBuffer) LPVOID lpBuffer,
_Inout_ LPDWORD lpcbBuffer,
_Outptr_ LPWSTR *lplpSystem);
_Check_return_
DWORD
APIENTRY
WNetGetLastErrorA(
_Out_ LPDWORD lpError,
_Out_writes_(nErrorBufSize) LPSTR lpErrorBuf,
_In_ DWORD nErrorBufSize,
_Out_writes_(nNameBufSize) LPSTR lpNameBuf,
_In_ DWORD nNameBufSize);
_Check_return_
DWORD
APIENTRY
WNetGetLastErrorW(
_Out_ LPDWORD lpError,
_Out_writes_(nErrorBufSize) LPWSTR lpErrorBuf,
_In_ DWORD nErrorBufSize,
_Out_writes_(nNameBufSize) LPWSTR lpNameBuf,
_In_ DWORD nNameBufSize);
DWORD WINAPI WNetRestoreConnectionA(HWND,LPCSTR);
DWORD WINAPI WNetRestoreConnectionW(HWND,LPCWSTR);
DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
_Check_return_
DWORD
APIENTRY
MultinetGetConnectionPerformanceA(
_In_ LPNETRESOURCEA,
_Out_ LPNETCONNECTINFOSTRUCT);
_Check_return_
DWORD
APIENTRY
MultinetGetConnectionPerformanceW(
_In_ LPNETRESOURCEW,
_Out_ LPNETCONNECTINFOSTRUCT);
#ifdef _WINE
typedef struct tagPASSWORD_CACHE_ENTRY
@@ -362,11 +615,15 @@ typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
#define WNetGetLastError WNetGetLastErrorA
#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
#endif
#endif
#endif /* !RC_INVOKED */
#ifdef _MSC_VER
#pragma warning(pop)
#endif
#ifdef __cplusplus
}
#endif
#endif
#endif /* _WINNETWK_ */
+48 -1
View File
@@ -1084,6 +1084,7 @@ typedef enum {
#define LANG_CATALAN 0x03
#define LANG_CHINESE 0x04
#define LANG_CHINESE_SIMPLIFIED 0x04
#define LANG_CHINESE_TRADITIONAL 0x7c04
#define LANG_CORSICAN 0x83
#define LANG_CROATIAN 0x1a
#define LANG_CROATIAN 0x1a
@@ -1156,6 +1157,7 @@ typedef enum {
#define LANG_RUSSIAN 0x19
#define LANG_SAMI 0x3b
#define LANG_SANSKRIT 0x4f
#define LANG_SCOTTISH_GAELIC 0x91
#define LANG_SERBIAN 0x1a
#define LANG_SOTHO 0x6c
#define LANG_TSWANA 0x32
@@ -1194,14 +1196,16 @@ typedef enum {
/* FIXME: non-standard */
#define LANG_ESPERANTO 0x8f
#define LANG_WALON 0x90
#define LANG_CORNISH 0x91
#define LANG_CORNISH 0x92
/* FIXME: not present in the official headers */
#define LANG_MALAGASY 0x8d
#define LANG_GAELIC 0x94
#define LANG_SAAMI 0x3b
#define LANG_SUTU 0x30
#define LANG_TSONGA 0x31
#define LANG_VENDA 0x33
#define LANG_MANX_GAELIC 0x94
#define SUBLANG_CUSTOM_UNSPECIFIED 0x04
#define SUBLANG_CUSTOM_DEFAULT 0x03
@@ -1645,6 +1649,49 @@ typedef enum {
#define CONTAINING_RECORD(address, type, field) \
((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field))))
#endif
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
#define RTL_SIZEOF_THROUGH_FIELD(type, field) \
(FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))
#define RTL_CONTAINS_FIELD(Struct, Size, Field) \
((((PCHAR) (&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR) (Struct)) + (Size)))
#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0]))
#if defined(__cplusplus) && \
!defined(MIDL_PASS) && \
!defined(RC_INVOKED) && \
!defined(_PREFAST_) && \
(_MSC_FULL_VER >= 13009466) && \
!defined(SORTPP_PASS)
#define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A)))
#else
#define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A)
#endif
#ifdef ENABLE_RTL_NUMBER_OF_V2
#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V2(A)
#else
#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V1(A)
#endif
//#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A)
//#define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A)
#define RTL_FIELD_TYPE(type, field) (((type*)0)->field)
#define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field)))
#define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) \
((FIELD_OFFSET(T, F2) > FIELD_OFFSET(T, F1)) \
? (FIELD_OFFSET(T, F2) - FIELD_OFFSET(T, F1) - RTL_FIELD_SIZE(T, F1)) \
: (FIELD_OFFSET(T, F1) - FIELD_OFFSET(T, F2) - RTL_FIELD_SIZE(T, F2)))
#if defined(__cplusplus)
#define RTL_CONST_CAST(type) const_cast<type>
#else
#define RTL_CONST_CAST(type) (type)
#endif
#define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8)
#define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field)))
/* end winddk.h */
#define IMAGE_SIZEOF_FILE_HEADER 20
#define IMAGE_FILE_RELOCS_STRIPPED 1
+2
View File
@@ -47,6 +47,8 @@ extern "C" {
#define SHUTDOWN_RESTART 0x00000004
#define SHUTDOWN_RESTARTAPPS 0x00000080
#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
#define RRF_RT_REG_NONE (1 << 0)
#define RRF_RT_REG_SZ (1 << 1)
#define RRF_RT_REG_EXPAND_SZ (1 << 2)
+1118 -409
View File
File diff suppressed because it is too large Load Diff
+1822 -896
View File
File diff suppressed because it is too large Load Diff
+6 -8
View File
@@ -838,6 +838,11 @@ typedef enum _MEMORY_INFORMATION_CLASS {
MemoryBasicVlmInformation
} MEMORY_INFORMATION_CLASS;
typedef struct _MEMORY_SECTION_NAME
{
UNICODE_STRING SectionFileName;
} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
typedef enum _MUTANT_INFORMATION_CLASS
{
MutantBasicInformation
@@ -2513,14 +2518,7 @@ static __inline PLIST_ENTRY RemoveTailList(PLIST_ENTRY le)
return e;
}
typedef struct _FILE_FS_VOLUME_INFORMATION
{
LARGE_INTEGER VolumeCreationTime;
ULONG VolumeSerialNumber;
ULONG VolumeLabelLength;
BOOLEAN SupportsObjects;
WCHAR VolumeLabel[1];
} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
#define FSCTL_PIPE_LISTEN CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
#ifdef __cplusplus
+1
View File
@@ -2724,6 +2724,7 @@ extern "C" {
#define MONITOR_DEFAULTTONEAREST 2
#define MONITORINFOF_PRIMARY 1
#define EDS_RAWMODE 0x00000002
#define EDS_ROTATEDMODE 0x00000004
#define ISMEX_NOSEND 0x00000000
#define ISMEX_CALLBACK 0x00000004
#define ISMEX_NOTIFY 0x00000002
+20 -6
View File
@@ -62,26 +62,26 @@ RtlAssert(
#endif /* !defined(_RTLFUNCS_H) && !defined(_NTDDK_) */
#ifndef assert
#ifndef NASSERT
#if DBG && !defined(NASSERT)
#define assert(x) if (!(x)) { RtlAssert((PVOID)#x, (PVOID)__FILE__, __LINE__, ""); }
#else
#define assert(x)
#define assert(x) ((VOID) 0)
#endif
#endif
#ifndef ASSERT
#ifndef NASSERT
#if DBG && !defined(NASSERT)
#define ASSERT(x) if (!(x)) { RtlAssert((PVOID)#x, (PVOID)__FILE__, __LINE__, ""); }
#else
#define ASSERT(x)
#define ASSERT(x) ((VOID) 0)
#endif
#endif
#ifndef ASSERTMSG
#ifndef NASSERT
#if DBG && !defined(NASSERT)
#define ASSERTMSG(m, x) if (!(x)) { RtlAssert((PVOID)#x, __FILE__, __LINE__, m); }
#else
#define ASSERTMSG(m, x)
#define ASSERTMSG(m, x) ((VOID) 0)
#endif
#endif
@@ -230,4 +230,18 @@ do { \
#define ASSERT_IRQL_EQUAL(x) ASSERT(KeGetCurrentIrql()==(x))
#define ASSERT_IRQL_LESS(x) ASSERT(KeGetCurrentIrql()<(x))
#define __STRING2__(x) #x
#define __STRING__(x) __STRING2__(x)
#define __STRLINE__ __STRING__(__LINE__)
#define __TOKENPASTE2__(x, y) x ## y
#define __TOKENPASTE__(x, y) __TOKENPASTE2__(x, y)
#ifdef _MSC_VER
#define _WARN(msg) __pragma(message("WARNING! Line " __STRLINE__ ": " msg))
#else
#define _WARN1(_func1, _func2, _msg) void __attribute__((warning (_msg))) _func1(void); void __attribute__((used)) _func2(void) { _func1(); }
#define _WARN(_msg) _WARN1(__TOKENPASTE__(__warn_func1__, __LINE__), __TOKENPASTE__(__warn_func2__, __LINE__), _msg)
#endif
#endif /* __INTERNAL_DEBUG */
+6
View File
@@ -0,0 +1,6 @@
[
explicit_handle
]
interface dssetup
{
}
+75
View File
@@ -0,0 +1,75 @@
/*
* Directory Service Setup interface definition
*/
#include <ms-dtyp.idl>
typedef enum _DSROLE_MACHINE_ROLE {
DsRole_RoleStandaloneWorkstation,
DsRole_RoleMemberWorkstation,
DsRole_RoleStandaloneServer,
DsRole_RoleMemberServer,
DsRole_RoleBackupDomainController,
DsRole_RolePrimaryDomainController
} DSROLE_MACHINE_ROLE;
typedef enum _DSROLE_SERVER_STATE {
DsRoleServerUnknown = 0,
DsRoleServerPrimary,
DsRoleServerBackup
} DSROLE_SERVER_STATE, *PDSROLE_SERVER_STATE;
typedef enum _DSROLE_PRIMARY_DOMAIN_INFO_LEVEL {
DsRolePrimaryDomainInfoBasic = 1,
DsRoleUpgradeStatus,
DsRoleOperationState
} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
typedef struct _DSROLE_UPGRADE_STATUS_INFO {
ULONG OperationState;
DSROLE_SERVER_STATE PreviousServerState;
} DSROLE_UPGRADE_STATUS_INFO, *PDSROLE_UPGRADE_STATUS_INFO;
typedef enum _DSROLE_OPERATION_STATE {
DsRoleOperationIdle = 0,
DsRoleOperationActive,
DsRoleOperationNeedReboot
} DSROLE_OPERATION_STATE;
typedef struct _DSROLE_OPERATION_STATE_INFO {
DSROLE_OPERATION_STATE OperationState;
} DSROLE_OPERATION_STATE_INFO, *PDSROLE_OPERATION_STATE_INFO;
typedef struct _DSROLER_PRIMARY_DOMAIN_INFO_BASIC {
DSROLE_MACHINE_ROLE MachineRole;
ULONG Flags;
[unique, string] wchar_t *DomainNameFlat;
[unique, string] wchar_t *DomainNameDns;
[unique, string] wchar_t *DomainForestName;
GUID DomainGuid;
} DSROLER_PRIMARY_DOMAIN_INFO_BASIC, *PDSROLER_PRIMARY_DOMAIN_INFO_BASIC;
typedef [switch_type(DSROLE_PRIMARY_DOMAIN_INFO_LEVEL)] union _DSROLER_PRIMARY_DOMAIN_INFORMATION {
[case(DsRolePrimaryDomainInfoBasic)] DSROLER_PRIMARY_DOMAIN_INFO_BASIC DomainInfoBasic;
[case(DsRoleUpgradeStatus)] DSROLE_UPGRADE_STATUS_INFO UpgradStatusInfo;
[case(DsRoleOperationState)] DSROLE_OPERATION_STATE_INFO OperationStateInfo;
} DSROLER_PRIMARY_DOMAIN_INFORMATION, *PDSROLER_PRIMARY_DOMAIN_INFORMATION;
[
uuid(3919286a-b10c-11d0-9ba8-00c04fd92ef5),
version(0.0),
pointer_default(unique),
endpoint("ncacn_np:[\\pipe\\lsarpc]")
#ifndef __midl
,explicit_handle
#endif
]
interface dssetup
{
DWORD
__stdcall
DsRolerGetPrimaryDomainInformation(
[in] handle_t hBinding,
[in] DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel,
[out, switch_is(InfoLevel)] PDSROLER_PRIMARY_DOMAIN_INFORMATION *DomainInfo);
}
+1 -1
View File
@@ -72,7 +72,7 @@ CpGetByte(
IN PCPPORT Port,
OUT PUCHAR Byte,
IN BOOLEAN Wait,
IN BOOLEAN Poll
IN BOOLEAN Poll
);
VOID
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
processorArchitecture="*"
language="*"
/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"
/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
+1
View File
@@ -0,0 +1 @@
ISOLATIONAWARE_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
+1
View File
@@ -0,0 +1 @@
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
+9 -1
View File
@@ -1389,7 +1389,15 @@ Severity=Success
Facility=System
SymbolicName=DRIVER_PORTION_MUST_BE_NONPAGED
Language=English
The driver mistakenly marked a part of it's image pageable instead of non-pageable.
The driver mistakenly marked a part of its image pageable instead of non-pageable.
.
MessageId=0xD7
Severity=Success
Facility=System
SymbolicName=DRIVER_UNMAPPING_INVALID_VIEW
Language=English
The driver is attempting to unmap an invalid memory address.
.
MessageId=0xD8
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3,7 +3,7 @@
* PROJECT: ReactOS Client/Server Runtime SubSystem
* FILE: include/reactos/subsys/csr/csr.h
* PURPOSE: Public definitions for CSR Clients
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
+7 -7
View File
@@ -4,7 +4,7 @@
* FILE: include/reactos/subsys/csr/csrmsg.h
* PURPOSE: Public definitions for communication
* between CSR Clients and Servers
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@@ -46,15 +46,15 @@ typedef ULONG CSR_API_NUMBER;
typedef struct _CSR_API_CONNECTINFO
{
ULONG Version;
ULONG Unknown;
HANDLE ObjectDirectory;
PVOID SharedSectionBase;
PVOID SharedStaticServerData;
PVOID SharedSectionHeap;
PVOID SharedSectionData;
ULONG DebugFlags;
ULONG Unknown2[3];
HANDLE ProcessId;
ULONG SizeOfPebData;
ULONG SizeOfTebData;
ULONG NumberOfServerDllNames;
HANDLE ServerProcessId;
} CSR_API_CONNECTINFO, *PCSR_API_CONNECTINFO;
#define CSRSRV_VERSION 0x10000
@@ -133,7 +133,7 @@ typedef struct _CSR_API_MESSAGE
// Finally, the overall message structure size must be at most
// equal to the maximum acceptable LPC message size.
//
ULONG_PTR Padding[35];
ULONG_PTR ApiMessageData[39];
} Data;
};
};
+27 -9
View File
@@ -3,13 +3,21 @@
* PROJECT: ReactOS Client/Server Runtime SubSystem
* FILE: include/reactos/subsys/csr/csrsrv.h
* PURPOSE: Public definitions for CSR Servers
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
#ifndef _CSRSRV_H
#define _CSRSRV_H
/*
* The CSR_DBG macro is defined for building CSR Servers
* with extended debugging information.
*/
#if DBG
#define CSR_DBG
#endif
#include "csrmsg.h"
@@ -134,7 +142,7 @@ typedef enum _CSR_REPLY_CODE
*/
typedef
BOOLEAN
(*CSR_WAIT_FUNCTION)(
(NTAPI *CSR_WAIT_FUNCTION)(
IN PLIST_ENTRY WaitList,
IN PCSR_THREAD WaitThread,
IN PCSR_API_MESSAGE WaitApiMessage,
@@ -148,7 +156,6 @@ typedef struct _CSR_WAIT_BLOCK
{
ULONG Size; // Size of the wait block (variable-sized)
LIST_ENTRY WaitList;
LIST_ENTRY UserWaitList;
PVOID WaitContext;
PCSR_THREAD WaitThread;
CSR_WAIT_FUNCTION WaitFunction;
@@ -208,7 +215,6 @@ ULONG
typedef struct _CSR_SERVER_DLL
{
ULONG Length;
HANDLE Event;
ANSI_STRING Name;
HANDLE ServerHandle;
ULONG ServerId;
@@ -217,7 +223,14 @@ typedef struct _CSR_SERVER_DLL
ULONG HighestApiSupported;
PCSR_API_ROUTINE *DispatchTable;
PBOOLEAN ValidTable; // Table of booleans which describe whether or not a server function call is valid when it is called via CsrCallServerFromServer.
/*
* On Windows Server 2003, CSR Servers contain
* the API Names Table only in Debug Builds.
*/
#ifdef CSR_DBG
PCHAR *NameTable;
#endif
ULONG SizeOfProcessData;
PCSR_CONNECT_CALLBACK ConnectCallback;
PCSR_DISCONNECT_CALLBACK DisconnectCallback;
@@ -227,7 +240,13 @@ typedef struct _CSR_SERVER_DLL
PCSR_SHUTDOWNPROCESS_CALLBACK ShutdownProcessCallback;
ULONG Unknown2[3];
} CSR_SERVER_DLL, *PCSR_SERVER_DLL;
#ifndef _WIN64
#ifdef CSR_DBG
C_ASSERT(FIELD_OFFSET(CSR_SERVER_DLL, SharedSection) == 0x3C);
#else
C_ASSERT(FIELD_OFFSET(CSR_SERVER_DLL, SharedSection) == 0x38);
#endif
#endif
typedef
NTSTATUS
@@ -286,8 +305,7 @@ CsrCreateWait(IN PLIST_ENTRY WaitList,
IN CSR_WAIT_FUNCTION WaitFunction,
IN PCSR_THREAD CsrWaitThread,
IN OUT PCSR_API_MESSAGE WaitApiMessage,
IN PVOID WaitContext,
IN PLIST_ENTRY UserWaitList OPTIONAL);
IN PVOID WaitContext);
NTSTATUS
NTAPI
@@ -344,13 +362,13 @@ CsrLockThreadByClientId(IN HANDLE Tid,
VOID
NTAPI
CsrMoveSatisfiedWait(IN PLIST_ENTRY NewEntry,
CsrMoveSatisfiedWait(IN PLIST_ENTRY DestinationList,
IN PLIST_ENTRY WaitList);
BOOLEAN
NTAPI
CsrNotifyWait(IN PLIST_ENTRY WaitList,
IN ULONG WaitType,
IN BOOLEAN NotifyAll,
IN PVOID WaitArgument1,
IN PVOID WaitArgument2);
+63 -9
View File
@@ -11,12 +11,19 @@
#pragma once
typedef VOID (CALLBACK * BASE_PROCESS_CREATE_NOTIFY_ROUTINE)(PVOID);
typedef
BOOL
(CALLBACK * BASE_PROCESS_CREATE_NOTIFY_ROUTINE)(
HANDLE NewProcessId,
HANDLE SourceThreadId,
DWORD dwUnknown,
ULONG CreateFlags);
NTSTATUS WINAPI BaseSetProcessCreateNotify(BASE_PROCESS_CREATE_NOTIFY_ROUTINE);
typedef struct _NLS_USER_INFO
{
WCHAR sLanguage[80];
WCHAR iCountry[80];
WCHAR sCountry[80];
WCHAR sList[80];
@@ -29,7 +36,7 @@ typedef struct _NLS_USER_INFO
WCHAR iLZero[80];
WCHAR iNegNumber[80];
WCHAR sNativeDigits[80];
WCHAR iDigitSubstitution[80];
WCHAR NumShape[80];
WCHAR sCurrency[80];
WCHAR sMonDecSep[80];
WCHAR sMonThouSep[80];
@@ -37,25 +44,67 @@ typedef struct _NLS_USER_INFO
WCHAR iCurrDigits[80];
WCHAR iCurrency[80];
WCHAR iNegCurr[80];
WCHAR sPosSign[80];
WCHAR sNegSign[80];
WCHAR sPositiveSign[80];
WCHAR sNegativeSign[80];
WCHAR sTimeFormat[80];
WCHAR sTime[80];
WCHAR iTime[80];
WCHAR iTLZero[80];
WCHAR iTimePrefix[80];
WCHAR s1159[80];
WCHAR s2359[80];
WCHAR sShortDate[80];
WCHAR sDate[80];
WCHAR iDate[80];
WCHAR sYearMonth[80];
WCHAR sLongDate[80];
WCHAR iCalType[80];
WCHAR iFirstDay[80];
WCHAR iFirstWeek[80];
WCHAR sLocale[80];
WCHAR sLocaleName[85];
WCHAR iFirstDayOfWeek[80];
WCHAR iFirstWeekOfYear[80];
WCHAR Locale[80];
LCID UserLocaleId;
LUID InteractiveUserLuid;
CHAR InteractiveUserSid[68]; // SECURITY_MAX_SID_SIZE to make ROS happy
ULONG ulCacheUpdateCount;
} NLS_USER_INFO, *PNLS_USER_INFO;
C_ASSERT(sizeof(NLS_USER_INFO) == 0x1870);
typedef struct _INIFILE_MAPPING_TARGET
{
struct _INIFILE_MAPPING_TARGET *Next;
UNICODE_STRING RegistryPath;
} INIFILE_MAPPING_TARGET, *PINIFILE_MAPPING_TARGET;
typedef struct _INIFILE_MAPPING_VARNAME
{
struct _INIFILE_MAPPING_VARNAME *Next;
UNICODE_STRING Name;
ULONG MappingFlags;
PINIFILE_MAPPING_TARGET MappingTarget;
} INIFILE_MAPPING_VARNAME, *PINIFILE_MAPPING_VARNAME;
typedef struct _INIFILE_MAPPING_APPNAME
{
struct _INIFILE_MAPPING_APPNAME *Next;
UNICODE_STRING Name;
PINIFILE_MAPPING_VARNAME VariableNames;
PINIFILE_MAPPING_VARNAME DefaultVarNameMapping;
} INIFILE_MAPPING_APPNAME, *PINIFILE_MAPPING_APPNAME;
typedef struct _INIFILE_MAPPING_FILENAME
{
struct _INIFILE_MAPPING_FILENAME *Next;
UNICODE_STRING Name;
PINIFILE_MAPPING_APPNAME ApplicationNames;
PINIFILE_MAPPING_APPNAME DefaultAppNameMapping;
} INIFILE_MAPPING_FILENAME, *PINIFILE_MAPPING_FILENAME;
typedef struct _INIFILE_MAPPING
{
PINIFILE_MAPPING_FILENAME FileNames;
PINIFILE_MAPPING_FILENAME DefaultFileNameMapping;
PINIFILE_MAPPING_FILENAME WinIniFileMapping;
ULONG Reserved;
} INIFILE_MAPPING, *PINIFILE_MAPPING;
typedef struct _BASE_STATIC_SERVER_DATA
{
@@ -82,6 +131,11 @@ typedef struct _BASE_STATIC_SERVER_DATA
BOOLEAN LUIDDeviceMapsEnabled;
ULONG TermsrvClientTimeZoneChangeNum;
} BASE_STATIC_SERVER_DATA, *PBASE_STATIC_SERVER_DATA;
#ifndef _WIN64
C_ASSERT(sizeof(BASE_STATIC_SERVER_DATA) == 0x1AC8);
#endif
VOID WINAPI BaseSrvNLSInit(IN PBASE_STATIC_SERVER_DATA StaticData);
#endif // _BASE_H
+40 -24
View File
@@ -22,32 +22,33 @@ typedef enum _BASESRV_API_NUMBER
BasepCreateThread,
BasepGetTempFile,
BasepExitProcess,
// BasepDebugProcess,
// BasepCheckVDM,
// BasepUpdateVDMEntry,
// BasepGetNextVDMCommand,
// BasepExitVDM,
// BasepIsFirstVDM,
// BasepGetVDMExitCode,
// BasepSetReenterCount,
BasepDebugProcess,
BasepCheckVDM,
BasepUpdateVDMEntry,
BasepGetNextVDMCommand,
BasepExitVDM,
BasepIsFirstVDM,
BasepGetVDMExitCode,
BasepSetReenterCount,
BasepSetProcessShutdownParam,
BasepGetProcessShutdownParam,
// BasepNlsSetUserInfo,
// BasepNlsSetMultipleUserInfo,
// BasepNlsCreateSection,
// BasepSetVDMCurDirs,
// BasepGetVDMCurDirs,
// BasepBatNotification,
// BasepRegisterWowExec,
BasepNlsSetUserInfo,
BasepNlsSetMultipleUserInfo,
BasepNlsCreateSection,
BasepSetVDMCurDirs,
BasepGetVDMCurDirs,
BasepBatNotification,
BasepRegisterWowExec,
BasepSoundSentryNotification,
// BasepRefreshIniFileMapping,
BasepRefreshIniFileMapping,
BasepDefineDosDevice,
// BasepSetTermsrvAppInstallMode,
// BasepNlsUpdateCacheCount,
// BasepSetTermsrvClientTimeZone,
// BasepSxsCreateActivationContext,
// BasepRegisterThread,
// BasepNlsGetUserInfo,
BasepSetTermsrvAppInstallMode,
BasepNlsUpdateCacheCount,
BasepSetTermsrvClientTimeZone,
BasepSxsCreateActivationContext,
BasepUnknown,
BasepRegisterThread,
BasepNlsGetUserInfo,
BasepMaxApiNumber
} BASESRV_API_NUMBER, *PBASESRV_API_NUMBER;
@@ -105,8 +106,8 @@ typedef struct
typedef struct
{
CLIENT_ID ClientId;
HANDLE ThreadHandle;
CLIENT_ID ClientId;
} BASE_CREATE_THREAD, *PBASE_CREATE_THREAD;
typedef struct
@@ -131,7 +132,7 @@ typedef struct
ULONG CodePage;
ULONG dwCreationFlags;
PCHAR CmdLine;
PCHAR appName;
PCHAR AppName;
PCHAR PifFile;
PCHAR CurDirectory;
PCHAR Env;
@@ -261,6 +262,19 @@ typedef struct
UNICODE_STRING TargetPath;
} BASE_DEFINE_DOS_DEVICE, *PBASE_DEFINE_DOS_DEVICE;
typedef struct
{
HANDLE SectionHandle;
ULONG Type;
ULONG LocaleId;
} BASE_NLS_CREATE_SECTION, *PBASE_NLS_CREATE_SECTION;
typedef struct
{
PVOID /*PNLS_USER_INFO*/ NlsUserInfo;
ULONG Size;
} BASE_NLS_GET_USER_INFO, *PBASE_NLS_GET_USER_INFO;
typedef struct _BASE_API_MESSAGE
{
PORT_MESSAGE Header;
@@ -289,6 +303,8 @@ typedef struct _BASE_API_MESSAGE
BASE_SOUND_SENTRY SoundSentryRequest;
BASE_REFRESH_INIFILE_MAPPING RefreshIniFileMappingRequest;
BASE_DEFINE_DOS_DEVICE DefineDosDeviceRequest;
BASE_NLS_CREATE_SECTION NlsCreateSection;
BASE_NLS_GET_USER_INFO NlsGetUserInfo;
} Data;
} BASE_API_MESSAGE, *PBASE_API_MESSAGE;
+97 -47
View File
@@ -16,7 +16,6 @@
#define CONSRV_FIRST_API_NUMBER 512
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
// plus a little bit of Windows 7.
typedef enum _CONSRV_API_NUMBER
{
ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
@@ -28,14 +27,14 @@ typedef enum _CONSRV_API_NUMBER
ConsolepWriteConsoleOutputString,
ConsolepFillConsoleOutput,
ConsolepGetMode,
// ConsolepGetNumberOfFonts,
ConsolepGetNumberOfFonts,
ConsolepGetNumberOfInputEvents,
ConsolepGetScreenBufferInfo,
ConsolepGetCursorInfo,
// ConsolepGetMouseInfo,
// ConsolepGetFontInfo,
// ConsolepGetFontSize,
// ConsolepGetCurrentFont,
ConsolepGetMouseInfo,
ConsolepGetFontInfo,
ConsolepGetFontSize,
ConsolepGetCurrentFont,
ConsolepSetMode,
ConsolepSetActiveScreenBuffer,
ConsolepFlushInputBuffer,
@@ -46,28 +45,28 @@ typedef enum _CONSRV_API_NUMBER
ConsolepSetWindowInfo,
ConsolepScrollScreenBuffer,
ConsolepSetTextAttribute,
// ConsolepSetFont,
ConsolepSetFont,
ConsolepSetIcon,
ConsolepReadConsole,
ConsolepWriteConsole,
ConsolepDuplicateHandle,
// ConsolepGetHandleInformation,
// ConsolepSetHandleInformation,
ConsolepGetHandleInformation,
ConsolepSetHandleInformation,
ConsolepCloseHandle,
ConsolepVerifyIoHandle,
ConsolepAlloc,
ConsolepFree,
ConsolepAlloc, // Not present in Win7
ConsolepFree, // Not present in Win7
ConsolepGetTitle,
ConsolepSetTitle,
ConsolepCreateScreenBuffer,
ConsolepInvalidateBitMapRect,
// ConsolepVDMOperation,
ConsolepVDMOperation,
ConsolepSetCursor,
ConsolepShowCursor,
ConsolepMenuControl,
ConsolepSetPalette,
ConsolepSetDisplayMode,
// ConsolepRegisterVDM,
ConsolepRegisterVDM,
ConsolepGetHardwareState,
ConsolepSetHardwareState,
ConsolepGetDisplayMode,
@@ -81,67 +80,118 @@ typedef enum _CONSRV_API_NUMBER
ConsolepSetNumberOfCommands,
ConsolepGetCommandHistoryLength,
ConsolepGetCommandHistory,
// ConsolepSetCommandHistoryMode,
ConsolepSetCommandHistoryMode, // Not present in Vista+
ConsolepGetCP,
ConsolepSetCP,
// ConsolepSetKeyShortcuts,
ConsolepSetKeyShortcuts,
ConsolepSetMenuClose,
// ConsolepNotifyLastClose,
ConsolepNotifyLastClose,
ConsolepGenerateCtrlEvent,
// ConsolepGetKeyboardLayoutName,
ConsolepGetKeyboardLayoutName,
ConsolepGetConsoleWindow,
// ConsolepCharType,
// ConsolepSetLocalEUDC,
// ConsolepSetCursorMode,
// ConsolepGetCursorMode,
// ConsolepRegisterOS2,
// ConsolepSetOS2OemFormat,
// ConsolepGetNlsMode,
// ConsolepSetNlsMode,
// ConsolepRegisterConsoleIME,
// ConsolepUnregisterConsoleIME,
// ConsolepGetLangId,
ConsolepAttach,
ConsolepCharType,
ConsolepSetLocalEUDC,
ConsolepSetCursorMode,
ConsolepGetCursorMode,
ConsolepRegisterOS2,
ConsolepSetOS2OemFormat,
ConsolepGetNlsMode,
ConsolepSetNlsMode,
ConsolepRegisterConsoleIME, // Not present in Win7
ConsolepUnregisterConsoleIME, // Not present in Win7
// ConsolepQueryConsoleIME, // Added only in Vista and Win2k8, not present in Win7
ConsolepGetLangId,
ConsolepAttach, // Not present in Win7
ConsolepGetSelectionInfo,
ConsolepGetProcessList,
ConsolepGetHistory,
ConsolepSetHistory,
ConsolepGetHistory, // Added in Vista+
ConsolepSetHistory, // Added in Vista+
// ConsolepSetCurrentFont, // Added in Vista+
// ConsolepSetScreenBufferInfo, // Added in Vista+
// ConsolepClientConnect, // Added in Win7
ConsolepMaxApiNumber
} CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;
//
// See http://msdn.microsoft.com/en-us/library/windows/desktop/bb773359(v=vs.85).aspx
//
typedef struct _CONSOLE_PROPERTIES
{
WORD wFillAttribute;
WORD wPopupFillAttribute;
//
// Not on MSDN, but show up in binary
//
WORD wShowWindow;
WORD wUnknown;
COORD dwScreenBufferSize;
COORD dwWindowSize;
COORD dwWindowOrigin;
DWORD nFont;
DWORD nInputBufferSize;
COORD dwFontSize;
UINT uFontFamily;
UINT uFontWeight;
WCHAR FaceName[LF_FACESIZE];
UINT uCursorSize;
BOOL bFullScreen;
BOOL bQuickEdit;
BOOL bInsertMode;
BOOL bAutoPosition;
UINT uHistoryBufferSize;
UINT uNumberOfHistoryBuffers;
BOOL bHistoryNoDup;
COLORREF ColorTable[16];
//NT_FE_CONSOLE_PROPS
UINT uCodePage;
} CONSOLE_PROPERTIES;
//
// To minimize code changes, some fields were put here even though they really only belong in
// CONSRV_API_CONNECTINFO. Do not change the ordering however, as it's required for Windows
// compatibility.
//
typedef struct _CONSOLE_START_INFO
{
INT IconIndex;
HICON IconHandle1;
HICON IconHandle2;
DWORD dwHotKey;
DWORD dwStartupFlags;
DWORD FillAttribute;
COORD ScreenBufferSize;
WORD ShowWindow;
POINT ConsoleWindowOrigin;
SIZE ConsoleWindowSize;
// UNICODE_STRING ConsoleTitle;
CONSOLE_PROPERTIES;
BOOLEAN ConsoleNeeded; // Used for GUI apps only.
LPTHREAD_START_ROUTINE CtrlDispatcher;
LPTHREAD_START_ROUTINE ImeDispatcher;
LPTHREAD_START_ROUTINE PropDispatcher;
ULONG TitleLength;
WCHAR ConsoleTitle[MAX_PATH + 1]; // Console title or full path to the startup shortcut
WCHAR AppPath[MAX_PATH + 1]; // Full path of the launched app
ULONG DesktopLength;
PWCHAR DesktopPath;
ULONG AppNameLength;
WCHAR AppPath[128]; // Full path of the launched app
ULONG IconPathLength;
WCHAR IconPath[MAX_PATH + 1]; // Path to the file containing the icon
INT IconIndex; // Index of the icon
} CONSOLE_START_INFO, *PCONSOLE_START_INFO;
typedef struct _CONSRV_API_CONNECTINFO
{
BOOL ConsoleNeeded; // Used for GUI apps only.
/* Adapted from CONSOLE_ALLOCCONSOLE */
CONSOLE_START_INFO ConsoleStartInfo;
HANDLE ConsoleHandle;
HANDLE InputWaitHandle;
HANDLE InputHandle;
HANDLE OutputHandle;
HANDLE ErrorHandle;
HANDLE InputWaitHandle;
LPTHREAD_START_ROUTINE CtrlDispatcher;
LPTHREAD_START_ROUTINE PropDispatcher;
HANDLE Event1;
HANDLE Event2;
/* Adapted from CONSOLE_ALLOCCONSOLE */
CONSOLE_START_INFO ConsoleStartInfo;
} CONSRV_API_CONNECTINFO, *PCONSRV_API_CONNECTINFO;
C_ASSERT(sizeof(CONSRV_API_CONNECTINFO) == 0x638);
typedef struct
{
+7 -7
View File
@@ -19,15 +19,15 @@
typedef enum _USERSRV_API_NUMBER
{
UserpExitWindowsEx = USERSRV_FIRST_API_NUMBER,
// UserpEndTask,
// UserpLogon,
UserpEndTask,
UserpLogon,
UserpRegisterServicesProcess, // Not present in Win7
// UserpActivateDebugger,
// UserpGetThreadConsoleDesktop, // Not present in Win7
// UserpDeviceEvent,
UserpActivateDebugger,
UserpGetThreadConsoleDesktop, // Not present in Win7
UserpDeviceEvent,
UserpRegisterLogonProcess, // Not present in Win7
// UserpCreateSystemThreads,
// UserpRecordShutdownReason,
UserpCreateSystemThreads,
UserpRecordShutdownReason,
// UserpCancelShutdown, // Added in Vista
// UserpConsoleHandleOperation, // Added in Win7
// UserpGetSetShutdownBlockReason, // Added in Vista
+80 -2
View File
@@ -22,6 +22,17 @@
#define __WINE_ATLBASE_H__
#include <atliface.h>
#include <comcat.h>
/* Wine extension: we (ab)use _ATL_VER to handle struct layout differences between ATL versions. */
#define _ATL_VER_30 0x0300
#define _ATL_VER_70 0x0700
#define _ATL_VER_80 0x0800
#define _ATL_VER_100 0x0a00
#ifndef _ATL_VER
#define _ATL_VER _ATL_VER_100
#endif
typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void* pv, REFIID riid, LPVOID* ppv);
typedef HRESULT (WINAPI _ATL_CREATORARGFUNC)(void* pv, REFIID riid, LPVOID* ppv, DWORD dw);
@@ -31,6 +42,8 @@ typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void);
typedef const struct _ATL_CATMAP_ENTRY* (_ATL_CATMAPFUNC)(void);
typedef void (WINAPI _ATL_TERMFUNC)(DWORD dw);
typedef CRITICAL_SECTION CComCriticalSection;
typedef struct _ATL_OBJMAP_ENTRYA_V1_TAG
{
const CLSID* pclsid;
@@ -77,7 +90,7 @@ typedef struct _ATL_OBJMAP_ENTRYW_TAG
_ATL_DESCRIPTIONFUNCW* pfnGetObjectDescription;
_ATL_CATMAPFUNC* pfnGetCategoryMap;
void (WINAPI *pfnObjectMain)(BOOL bStarting);
} _ATL_OBJMAP_ENTRYW;
} _ATL_OBJMAP_ENTRYW, _ATL_OBJMAP_ENTRY30, _ATL_OBJMAP_ENTRY;
typedef struct _ATL_TERMFUNC_ELEM_TAG
@@ -148,6 +161,46 @@ typedef struct _ATL_MODULEW_TAG
_ATL_TERMFUNC_ELEM* m_pTermFuncs;
} _ATL_MODULEW;
typedef struct
{
void *m_aT;
int m_nSize;
int m_nAllocSize;
} CSimpleArray;
typedef struct _ATL_MODULE70
{
UINT cbSize;
LONG m_nLockCnt;
_ATL_TERMFUNC_ELEM *m_pTermFuncs;
CComCriticalSection m_csStaticDataInitAndTypeInfo;
} _ATL_MODULE70;
typedef struct _ATL_WIN_MODULE70
{
UINT cbSize;
CComCriticalSection m_csWindowCreate;
_AtlCreateWndData *m_pCreateWndList;
CSimpleArray /* <ATOM> */ m_rgWindowClassAtoms;
} _ATL_WIN_MODULE70;
typedef struct _ATL_COM_MODULE70
{
UINT cbSize;
HINSTANCE m_hInstTypeLib;
_ATL_OBJMAP_ENTRY **m_ppAutoObjMapFirst;
_ATL_OBJMAP_ENTRY **m_ppAutoObjMapLast;
CComCriticalSection m_csObjMap;
} _ATL_COM_MODULE70, _ATL_COM_MODULE;
#if _ATL_VER >= _ATL_VER_70
typedef _ATL_MODULE70 _ATL_MODULE;
typedef _ATL_WIN_MODULE70 _ATL_WIN_MODULE;
#else
typedef _ATL_MODULEW _ATL_MODULE;
typedef _ATL_MODULEW _ATL_WIN_MODULE;
#endif
typedef struct _ATL_INTMAP_ENTRY_TAG
{
const IID* piid;
@@ -161,6 +214,16 @@ struct _ATL_REGMAP_ENTRY
LPCOLESTR szData;
};
struct _ATL_CATMAP_ENTRY
{
int iType;
const CATID *pcatid;
};
#define _ATL_CATMAP_ENTRY_END 0
#define _ATL_CATMAP_ENTRY_IMPLEMENTED 1
#define _ATL_CATMAP_ENTRY_REQUIRED 2
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID * iid, LPDWORD dpw);
HRESULT WINAPI AtlAxAttachControl(IUnknown*,HWND,IUnknown**);
HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);
@@ -169,7 +232,11 @@ HRESULT WINAPI AtlFreeMarshalStream(IStream *pStream);
HRESULT WINAPI AtlInternalQueryInterface(void* pThis, const _ATL_INTMAP_ENTRY* pEntries, REFIID iid, void** ppvObject);
HRESULT WINAPI AtlMarshalPtrInProc(IUnknown *pUnk, const IID *iid, IStream **ppStream);
void WINAPI AtlModuleAddCreateWndData(_ATL_MODULEW *pM, _AtlCreateWndData *pData, void* pvObject);
HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULEW *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw);
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE*);
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE*,_AtlCreateWndData*,void*);
void* WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE*);
HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw);
void WINAPI AtlCallTermFunc(_ATL_MODULE*);
void* WINAPI AtlModuleExtractCreateWndData(_ATL_MODULEW *pM);
HRESULT WINAPI AtlModuleInit(_ATL_MODULEW* pM, _ATL_OBJMAP_ENTRYW* p, HINSTANCE h);
HRESULT WINAPI AtlModuleLoadTypeLib(_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib);
@@ -183,5 +250,16 @@ HRESULT WINAPI AtlModuleTerm(_ATL_MODULEW* pM);
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID * iid, DWORD dw);
HRESULT WINAPI AtlUnmarshalPtr(IStream *pStream, const IID *iid, IUnknown **ppUnk);
HRESULT WINAPI AtlCreateRegistrar(IRegistrar**);
HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE,LPCOLESTR,BOOL,struct _ATL_REGMAP_ENTRY*,IRegistrar*);
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE,LPCOLESTR,BSTR*,ITypeLib**);
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE,LPCOLESTR);
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID,const struct _ATL_CATMAP_ENTRY*,BOOL);
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE*,REFCLSID,REFIID,void**);
HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE*,DWORD,DWORD);
HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE*,BOOL,const CLSID*);
BOOL WINAPI AtlWaitWithMessageLoop(HANDLE);
HRESULT WINAPI AtlGetObjectSourceInterface(IUnknown*,GUID*,IID*,unsigned short*,unsigned short*);
HRESULT WINAPI AtlSetPerUserRegistration(unsigned char /*bool*/);
HRESULT WINAPI AtlGetPerUserRegistration(unsigned char /*bool*/ *);
#endif /* __WINE_ATLBASE_H__ */

Some files were not shown because too many files have changed in this diff Show More