mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Sync to trunk r65566.
svn path=/branches/condrv_restructure/; revision=65567
This commit is contained in:
@@ -74,7 +74,7 @@ __attribute__ ((section(".asmdef")))
|
||||
|
||||
ASMGENDATA Table[] =
|
||||
{
|
||||
#if defined (_M_IX86) || defined (M_AMD64)
|
||||
#if defined (_M_IX86) || defined (_M_AMD64)
|
||||
/* PORTABLE CONSTANTS ********************************************************/
|
||||
#include "ksx.template.h"
|
||||
#endif
|
||||
|
||||
@@ -67,6 +67,16 @@ $FuncEndName
|
||||
TRAP_EPILOG $SystemCall
|
||||
fixme
|
||||
MEND
|
||||
|
||||
#define CR 13
|
||||
#define LF 10
|
||||
#define NUL 0
|
||||
|
||||
#define ASCII dcb
|
||||
|
||||
MACRO
|
||||
UNIMPLEMENTED $Name
|
||||
MEND
|
||||
|
||||
#else
|
||||
|
||||
|
||||
@@ -217,7 +217,8 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case. */
|
||||
|
||||
/* Define to a function attribute for Microsoft hotpatch assembly prefix. */
|
||||
#ifndef DECLSPEC_HOTPATCH
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) || defined(__clang__)
|
||||
/* FIXME: http://llvm.org/bugs/show_bug.cgi?id=20888 */
|
||||
#define DECLSPEC_HOTPATCH
|
||||
#else
|
||||
#define DECLSPEC_HOTPATCH __attribute__((__ms_hook_prologue__))
|
||||
|
||||
@@ -316,7 +316,7 @@ extern "C" {
|
||||
|
||||
#ifndef _WCHAR_T_DEFINED
|
||||
#define _WCHAR_T_DEFINED
|
||||
#ifndef __cplusplus
|
||||
#if defined(_MSC_VER) || !defined(__cplusplus)
|
||||
typedef unsigned short wchar_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1504,6 +1504,7 @@ __INTRIN_INLINE void __int2c(void);
|
||||
__INTRIN_INLINE void _disable(void);
|
||||
__INTRIN_INLINE void _enable(void);
|
||||
__INTRIN_INLINE void __halt(void);
|
||||
__declspec(noreturn) __INTRIN_INLINE void __fastfail(unsigned int Code);
|
||||
|
||||
#ifdef __clang__
|
||||
#define __debugbreak() __asm__("int $3")
|
||||
@@ -1532,7 +1533,14 @@ __INTRIN_INLINE void _enable(void)
|
||||
|
||||
__INTRIN_INLINE void __halt(void)
|
||||
{
|
||||
__asm__("hlt\n\t" : : : "memory");
|
||||
__asm__("hlt" : : : "memory");
|
||||
}
|
||||
|
||||
__declspec(noreturn)
|
||||
__INTRIN_INLINE void __fastfail(unsigned int Code)
|
||||
{
|
||||
__asm__("int $0x29" : : "c"(Code) : "memory");
|
||||
__builtin_unreachable();
|
||||
}
|
||||
|
||||
/*** Protected memory management ***/
|
||||
|
||||
@@ -587,6 +587,16 @@ void __ud2(void);
|
||||
#if (_MSC_VER >= 1700)
|
||||
__declspec(noreturn) void __fastfail(unsigned int Code);
|
||||
#pragma intrinsic(__fastfail)
|
||||
#else
|
||||
__declspec(noreturn) __forceinline
|
||||
void __fastfail(unsigned int Code)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov ecx, Code
|
||||
int 29h
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#if defined(_M_ARM)
|
||||
@@ -641,7 +651,6 @@ void __forceinline __invlpg_fixed(void * Address)
|
||||
#elif defined(_M_AMD64)
|
||||
void __invlpg(void * Address);
|
||||
#pragma intrinsic(__invlpg)
|
||||
#elif defined(_M_AMD64)
|
||||
unsigned __int64 __readcr0(void);
|
||||
#pragma intrinsic(__readcr0)
|
||||
unsigned __int64 __readcr2(void);
|
||||
|
||||
@@ -23,11 +23,6 @@ extern "C" {
|
||||
#define _RTC_ERRTYPE_IGNORE -1
|
||||
#define _RTC_ERRTYPE_ASK -2
|
||||
|
||||
#ifndef _WCHAR_T_DEFINED
|
||||
#define _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
#endif
|
||||
|
||||
typedef int (__cdecl *_RTC_error_fn)(int,const char *,int,const char *,const char *,...);
|
||||
typedef int (__cdecl *_RTC_error_fnW)(int,const wchar_t *,int,const wchar_t *,const wchar_t *,...);
|
||||
|
||||
|
||||
@@ -134,6 +134,7 @@ extern "C" {
|
||||
#define _IOERR 0x0020
|
||||
#define _IOSTRG 0x0040
|
||||
#define _IORW 0x0080
|
||||
#define _USERBUF 0x0100
|
||||
|
||||
#define _TWO_DIGIT_EXPONENT 0x1
|
||||
|
||||
|
||||
@@ -18,21 +18,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _CRTIMP
|
||||
#define _CRTIMP __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
#define _WCHAR_T_DEFINED
|
||||
#endif
|
||||
|
||||
#ifndef _WCTYPE_T_DEFINED
|
||||
typedef unsigned short wint_t;
|
||||
typedef unsigned short wctype_t;
|
||||
#define _WCTYPE_T_DEFINED
|
||||
#endif
|
||||
|
||||
#ifndef WEOF
|
||||
#define WEOF (wint_t)(0xFFFF)
|
||||
#endif
|
||||
|
||||
+86
-15
@@ -41,18 +41,39 @@ WINAPI
|
||||
VDDTerminateVDM(VOID);
|
||||
|
||||
|
||||
/*
|
||||
* IRQ services
|
||||
*/
|
||||
|
||||
WORD
|
||||
WINAPI
|
||||
VDDReserveIrqLine
|
||||
(
|
||||
IN HANDLE hVdd,
|
||||
IN WORD IrqLine
|
||||
);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
VDDReleaseIrqLine
|
||||
(
|
||||
IN HANDLE hVdd,
|
||||
IN WORD IrqLine
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* I/O Port services
|
||||
*/
|
||||
|
||||
typedef VOID (*PFNVDD_INB) (WORD iport, PBYTE data);
|
||||
typedef VOID (*PFNVDD_INW) (WORD iport, PWORD data);
|
||||
typedef VOID (*PFNVDD_INSB) (WORD iport, PBYTE data, WORD count);
|
||||
typedef VOID (*PFNVDD_INSW) (WORD iport, PWORD data, WORD count);
|
||||
typedef VOID (*PFNVDD_OUTB) (WORD iport, BYTE data);
|
||||
typedef VOID (*PFNVDD_OUTW) (WORD iport, WORD data);
|
||||
typedef VOID (*PFNVDD_OUTSB) (WORD iport, PBYTE data, WORD count);
|
||||
typedef VOID (*PFNVDD_OUTSW) (WORD iport, PWORD data, WORD count);
|
||||
typedef VOID (WINAPI *PFNVDD_INB) (WORD iport, PBYTE data);
|
||||
typedef VOID (WINAPI *PFNVDD_INW) (WORD iport, PWORD data);
|
||||
typedef VOID (WINAPI *PFNVDD_INSB) (WORD iport, PBYTE data, WORD count);
|
||||
typedef VOID (WINAPI *PFNVDD_INSW) (WORD iport, PWORD data, WORD count);
|
||||
typedef VOID (WINAPI *PFNVDD_OUTB) (WORD iport, BYTE data);
|
||||
typedef VOID (WINAPI *PFNVDD_OUTW) (WORD iport, WORD data);
|
||||
typedef VOID (WINAPI *PFNVDD_OUTSB) (WORD iport, PBYTE data, WORD count);
|
||||
typedef VOID (WINAPI *PFNVDD_OUTSW) (WORD iport, PWORD data, WORD count);
|
||||
|
||||
typedef struct _VDD_IO_HANDLERS
|
||||
{
|
||||
@@ -76,19 +97,69 @@ BOOL
|
||||
WINAPI
|
||||
VDDInstallIOHook
|
||||
(
|
||||
HANDLE hVdd,
|
||||
WORD cPortRange,
|
||||
PVDD_IO_PORTRANGE pPortRange,
|
||||
PVDD_IO_HANDLERS IOhandler
|
||||
IN HANDLE hVdd,
|
||||
IN WORD cPortRange,
|
||||
IN PVDD_IO_PORTRANGE pPortRange,
|
||||
IN PVDD_IO_HANDLERS IOhandler
|
||||
);
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
VDDDeInstallIOHook
|
||||
(
|
||||
HANDLE hVdd,
|
||||
WORD cPortRange,
|
||||
PVDD_IO_PORTRANGE pPortRange
|
||||
IN HANDLE hVdd,
|
||||
IN WORD cPortRange,
|
||||
IN PVDD_IO_PORTRANGE pPortRange
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* DMA services
|
||||
*/
|
||||
|
||||
typedef struct _VDD_DMA_INFO
|
||||
{
|
||||
WORD addr;
|
||||
WORD count;
|
||||
WORD page;
|
||||
BYTE status;
|
||||
BYTE mode;
|
||||
BYTE mask;
|
||||
} VDD_DMA_INFO, *PVDD_DMA_INFO;
|
||||
|
||||
#define VDD_DMA_ADDR 0x01
|
||||
#define VDD_DMA_COUNT 0x02
|
||||
#define VDD_DMA_PAGE 0x04
|
||||
#define VDD_DMA_STATUS 0x08
|
||||
#define VDD_DMA_ALL (VDD_DMA_ADDR | VDD_DMA_COUNT | VDD_DMA_PAGE | VDD_DMA_STATUS)
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
VDDRequestDMA
|
||||
(
|
||||
IN HANDLE hVdd,
|
||||
IN WORD iChannel,
|
||||
IN OUT PVOID Buffer,
|
||||
IN DWORD length
|
||||
);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
VDDQueryDMA
|
||||
(
|
||||
IN HANDLE hVdd,
|
||||
IN WORD iChannel,
|
||||
IN PVDD_DMA_INFO pDmaInfo
|
||||
);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
VDDSetDMA
|
||||
(
|
||||
IN HANDLE hVdd,
|
||||
IN WORD iChannel,
|
||||
IN WORD fDMA,
|
||||
IN PVDD_DMA_INFO pDmaInfo
|
||||
);
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -1670,8 +1670,8 @@ typedef struct {
|
||||
extern HAL_DISPATCH HalDispatchTable;
|
||||
#define HALDISPATCH (&HalDispatchTable)
|
||||
#else
|
||||
extern PHAL_DISPATCH HalDispatchTable;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(HalDispatchTable)
|
||||
extern PHAL_DISPATCH HalDispatchTable;
|
||||
#define HALDISPATCH HalDispatchTable
|
||||
#endif
|
||||
|
||||
|
||||
+95
-115
@@ -870,11 +870,11 @@ typedef VOID
|
||||
(NTAPI *PRTL_FREE_STRING_ROUTINE)(
|
||||
_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer);
|
||||
|
||||
extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
|
||||
extern const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
|
||||
extern NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
|
||||
extern NTKERNELAPI const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
|
||||
|
||||
#if _WIN32_WINNT >= 0x0600
|
||||
extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
|
||||
extern NTKERNELAPI const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
|
||||
#endif
|
||||
|
||||
_Function_class_(RTL_HEAP_COMMIT_ROUTINE)
|
||||
@@ -4917,26 +4917,6 @@ typedef struct _FS_FILTER_CALLBACKS {
|
||||
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForModifiedPageWriter;
|
||||
} FS_FILTER_CALLBACKS, *PFS_FILTER_CALLBACKS;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FsRtlRegisterFileSystemFilterCallbacks(
|
||||
_In_ struct _DRIVER_OBJECT *FilterDriverObject,
|
||||
_In_ PFS_FILTER_CALLBACKS Callbacks);
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FsRtlNotifyStreamFileObject(
|
||||
_In_ struct _FILE_OBJECT * StreamFileObject,
|
||||
_In_opt_ struct _DEVICE_OBJECT *DeviceObjectHint,
|
||||
_In_ FS_FILTER_STREAM_FO_NOTIFICATION_TYPE NotificationType,
|
||||
_In_ BOOLEAN SafeToRecurse);
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
extern NTKERNELAPI KSPIN_LOCK IoStatisticsLock;
|
||||
extern NTKERNELAPI ULONG IoReadOperationCount;
|
||||
extern NTKERNELAPI ULONG IoWriteOperationCount;
|
||||
@@ -8372,126 +8352,126 @@ FsRtlRemovePerFileObjectContext(
|
||||
_In_opt_ PVOID OwnerId,
|
||||
_In_opt_ PVOID InstanceId);
|
||||
|
||||
#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) ( \
|
||||
FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11) \
|
||||
)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FsRtlRegisterFileSystemFilterCallbacks(
|
||||
_In_ struct _DRIVER_OBJECT *FilterDriverObject,
|
||||
_In_ PFS_FILTER_CALLBACKS Callbacks);
|
||||
|
||||
#define FsRtlAreThereCurrentFileLocks(FL) ( \
|
||||
((FL)->FastIoIsQuestionable) \
|
||||
)
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FsRtlNotifyStreamFileObject(
|
||||
_In_ struct _FILE_OBJECT * StreamFileObject,
|
||||
_In_opt_ struct _DEVICE_OBJECT *DeviceObjectHint,
|
||||
_In_ FS_FILTER_STREAM_FO_NOTIFICATION_TYPE NotificationType,
|
||||
_In_ BOOLEAN SafeToRecurse);
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
#define FsRtlIncrementLockRequestsInProgress(FL) { \
|
||||
ASSERT( (FL)->LockRequestsInProgress >= 0 ); \
|
||||
(void) \
|
||||
(InterlockedIncrement((LONG volatile *)&((FL)->LockRequestsInProgress)));\
|
||||
#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) \
|
||||
FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11)
|
||||
|
||||
#define FsRtlAreThereCurrentFileLocks(FL) \
|
||||
((FL)->FastIoIsQuestionable)
|
||||
|
||||
#define FsRtlIncrementLockRequestsInProgress(FL) { \
|
||||
ASSERT((FL)->LockRequestsInProgress >= 0); \
|
||||
(void) \
|
||||
(InterlockedIncrement((LONG volatile *)&((FL)->LockRequestsInProgress))); \
|
||||
}
|
||||
|
||||
#define FsRtlDecrementLockRequestsInProgress(FL) { \
|
||||
ASSERT( (FL)->LockRequestsInProgress > 0 ); \
|
||||
(void) \
|
||||
(InterlockedDecrement((LONG volatile *)&((FL)->LockRequestsInProgress)));\
|
||||
#define FsRtlDecrementLockRequestsInProgress(FL) { \
|
||||
ASSERT((FL)->LockRequestsInProgress > 0); \
|
||||
(void) \
|
||||
(InterlockedDecrement((LONG volatile *)&((FL)->LockRequestsInProgress))); \
|
||||
}
|
||||
|
||||
#ifdef _NTSYSTEM_
|
||||
extern const UCHAR * const FsRtlLegalAnsiCharacterArray;
|
||||
#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray
|
||||
#else
|
||||
extern const UCHAR * const *FsRtlLegalAnsiCharacterArray;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(FsRtlLegalAnsiCharacterArray)
|
||||
extern const UCHAR * const *FsRtlLegalAnsiCharacterArray;
|
||||
#define LEGAL_ANSI_CHARACTER_ARRAY (*FsRtlLegalAnsiCharacterArray)
|
||||
#endif
|
||||
|
||||
#define FsRtlIsAnsiCharacterWild(C) ( \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterWild(C) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], FSRTL_WILD_CHARACTER)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalFat(C, WILD) ( \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterLegalFat(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalHpfs(C, WILD) ( \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterLegalHpfs(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalNtfs(C, WILD) ( \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterLegalNtfs(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalNtfsStream(C,WILD_OK) ( \
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD_OK), FSRTL_NTFS_STREAM_LEGAL) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterLegalNtfsStream(C,WILD_OK) \
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD_OK), FSRTL_NTFS_STREAM_LEGAL)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegal(C,FLAGS) ( \
|
||||
FsRtlTestAnsiCharacter((C), TRUE, FALSE, (FLAGS)) \
|
||||
)
|
||||
#define FsRtlIsAnsiCharacterLegal(C,FLAGS) \
|
||||
FsRtlTestAnsiCharacter((C), TRUE, FALSE, (FLAGS))
|
||||
|
||||
#define FsRtlTestAnsiCharacter(C, DEFAULT_RET, WILD_OK, FLAGS) ( \
|
||||
((SCHAR)(C) < 0) ? DEFAULT_RET : \
|
||||
FlagOn( LEGAL_ANSI_CHARACTER_ARRAY[(C)], \
|
||||
(FLAGS) | \
|
||||
((WILD_OK) ? FSRTL_WILD_CHARACTER : 0) ) \
|
||||
)
|
||||
#define FsRtlTestAnsiCharacter(C, DEFAULT_RET, WILD_OK, FLAGS) \
|
||||
(((SCHAR)(C) < 0) ? DEFAULT_RET : \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(C)], \
|
||||
(FLAGS) | ((WILD_OK) ? FSRTL_WILD_CHARACTER : 0)))
|
||||
|
||||
#define FsRtlIsLeadDbcsCharacter(DBCS_CHAR) ( \
|
||||
(BOOLEAN)((UCHAR)(DBCS_CHAR) < 0x80 ? FALSE : \
|
||||
(NLS_MB_CODE_PAGE_TAG && \
|
||||
(NLS_OEM_LEAD_BYTE_INFO[(UCHAR)(DBCS_CHAR)] != 0))) \
|
||||
)
|
||||
#define FsRtlIsLeadDbcsCharacter(DBCS_CHAR) \
|
||||
((BOOLEAN)((UCHAR)(DBCS_CHAR) < 0x80 ? FALSE : \
|
||||
(NLS_MB_CODE_PAGE_TAG && \
|
||||
(NLS_OEM_LEAD_BYTE_INFO[(UCHAR)(DBCS_CHAR)] != 0))))
|
||||
|
||||
#define FsRtlIsUnicodeCharacterWild(C) ( \
|
||||
(((C) >= 0x40) ? \
|
||||
FALSE : \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(C)], FSRTL_WILD_CHARACTER )) \
|
||||
)
|
||||
#define FsRtlIsUnicodeCharacterWild(C) \
|
||||
((((C) >= 0x40) ? FALSE : \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(C)], FSRTL_WILD_CHARACTER )))
|
||||
|
||||
#define FsRtlInitPerFileContext( _fc, _owner, _inst, _cb) \
|
||||
((_fc)->OwnerId = (_owner), \
|
||||
(_fc)->InstanceId = (_inst), \
|
||||
#define FsRtlInitPerFileContext(_fc, _owner, _inst, _cb) \
|
||||
((_fc)->OwnerId = (_owner), \
|
||||
(_fc)->InstanceId = (_inst), \
|
||||
(_fc)->FreeCallback = (_cb))
|
||||
|
||||
#define FsRtlGetPerFileContextPointer(_fo) \
|
||||
(FsRtlSupportsPerFileContexts(_fo) ? \
|
||||
FsRtlGetPerStreamContextPointer(_fo)->FileContextSupportPointer : \
|
||||
NULL)
|
||||
#define FsRtlGetPerFileContextPointer(_fo) \
|
||||
(FsRtlSupportsPerFileContexts(_fo) ? \
|
||||
FsRtlGetPerStreamContextPointer(_fo)->FileContextSupportPointer : NULL)
|
||||
|
||||
#define FsRtlSupportsPerFileContexts(_fo) \
|
||||
((FsRtlGetPerStreamContextPointer(_fo) != NULL) && \
|
||||
(FsRtlGetPerStreamContextPointer(_fo)->Version >= FSRTL_FCB_HEADER_V1) && \
|
||||
#define FsRtlSupportsPerFileContexts(_fo) \
|
||||
((FsRtlGetPerStreamContextPointer(_fo) != NULL) && \
|
||||
(FsRtlGetPerStreamContextPointer(_fo)->Version >= FSRTL_FCB_HEADER_V1) && \
|
||||
(FsRtlGetPerStreamContextPointer(_fo)->FileContextSupportPointer != NULL))
|
||||
|
||||
#define FsRtlSetupAdvancedHeaderEx( _advhdr, _fmutx, _fctxptr ) \
|
||||
{ \
|
||||
FsRtlSetupAdvancedHeader( _advhdr, _fmutx ); \
|
||||
if ((_fctxptr) != NULL) { \
|
||||
(_advhdr)->FileContextSupportPointer = (_fctxptr); \
|
||||
} \
|
||||
#define FsRtlSetupAdvancedHeaderEx(_advhdr, _fmutx, _fctxptr) \
|
||||
{ \
|
||||
FsRtlSetupAdvancedHeader( _advhdr, _fmutx ); \
|
||||
if ((_fctxptr) != NULL) { \
|
||||
(_advhdr)->FileContextSupportPointer = (_fctxptr); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define FsRtlGetPerStreamContextPointer(FO) ( \
|
||||
(PFSRTL_ADVANCED_FCB_HEADER)(FO)->FsContext \
|
||||
)
|
||||
#define FsRtlGetPerStreamContextPointer(FO) \
|
||||
((PFSRTL_ADVANCED_FCB_HEADER)(FO)->FsContext)
|
||||
|
||||
#define FsRtlInitPerStreamContext(PSC, O, I, FC) ( \
|
||||
(PSC)->OwnerId = (O), \
|
||||
(PSC)->InstanceId = (I), \
|
||||
(PSC)->FreeCallback = (FC) \
|
||||
)
|
||||
#define FsRtlInitPerStreamContext(PSC, O, I, FC) \
|
||||
((PSC)->OwnerId = (O), \
|
||||
(PSC)->InstanceId = (I), \
|
||||
(PSC)->FreeCallback = (FC))
|
||||
|
||||
#define FsRtlSupportsPerStreamContexts(FO) ( \
|
||||
(BOOLEAN)((NULL != FsRtlGetPerStreamContextPointer(FO) && \
|
||||
FlagOn(FsRtlGetPerStreamContextPointer(FO)->Flags2, \
|
||||
FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS)) \
|
||||
)
|
||||
#define FsRtlSupportsPerStreamContexts(FO) \
|
||||
((BOOLEAN)((NULL != FsRtlGetPerStreamContextPointer(FO) && \
|
||||
FlagOn(FsRtlGetPerStreamContextPointer(FO)->Flags2, \
|
||||
FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS)))
|
||||
|
||||
#define FsRtlLookupPerStreamContext(_sc, _oid, _iid) \
|
||||
(((NULL != (_sc)) && \
|
||||
FlagOn((_sc)->Flags2,FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS) && \
|
||||
!IsListEmpty(&(_sc)->FilterContexts)) ? \
|
||||
FsRtlLookupPerStreamContextInternal((_sc), (_oid), (_iid)) : \
|
||||
NULL)
|
||||
#define FsRtlLookupPerStreamContext(_sc, _oid, _iid) \
|
||||
(((NULL != (_sc)) && \
|
||||
FlagOn((_sc)->Flags2,FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS) && \
|
||||
!IsListEmpty(&(_sc)->FilterContexts)) ? \
|
||||
FsRtlLookupPerStreamContextInternal((_sc), (_oid), (_iid)) : NULL)
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
FORCEINLINE
|
||||
@@ -8520,12 +8500,12 @@ FsRtlSetupAdvancedHeader(
|
||||
#endif
|
||||
}
|
||||
|
||||
#define FsRtlInitPerFileObjectContext(_fc, _owner, _inst) \
|
||||
#define FsRtlInitPerFileObjectContext(_fc, _owner, _inst) \
|
||||
((_fc)->OwnerId = (_owner), (_fc)->InstanceId = (_inst))
|
||||
|
||||
#define FsRtlCompleteRequest(IRP,STATUS) { \
|
||||
(IRP)->IoStatus.Status = (STATUS); \
|
||||
IoCompleteRequest( (IRP), IO_DISK_INCREMENT ); \
|
||||
#define FsRtlCompleteRequest(IRP, STATUS) { \
|
||||
(IRP)->IoStatus.Status = (STATUS); \
|
||||
IoCompleteRequest( (IRP), IO_DISK_INCREMENT ); \
|
||||
}
|
||||
/* Common Cache Types */
|
||||
|
||||
@@ -10993,8 +10973,8 @@ HalGetDmaAlignmentRequirement(
|
||||
extern PUSHORT NlsOemLeadByteInfo;
|
||||
#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
|
||||
#else
|
||||
extern PUSHORT *NlsOemLeadByteInfo;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsOemLeadByteInfo)
|
||||
extern PUSHORT *NlsOemLeadByteInfo;
|
||||
#define NLS_OEM_LEAD_BYTE_INFO (*NlsOemLeadByteInfo)
|
||||
#endif
|
||||
|
||||
|
||||
+23
-24
@@ -139,7 +139,7 @@ extern "C" {
|
||||
#ifdef _M_IX86
|
||||
#define __SYMBOL(_Name) "_"#_Name
|
||||
#define __IMPORTSYMBOL(_Name) "__imp__"#_Name
|
||||
#define __IMPORTNAME(_Name) _imp__##_Name
|
||||
#define __IMPORTNAME(_Name) __imp__##_Name
|
||||
#else
|
||||
#define __SYMBOL(_Name) #_Name
|
||||
#define __IMPORTSYMBOL(_Name) "__imp_"#_Name
|
||||
@@ -586,11 +586,11 @@ extern BOOLEAN NlsMbCodePageTag;
|
||||
extern BOOLEAN NlsMbOemCodePageTag;
|
||||
#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
|
||||
#else
|
||||
extern BOOLEAN *NlsMbCodePageTag;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbCodePageTag)
|
||||
extern BOOLEAN *NlsMbCodePageTag;
|
||||
#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)
|
||||
extern BOOLEAN *NlsMbOemCodePageTag;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbOemCodePageTag)
|
||||
extern BOOLEAN *NlsMbOemCodePageTag;
|
||||
#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)
|
||||
#endif
|
||||
|
||||
@@ -1661,8 +1661,8 @@ extern NTSYSAPI volatile CCHAR KeNumberProcessors;
|
||||
#elif (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
extern NTSYSAPI CCHAR KeNumberProcessors;
|
||||
#else
|
||||
extern PCCHAR KeNumberProcessors;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(KeNumberProcessors)
|
||||
extern PCCHAR KeNumberProcessors;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1815,8 +1815,8 @@ typedef enum _MM_SYSTEM_SIZE {
|
||||
} MM_SYSTEMSIZE;
|
||||
|
||||
#ifndef _NTSYSTEM_
|
||||
extern PBOOLEAN Mm64BitPhysicalAddress;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(Mm64BitPhysicalAddress)
|
||||
extern PBOOLEAN Mm64BitPhysicalAddress;
|
||||
#endif
|
||||
extern NTKERNELAPI PVOID MmBadPointer;
|
||||
|
||||
@@ -7859,17 +7859,6 @@ extern POBJECT_TYPE NTSYSAPI PsThreadType;
|
||||
extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
|
||||
extern POBJECT_TYPE NTSYSAPI PsProcessType;
|
||||
#else
|
||||
extern POBJECT_TYPE *CmKeyObjectType;
|
||||
extern POBJECT_TYPE *IoFileObjectType;
|
||||
extern POBJECT_TYPE *ExEventObjectType;
|
||||
extern POBJECT_TYPE *ExSemaphoreObjectType;
|
||||
extern POBJECT_TYPE *TmTransactionManagerObjectType;
|
||||
extern POBJECT_TYPE *TmResourceManagerObjectType;
|
||||
extern POBJECT_TYPE *TmEnlistmentObjectType;
|
||||
extern POBJECT_TYPE *TmTransactionObjectType;
|
||||
extern POBJECT_TYPE *PsProcessType;
|
||||
extern POBJECT_TYPE *PsThreadType;
|
||||
extern POBJECT_TYPE *SeTokenObjectType;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(CmKeyObjectType)
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(IoFileObjectType)
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(ExEventObjectType)
|
||||
@@ -7881,6 +7870,17 @@ __CREATE_NTOS_DATA_IMPORT_ALIAS(TmTransactionObjectType)
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(PsProcessType)
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(PsThreadType)
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(SeTokenObjectType)
|
||||
extern POBJECT_TYPE *CmKeyObjectType;
|
||||
extern POBJECT_TYPE *IoFileObjectType;
|
||||
extern POBJECT_TYPE *ExEventObjectType;
|
||||
extern POBJECT_TYPE *ExSemaphoreObjectType;
|
||||
extern POBJECT_TYPE *TmTransactionManagerObjectType;
|
||||
extern POBJECT_TYPE *TmResourceManagerObjectType;
|
||||
extern POBJECT_TYPE *TmEnlistmentObjectType;
|
||||
extern POBJECT_TYPE *TmTransactionObjectType;
|
||||
extern POBJECT_TYPE *PsProcessType;
|
||||
extern POBJECT_TYPE *PsThreadType;
|
||||
extern POBJECT_TYPE *SeTokenObjectType;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -11061,9 +11061,9 @@ RtlCheckBit(
|
||||
# define __assert_annotationW(msg) __annotation(L"Debug", L"AssertFail", msg)
|
||||
#else
|
||||
# define __assert_annotationA(msg) \
|
||||
DbgPrint("Assertion %s(%d): %s", __FILE__, __LINE__, msg)
|
||||
DbgPrint("Assertion failed at %s(%d): %s\n", __FILE__, __LINE__, msg)
|
||||
# define __assert_annotationW(msg) \
|
||||
DbgPrint("Assertion %s(%d): %S", __FILE__, __LINE__, msg)
|
||||
DbgPrint("Assertion failed at %s(%d): %S\n", __FILE__, __LINE__, msg)
|
||||
#endif
|
||||
|
||||
#define NT_VERIFY(exp) \
|
||||
@@ -15794,11 +15794,11 @@ extern BOOLEAN KdDebuggerEnabled;
|
||||
extern BOOLEAN KdDebuggerNotPresent;
|
||||
#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
|
||||
#else
|
||||
extern BOOLEAN *KdDebuggerEnabled;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerEnabled)
|
||||
extern BOOLEAN *KdDebuggerEnabled;
|
||||
#define KD_DEBUGGER_ENABLED (*KdDebuggerEnabled)
|
||||
extern BOOLEAN *KdDebuggerNotPresent;
|
||||
__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerNotPresent)
|
||||
extern BOOLEAN *KdDebuggerNotPresent;
|
||||
#define KD_DEBUGGER_NOT_PRESENT (*KdDebuggerNotPresent)
|
||||
#endif
|
||||
|
||||
@@ -16091,7 +16091,6 @@ typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION {
|
||||
ULONGLONG LastRecoveredLsn;
|
||||
} TRANSACTIONMANAGER_RECOVERY_INFORMATION, *PTRANSACTIONMANAGER_RECOVERY_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _TRANSACTION_PROPERTIES_INFORMATION {
|
||||
ULONG IsolationLevel;
|
||||
ULONG IsolationFlags;
|
||||
@@ -16140,7 +16139,7 @@ typedef enum _KTMOBJECT_TYPE {
|
||||
|
||||
typedef struct _KTMOBJECT_CURSOR {
|
||||
GUID LastQuery;
|
||||
unsigned long ObjectIdCount;
|
||||
ULONG ObjectIdCount;
|
||||
GUID ObjectIds[1];
|
||||
} KTMOBJECT_CURSOR, *PKTMOBJECT_CURSOR;
|
||||
|
||||
@@ -16148,14 +16147,14 @@ typedef enum _TRANSACTION_INFORMATION_CLASS {
|
||||
TransactionBasicInformation,
|
||||
TransactionPropertiesInformation,
|
||||
TransactionEnlistmentInformation,
|
||||
TransactionSuperiorEnlistmentInformation,
|
||||
TransactionSuperiorEnlistmentInformation
|
||||
} TRANSACTION_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _TRANSACTIONMANAGER_INFORMATION_CLASS {
|
||||
TransactionManagerBasicInformation,
|
||||
TransactionManagerLogInformation,
|
||||
TransactionManagerLogPathInformation,
|
||||
TransactionManagerRecoveryInformation = 4,
|
||||
TransactionManagerRecoveryInformation = 4
|
||||
} TRANSACTIONMANAGER_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _RESOURCEMANAGER_INFORMATION_CLASS {
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
|
||||
#ifndef __D3DRMWIN_H__
|
||||
#define __D3DRMWIN_H__
|
||||
|
||||
#ifndef WIN32
|
||||
#define WIN32
|
||||
#endif
|
||||
|
||||
#include "d3drm.h"
|
||||
#include "ddraw.h"
|
||||
#include "d3d.h"
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3DRMWinDevice
|
||||
|
||||
DECLARE_INTERFACE_(IDirect3DRMWinDevice, IDirect3DRMObject)
|
||||
{
|
||||
IUNKNOWN_METHODS(PURE);
|
||||
IDIRECT3DRMOBJECT_METHODS(PURE);
|
||||
STDMETHOD(HandlePaint) (THIS_ HDC hdc) PURE;
|
||||
STDMETHOD(HandleActivate) (THIS_ WORD wparam) PURE;
|
||||
};
|
||||
|
||||
DEFINE_GUID(IID_IDirect3DRMWinDevice, 0xC5016CC0, 0xD273, 0x11CE, 0xAC, 0x48, 0x0, 0x0, 0xC0, 0x38, 0x25, 0xA1);
|
||||
WIN_TYPES(IDirect3DRMWinDevice, DIRECT3DRMWINDEVICE);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,366 @@
|
||||
/*
|
||||
* DirectSound driver
|
||||
* (DirectX 5 version)
|
||||
*
|
||||
* Copyright (C) 2000 Ove Kaaven
|
||||
*
|
||||
* 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_DSDRIVER_H
|
||||
#define __WINE_DSDRIVER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_GUID(IID_IDsDriver, 0x8C4233C0l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
|
||||
typedef struct IDsDriver *PIDSDRIVER;
|
||||
|
||||
DEFINE_GUID(IID_IDsDriverBuffer, 0x8C4233C1l, 0xB4CC, 0x11CE, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
|
||||
typedef struct IDsDriverBuffer *PIDSDRIVERBUFFER;
|
||||
|
||||
DEFINE_GUID(IID_IDsDriverPropertySet, 0x0F6F2E8E0, 0xD842, 0x11D0, 0x8F, 0x75, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA);
|
||||
typedef struct IDsDriverPropertySet *PIDSDRIVERPROPERTYSET;
|
||||
|
||||
DEFINE_GUID(IID_IDsDriverNotify, 0x00363EF44, 0x3B57, 0x11D3, 0xAC, 0x79, 0x00, 0x10, 0x5A, 0x01, 0x7f, 0xe1);
|
||||
typedef struct IDsDriverNotify *PIDSDRIVERNOTIFY;
|
||||
|
||||
DEFINE_GUID(IID_IDsCaptureDriver, 0x03DD10C47, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
|
||||
typedef struct IDsCaptureDriver *PIDSCDRIVER;
|
||||
|
||||
DEFINE_GUID(IID_IDsCaptureDriverBuffer, 0x03DD10C48, 0x74FB, 0x11D3, 0x90, 0x49, 0xCB, 0xB4, 0xB3, 0x2E, 0xAA, 0x08);
|
||||
typedef struct IDsCaptureDriverBuffer *PIDSCDRIVERBUFFER;
|
||||
|
||||
#define DSDDESC_DOMMSYSTEMOPEN 0x00000001
|
||||
#define DSDDESC_DOMMSYSTEMSETFORMAT 0x00000002
|
||||
#define DSDDESC_USESYSTEMMEMORY 0x00000004
|
||||
#define DSDDESC_DONTNEEDPRIMARYLOCK 0x00000008
|
||||
#define DSDDESC_DONTNEEDSECONDARYLOCK 0x00000010
|
||||
#define DSDDESC_DONTNEEDWRITELEAD 0x00000020
|
||||
|
||||
#define DSDHEAP_NOHEAP 0
|
||||
#define DSDHEAP_CREATEHEAP 1
|
||||
#define DSDHEAP_USEDIRECTDRAWHEAP 2
|
||||
#define DSDHEAP_PRIVATEHEAP 3
|
||||
|
||||
typedef struct _DSDRIVERDESC
|
||||
{
|
||||
DWORD dwFlags;
|
||||
CHAR szDesc[256];
|
||||
CHAR szDrvname[256];
|
||||
DWORD dnDevNode;
|
||||
WORD wVxdId;
|
||||
WORD wReserved;
|
||||
ULONG ulDeviceNum;
|
||||
DWORD dwHeapType;
|
||||
LPVOID pvDirectDrawHeap;
|
||||
DWORD dwMemStartAddress;
|
||||
DWORD dwMemEndAddress;
|
||||
DWORD dwMemAllocExtra;
|
||||
LPVOID pvReserved1;
|
||||
LPVOID pvReserved2;
|
||||
} DSDRIVERDESC,*PDSDRIVERDESC;
|
||||
|
||||
typedef struct _DSDRIVERCAPS
|
||||
{
|
||||
DWORD dwFlags;
|
||||
DWORD dwMinSecondarySampleRate;
|
||||
DWORD dwMaxSecondarySampleRate;
|
||||
DWORD dwPrimaryBuffers;
|
||||
DWORD dwMaxHwMixingAllBuffers;
|
||||
DWORD dwMaxHwMixingStaticBuffers;
|
||||
DWORD dwMaxHwMixingStreamingBuffers;
|
||||
DWORD dwFreeHwMixingAllBuffers;
|
||||
DWORD dwFreeHwMixingStaticBuffers;
|
||||
DWORD dwFreeHwMixingStreamingBuffers;
|
||||
DWORD dwMaxHw3DAllBuffers;
|
||||
DWORD dwMaxHw3DStaticBuffers;
|
||||
DWORD dwMaxHw3DStreamingBuffers;
|
||||
DWORD dwFreeHw3DAllBuffers;
|
||||
DWORD dwFreeHw3DStaticBuffers;
|
||||
DWORD dwFreeHw3DStreamingBuffers;
|
||||
DWORD dwTotalHwMemBytes;
|
||||
DWORD dwFreeHwMemBytes;
|
||||
DWORD dwMaxContigFreeHwMemBytes;
|
||||
} DSDRIVERCAPS,*PDSDRIVERCAPS;
|
||||
|
||||
typedef struct _DSVOLUMEPAN
|
||||
{
|
||||
DWORD dwTotalLeftAmpFactor;
|
||||
DWORD dwTotalRightAmpFactor;
|
||||
LONG lVolume;
|
||||
DWORD dwVolAmpFactor;
|
||||
LONG lPan;
|
||||
DWORD dwPanLeftAmpFactor;
|
||||
DWORD dwPanRightAmpFactor;
|
||||
} DSVOLUMEPAN,*PDSVOLUMEPAN;
|
||||
|
||||
typedef union _DSPROPERTY
|
||||
{
|
||||
struct {
|
||||
GUID Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
ULONG InstanceId;
|
||||
} DUMMYSTRUCTNAME;
|
||||
ULONGLONG Alignment;
|
||||
} DSPROPERTY,*PDSPROPERTY;
|
||||
|
||||
typedef struct _DSCDRIVERCAPS
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwFormats;
|
||||
DWORD dwChannels;
|
||||
} DSCDRIVERCAPS,*PDSCDRIVERCAPS;
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsDriver interface
|
||||
*/
|
||||
#define INTERFACE IDsDriver
|
||||
DECLARE_INTERFACE_(IDsDriver,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsDriver methods ***/
|
||||
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
|
||||
STDMETHOD(Open)(THIS) PURE;
|
||||
STDMETHOD(Close)(THIS) PURE;
|
||||
STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE;
|
||||
STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
|
||||
STDMETHOD(DuplicateSoundBuffer)(THIS_ PIDSDRIVERBUFFER pIDsDriverBuffer,LPVOID *ppvObj) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsDriver_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsDriver methods ***/
|
||||
#define IDsDriver_GetDriverDesc(p,a) (p)->lpVtbl->GetDriverDesc(p,a)
|
||||
#define IDsDriver_Open(p) (p)->lpVtbl->Open(p)
|
||||
#define IDsDriver_Close(p) (p)->lpVtbl->Close(p)
|
||||
#define IDsDriver_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDsDriver_CreateSoundBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c,d,e,f)
|
||||
#define IDsDriver_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsDriverBuffer interface
|
||||
*/
|
||||
#define INTERFACE IDsDriverBuffer
|
||||
DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsDriverBuffer methods ***/
|
||||
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
|
||||
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
|
||||
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
|
||||
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
|
||||
STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE;
|
||||
STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE;
|
||||
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
|
||||
STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE;
|
||||
STDMETHOD(Stop)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsDriverBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsDriverBuffer methods ***/
|
||||
#define IDsDriverBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
|
||||
#define IDsDriverBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
|
||||
#define IDsDriverBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
|
||||
#define IDsDriverBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
|
||||
#define IDsDriverBuffer_SetVolumePan(p,a) (p)->lpVtbl->SetVolumePan(p,a)
|
||||
#define IDsDriverBuffer_SetPosition(p,a) (p)->lpVtbl->SetPosition(p,a)
|
||||
#define IDsDriverBuffer_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
|
||||
#define IDsDriverBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
|
||||
#define IDsDriverBuffer_Stop(p) (p)->lpVtbl->Stop(p)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsDriverPropertySet interface
|
||||
*/
|
||||
#define INTERFACE IDsDriverPropertySet
|
||||
DECLARE_INTERFACE_(IDsDriverPropertySet,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsDriverPropertySet methods ***/
|
||||
STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE;
|
||||
STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE;
|
||||
STDMETHOD(QuerySupport)(THIS_ REFGUID PropertySetId,ULONG PropertyId,PULONG pSupport) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsDriverPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsDriverPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsDriverPropertySet_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsDriverPropertySet methods ***/
|
||||
#define IDsDriverPropertySet_Get(p,a,b,c,d,e,f) (p)->lpVtbl->Get(p,a,b,c,d,e,f)
|
||||
#define IDsDriverPropertySet_Set(p,a,b,c,d,e) (p)->lpVtbl->Set(p,a,b,c,d,e)
|
||||
#define IDsDriverPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
|
||||
#endif
|
||||
|
||||
/* Defined property sets */
|
||||
DEFINE_GUID(DSPROPSETID_DirectSound3DListener, 0x6D047B40, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
|
||||
typedef enum
|
||||
{
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_ALL,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_POSITION,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_BATCH,
|
||||
DSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION
|
||||
} DSPROPERTY_DIRECTSOUND3DLISTENER;
|
||||
|
||||
DEFINE_GUID(DSPROPSETID_DirectSound3DBuffer, 0x6D047B41, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
|
||||
typedef enum
|
||||
{
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_ALL,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_POSITION,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE,
|
||||
DSPROPERTY_DIRECTSOUND3DBUFFER_MODE
|
||||
} DSPROPERTY_DIRECTSOUND3DBUFFER;
|
||||
|
||||
DEFINE_GUID(DSPROPSETID_DirectSoundSpeakerConfig, 0x6D047B42, 0x7AF9, 0x11D0, 0x92, 0x94, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
|
||||
typedef enum
|
||||
{
|
||||
DSPROPERTY_DIRECTSOUNDSPEAKERCONFIG_SPEAKERCONFIG
|
||||
} DSPROPERTY_DIRECTSOUNDSPEAKERCONFIG;
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsDriverNotify interface
|
||||
*/
|
||||
#define INTERFACE IDsDriverNotify
|
||||
DECLARE_INTERFACE_(IDsDriverNotify,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsDriverNotify methods ***/
|
||||
STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsDriverNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsDriverNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsDriverNotify_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsDriverNotify methods ***/
|
||||
#define IDsDriverNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsCaptureDriver interface
|
||||
*/
|
||||
#define INTERFACE IDsCaptureDriver
|
||||
DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsCaptureDriver methods ***/
|
||||
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE;
|
||||
STDMETHOD(Open)(THIS) PURE;
|
||||
STDMETHOD(Close)(THIS) PURE;
|
||||
STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE;
|
||||
STDMETHOD(CreateCaptureBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsCaptureDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsCaptureDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsCaptureDriver_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsCaptureDriver methods ***/
|
||||
#define IDsCaptureDriver_GetDriverDesc(p,a) (p)->lpVtbl->GetDriverDesc(p,a)
|
||||
#define IDsCaptureDriver_Open(p) (p)->lpVtbl->Open(p)
|
||||
#define IDsCaptureDriver_Close(p) (p)->lpVtbl->Close(p)
|
||||
#define IDsCaptureDriver_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
|
||||
#define IDsCaptureDriver_CreateCaptureBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c,d,e,f)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDsCaptureDriverBuffer interface
|
||||
*/
|
||||
#define INTERFACE IDsCaptureDriverBuffer
|
||||
DECLARE_INTERFACE_(IDsCaptureDriverBuffer,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDsCaptureDriverBuffer methods ***/
|
||||
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE;
|
||||
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE;
|
||||
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE;
|
||||
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE;
|
||||
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
|
||||
STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
|
||||
STDMETHOD(Stop)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined (__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDsCaptureDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDsCaptureDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDsCaptureDriverBuffer_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDsCaptureDriverBuffer methods ***/
|
||||
#define IDsCaptureDriverBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
|
||||
#define IDsCaptureDriverBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
|
||||
#define IDsCaptureDriverBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
|
||||
#define IDsCaptureDriverBuffer_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
|
||||
#define IDsCaptureDriverBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
|
||||
#define IDsCaptureDriverBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
|
||||
#define IDsCaptureDriverBuffer_Stop(p) (p)->lpVtbl->Stop(p)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* __WINE_DSDRIVER_H */
|
||||
@@ -260,7 +260,10 @@ DEFINE_GUID(TID_DXFILEHeader, 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x
|
||||
|
||||
/* DirectX File errors */
|
||||
#define _FACDD 0x876
|
||||
|
||||
#ifndef MAKE_DDHRESULT
|
||||
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
|
||||
#endif
|
||||
|
||||
#define DXFILE_OK 0
|
||||
|
||||
|
||||
@@ -296,6 +296,7 @@ typedef struct _KEY_FULL_INFORMATION
|
||||
|
||||
typedef struct _KEY_NAME_INFORMATION
|
||||
{
|
||||
ULONG NameLength;
|
||||
WCHAR Name[1];
|
||||
} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
|
||||
|
||||
@@ -417,6 +418,16 @@ typedef struct _PLUGPLAY_EVENT_BLOCK
|
||||
// Plug and Play Control Classes
|
||||
//
|
||||
|
||||
//Class 0x09
|
||||
typedef struct _PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA
|
||||
{
|
||||
UNICODE_STRING DeviceInstance;
|
||||
LPGUID FilterGuid;
|
||||
ULONG Flags;
|
||||
PVOID Buffer;
|
||||
ULONG BufferSize;
|
||||
} PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA, *PPLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA;
|
||||
|
||||
//Class 0x0A
|
||||
typedef struct _PLUGPLAY_CONTROL_PROPERTY_DATA
|
||||
{
|
||||
|
||||
@@ -476,6 +476,7 @@ Author:
|
||||
#define EFLAGS_VIP 0x100000
|
||||
#define EFLAG_SIGN 0x8000
|
||||
#define EFLAG_ZERO 0x4000
|
||||
#define EFLAGS_ID 0x200000
|
||||
#define EFLAG_SELECT (EFLAG_SIGN + EFLAG_ZERO)
|
||||
#endif
|
||||
#define EFLAGS_USER_SANITIZE 0x3F4DD7
|
||||
|
||||
@@ -74,6 +74,7 @@ extern "C" {
|
||||
//
|
||||
// Flags in RTL_ACTIVATION_CONTEXT_STACK_FRAME (from Checked NTDLL)
|
||||
//
|
||||
#define RTL_ACTIVATION_CONTEXT_STACK_FRAME_FLAG_RELEASE_ON_DEACTIVATION 0x01
|
||||
#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
|
||||
@@ -884,6 +885,13 @@ typedef struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED
|
||||
typedef RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
|
||||
typedef PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
|
||||
|
||||
typedef struct _RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME
|
||||
{
|
||||
RTL_ACTIVATION_CONTEXT_STACK_FRAME Frame;
|
||||
ULONG_PTR Cookie;
|
||||
PVOID ActivationStackBackTrace[8];
|
||||
} RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME, *PRTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
typedef struct _ACTIVATION_CONTEXT_STACK
|
||||
{
|
||||
@@ -915,6 +923,16 @@ typedef struct _ACTIVATION_CONTEXT_DATA
|
||||
ULONG Flags;
|
||||
} ACTIVATION_CONTEXT_DATA, *PACTIVATION_CONTEXT_DATA;
|
||||
|
||||
typedef struct _ACTIVATION_CONTEXT_STACK_FRAMELIST
|
||||
{
|
||||
ULONG Magic;
|
||||
ULONG FramesInUse;
|
||||
LIST_ENTRY Links;
|
||||
ULONG Flags;
|
||||
ULONG NotFramesInUse;
|
||||
RTL_HEAP_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME Frames[32];
|
||||
} ACTIVATION_CONTEXT_STACK_FRAMELIST, *PACTIVATION_CONTEXT_STACK_FRAMELIST;
|
||||
|
||||
#endif /* NTOS_MODE_USER */
|
||||
|
||||
//
|
||||
|
||||
@@ -129,7 +129,7 @@ typedef LONG KPRIORITY;
|
||||
//
|
||||
#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) && !defined(_NTSECAPI_)
|
||||
|
||||
#ifndef __BCRYPT_H__
|
||||
#if !defined(__BCRYPT_H__) && !defined(__WINE_BCRYPT_H)
|
||||
typedef _Return_type_success_(return >= 0) long NTSTATUS, *PNTSTATUS;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -76,12 +76,146 @@ interface IRegistrar : IRegistrarBase
|
||||
[in] LPCOLESTR szType);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(425b5af0-65f1-11d1-9611-0000f81e0d0d)
|
||||
]
|
||||
interface IDocHostUIHandlerDispatch : IDispatch
|
||||
{
|
||||
HRESULT ShowContextMenu([in] DWORD id,
|
||||
[in] LONG x,
|
||||
[in] LONG y,
|
||||
[in] IUnknown *unkreserved,
|
||||
[in] IDispatch *dispreserved,
|
||||
[out, retval] HRESULT *retval);
|
||||
HRESULT GetHostInfo([in, out] DWORD *flags,
|
||||
[in, out] DWORD *doubleclick);
|
||||
HRESULT ShowUI([in] DWORD id,
|
||||
[in] IUnknown *activeobject,
|
||||
[in] IUnknown *cmdtarget,
|
||||
[in] IUnknown *frame,
|
||||
[in] IUnknown *doc,
|
||||
[out, retval] HRESULT *retval);
|
||||
HRESULT HideUI();
|
||||
HRESULT UpdateUI();
|
||||
HRESULT EnableModeless([in] VARIANT_BOOL enable);
|
||||
HRESULT OnDocWindowActivate([in] VARIANT_BOOL activate);
|
||||
HRESULT OnFrameWindowActivate([in] VARIANT_BOOL activate);
|
||||
HRESULT ResizeBorder([in] LONG left,
|
||||
[in] LONG top,
|
||||
[in] LONG right,
|
||||
[in] LONG bottom,
|
||||
[in] IUnknown *window,
|
||||
[in] VARIANT_BOOL framewindow);
|
||||
HRESULT TranslateAccelerator([in] HWND hwnd,
|
||||
[in] UINT msg,
|
||||
[in] WPARAM wparam,
|
||||
[in] LPARAM lparam,
|
||||
[in] BSTR guid_cmd_group,
|
||||
[out, retval] HRESULT *retval);
|
||||
HRESULT GetOptionKeyPath([out] BSTR *key,
|
||||
[in] DWORD reserved);
|
||||
HRESULT GetDropTarget([in] IUnknown *droptarget,
|
||||
[out] IUnknown **ret_droptarget);
|
||||
HRESULT GetExternal([out] IDispatch **disp);
|
||||
HRESULT TranslateUrl([in] DWORD reserved,
|
||||
[in] BSTR url,
|
||||
[out] BSTR *translated_url);
|
||||
HRESULT FilterDataObject([in] IUnknown *dataobject,
|
||||
[out] IUnknown **dataobject_ret);
|
||||
}
|
||||
|
||||
[
|
||||
dual,
|
||||
object,
|
||||
oleautomation,
|
||||
uuid(b6ea2051-048a-11d1-82b9-00c04fb9942e)
|
||||
]
|
||||
interface IAxWinAmbientDispatch : IDispatch
|
||||
{
|
||||
[propput]
|
||||
HRESULT AllowWindowlessActivation([in] VARIANT_BOOL allow);
|
||||
[propget]
|
||||
HRESULT AllowWindowlessActivation([out, retval] VARIANT_BOOL *allowed);
|
||||
[propput, id(-701)]
|
||||
HRESULT BackColor([in] OLE_COLOR color);
|
||||
[propget, id(-701)]
|
||||
HRESULT BackColor([out, retval] OLE_COLOR *color);
|
||||
[propput, id(-704)]
|
||||
HRESULT ForeColor([in] OLE_COLOR color);
|
||||
[propget, id(-704)]
|
||||
HRESULT ForeColor([out, retval] OLE_COLOR *color);
|
||||
[propput, id(-705)]
|
||||
HRESULT LocaleID([in] LCID lcid);
|
||||
[propget, id(-705)]
|
||||
HRESULT LocaleID([out, retval] LCID *lcid);
|
||||
[propput, id(-709)]
|
||||
HRESULT UserMode([in] VARIANT_BOOL mode);
|
||||
[propget, id(-709)]
|
||||
HRESULT UserMode([out, retval] VARIANT_BOOL *mode);
|
||||
[propput, id(-713)]
|
||||
HRESULT DisplayAsDefault([in] VARIANT_BOOL display);
|
||||
[propget, id(-713)]
|
||||
HRESULT DisplayAsDefault([out, retval] VARIANT_BOOL *display);
|
||||
[propput, id(-703)]
|
||||
HRESULT Font([in] IFontDisp *font);
|
||||
[propget, id(-703)]
|
||||
HRESULT Font([out, retval] IFontDisp **font);
|
||||
[propput, id(-706)]
|
||||
HRESULT MessageReflect([in] VARIANT_BOOL reflect);
|
||||
[propget, id(-706)]
|
||||
HRESULT MessageReflect([out, retval] VARIANT_BOOL *reflect);
|
||||
[propget, id(-711)]
|
||||
HRESULT ShowGrabHandles([out, retval] VARIANT_BOOL *show);
|
||||
[propget, id(-712)]
|
||||
HRESULT ShowHatching([out, retval] VARIANT_BOOL *show);
|
||||
[propput]
|
||||
HRESULT DocHostFlags([in] DWORD flags);
|
||||
[propget]
|
||||
HRESULT DocHostFlags([out, retval] DWORD *flags);
|
||||
[propput]
|
||||
HRESULT DocHostDoubleClickFlags([in] DWORD flags);
|
||||
[propget]
|
||||
HRESULT DocHostDoubleClickFlags([out, retval] DWORD *flags);
|
||||
[propput]
|
||||
HRESULT AllowContextMenu([in] VARIANT_BOOL allow);
|
||||
[propget]
|
||||
HRESULT AllowContextMenu([out, retval] VARIANT_BOOL *allow);
|
||||
[propput]
|
||||
HRESULT AllowShowUI([in] VARIANT_BOOL allow);
|
||||
[propget]
|
||||
HRESULT AllowShowUI([out, retval] VARIANT_BOOL *allow);
|
||||
[propput]
|
||||
HRESULT OptionKeyPath([in] BSTR path);
|
||||
[propget]
|
||||
HRESULT OptionKeyPath([out, retval] BSTR *path);
|
||||
}
|
||||
|
||||
[
|
||||
dual,
|
||||
object,
|
||||
oleautomation,
|
||||
uuid(b2d0778b-ac99-4c58-a5c8-e7724e5316b5)
|
||||
]
|
||||
interface IAxWinAmbientDispatchEx : IAxWinAmbientDispatch
|
||||
{
|
||||
[id(100)]
|
||||
HRESULT SetAmbientDispatch([in] IDispatch *disp);
|
||||
}
|
||||
|
||||
cpp_quote("DEFINE_GUID(CLSID_Registrar,0x44ec053a,0x400f,0x11d0,0x9d,0xcd,0x00,0xa0,0xc9,0x03,0x91,0xd3);")
|
||||
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControlLic(LPCOLESTR,HWND,IStream*,IUnknown**,BSTR);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxCreateControlLicEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*,BSTR);")
|
||||
cpp_quote("BOOL WINAPI AtlAxWinInit(void);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxGetControl(HWND,IUnknown**);")
|
||||
cpp_quote("HRESULT WINAPI AtlAxGetHost(HWND,IUnknown**);")
|
||||
|
||||
cpp_quote("HWND WINAPI AtlAxCreateDialogW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);")
|
||||
cpp_quote("HWND WINAPI AtlAxCreateDialogA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);")
|
||||
cpp_quote("#define AtlAxCreateDialog WINELIB_NAME_AW(AtlAxCreateDialog)")
|
||||
cpp_quote("INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);")
|
||||
cpp_quote("INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);")
|
||||
cpp_quote("#define AtlAxDialogBox WINELIB_NAME_AW(AtlAxDialogBox)")
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
|
||||
#ifndef _NTDEF_
|
||||
typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
|
||||
typedef NTSTATUS *PNTSTATUS;
|
||||
#endif
|
||||
|
||||
typedef struct _BCRYPT_ALGORITHM_IDENTIFIER
|
||||
|
||||
@@ -247,6 +247,7 @@ extern "C" {
|
||||
#define CDRF_NOTIFYITEMDRAW 0x20
|
||||
#define CDRF_NOTIFYSUBITEMDRAW 0x20
|
||||
#define CDRF_NOTIFYPOSTERASE 0x40
|
||||
#define CDRF_NOTIFYITEMERASE 0x00000080 /* obsolete ??? */
|
||||
|
||||
#define CDDS_PREPAINT 0x1
|
||||
#define CDDS_POSTPAINT 0x2
|
||||
@@ -4716,8 +4717,18 @@ typedef struct {
|
||||
_In_ PFNDSAENUMCALLBACK pfnCB,
|
||||
_In_opt_ void *pData);
|
||||
|
||||
WINCOMMCTRLAPI
|
||||
VOID
|
||||
WINAPI
|
||||
DSA_EnumCallback(
|
||||
_In_ HDSA hdsa,
|
||||
_In_ PFNDSAENUMCALLBACK enumProc,
|
||||
_In_opt_ LPVOID lParam);
|
||||
|
||||
WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(_In_ HDSA hdsa, int i);
|
||||
|
||||
WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteAllItems(_In_ HDSA hdsa);
|
||||
|
||||
WINCOMMCTRLAPI
|
||||
int
|
||||
WINAPI
|
||||
|
||||
@@ -66,9 +66,7 @@ cpp_quote("HRESULT WINAPI ImageList_CoCreateInstance(REFCLSID,const IUnknown *,
|
||||
const UINT ILIF_ALPHA = 1;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(46EB5926-582E-4017-9FDF-E8998DAA0950),
|
||||
helpstring("Image List"),
|
||||
uuid(46eb5926-582e-4017-9fdf-e8998daa0950),
|
||||
local
|
||||
]
|
||||
interface IImageList : IUnknown
|
||||
@@ -200,15 +198,44 @@ interface IImageList : IUnknown
|
||||
}
|
||||
|
||||
[
|
||||
uuid(BCADA15B-B428-420c-8D28-023590924C9F)
|
||||
uuid(192b9d83-50fc-457b-90a0-2b82a8b5dae1),
|
||||
local
|
||||
]
|
||||
interface IImageList2 : IImageList
|
||||
{
|
||||
typedef struct tagIMAGELISTSTATS
|
||||
{
|
||||
DWORD cbSize;
|
||||
INT cAlloc;
|
||||
INT cUsed;
|
||||
INT cStandby;
|
||||
} IMAGELISTSTATS;
|
||||
|
||||
HRESULT Resize(INT x_size, INT y_size);
|
||||
HRESULT GetOriginalSize([in] INT image, [in] DWORD flags, [out] INT *cx, [out] INT *cy);
|
||||
HRESULT SetOriginalSize([in] INT image, [in] INT cx, [in] INT cy);
|
||||
HRESULT SetCallback([in, unique] IUnknown *callback);
|
||||
HRESULT GetCallback([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
||||
HRESULT ForceImagePresent([in] INT image, DWORD flags);
|
||||
HRESULT DiscardImages([in] INT first_image, [in] INT last_image, [in] DWORD flags);
|
||||
HRESULT PreloadImages([in] IMAGELISTDRAWPARAMS *params);
|
||||
HRESULT GetStatistics([in, out] IMAGELISTSTATS *stats);
|
||||
HRESULT Initialize([in] INT cx, [in] INT cy, [in] UINT flags, [in] INT initial, [in] INT grow);
|
||||
HRESULT Replace2([in] INT i, [in] HBITMAP image, [in, unique] HBITMAP mask, [in, unique] IUnknown *unk, [in] DWORD flags);
|
||||
HRESULT ReplaceFromImageList([in] INT i, [in] IImageList *imagelist, [in] INT src, [in, unique] IUnknown *unk, [in] DWORD flags);
|
||||
}
|
||||
|
||||
[
|
||||
uuid(bcada15B-b428-420c-8d28-023590924c9f)
|
||||
]
|
||||
library CommonControlObjects
|
||||
{
|
||||
[
|
||||
uuid(7C476BA2-02B1-48f4-8048-B24619DDC058)
|
||||
uuid(7c476ba2-02b1-48f4-8048-b24619ddc058)
|
||||
]
|
||||
coclass ImageList
|
||||
{
|
||||
interface IImageList;
|
||||
interface IImageList2;
|
||||
}
|
||||
}
|
||||
|
||||
+52
-40
@@ -129,6 +129,7 @@ typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLU
|
||||
/*****************************************************************************
|
||||
* IDirect3D8 interface
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3D8
|
||||
DECLARE_INTERFACE_(IDirect3D8,IUnknown)
|
||||
{
|
||||
@@ -205,12 +206,12 @@ DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DVolume8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockBox)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
@@ -256,7 +257,8 @@ DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DSwapChain8 methods ***/
|
||||
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
|
||||
STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
|
||||
const RGNDATA *dirty_region) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface8 ** ppBackBuffer) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
@@ -267,7 +269,7 @@ DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
|
||||
#define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirect3DSwapChain8 methods ***/
|
||||
#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->lpVtbl->Present(p,a,b,c)
|
||||
#define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
|
||||
#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
@@ -275,7 +277,7 @@ DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
|
||||
#define IDirect3DSwapChain8_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DSwapChain8_Release(p) (p)->Release()
|
||||
/*** IDirect3DSwapChain8 methods ***/
|
||||
#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->Present(a,b,c)
|
||||
#define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
|
||||
#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
|
||||
#endif
|
||||
|
||||
@@ -291,12 +293,12 @@ DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DSurface8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
@@ -343,7 +345,7 @@ DECLARE_INTERFACE_(IDirect3DResource8,IUnknown)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -395,7 +397,7 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -459,7 +461,7 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -523,7 +525,7 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -587,7 +589,7 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -601,9 +603,10 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
|
||||
/*** IDirect3DCubeTexture8 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
|
||||
STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES face, UINT level, D3DLOCKED_RECT *locked_rect,
|
||||
const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES face, const RECT *dirty_rect) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
@@ -669,7 +672,7 @@ DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -683,9 +686,9 @@ DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8)
|
||||
/*** IDirect3DTexture8 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
|
||||
STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ const RECT *dirty_rect) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
@@ -751,7 +754,7 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource8 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -765,9 +768,9 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
|
||||
/*** IDirect3DVolumeTexture8 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE;
|
||||
STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ UINT level, D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE;
|
||||
STDMETHOD(AddDirtyBox)(THIS_ const D3DBOX *dirty_box) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
@@ -844,10 +847,11 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE;
|
||||
STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE;
|
||||
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE;
|
||||
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
|
||||
STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
|
||||
const RGNDATA *dirty_region) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE;
|
||||
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE;
|
||||
STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE;
|
||||
STDMETHOD_(void, SetGammaRamp)(THIS_ DWORD flags, const D3DGAMMARAMP *ramp) PURE;
|
||||
STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE;
|
||||
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE;
|
||||
@@ -857,7 +861,8 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE;
|
||||
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE;
|
||||
STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE;
|
||||
STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE;
|
||||
STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 *src_surface, const RECT *src_rects,
|
||||
UINT rect_count, IDirect3DSurface8 *dst_surface, const POINT *dst_points) PURE;
|
||||
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE;
|
||||
STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE;
|
||||
STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE;
|
||||
@@ -865,19 +870,20 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE;
|
||||
STDMETHOD(BeginScene)(THIS) PURE;
|
||||
STDMETHOD(EndScene)(THIS) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags, D3DCOLOR color,
|
||||
float z, DWORD stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT8 *viewport) PURE;
|
||||
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL8 *material) PURE;
|
||||
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT8 *light) PURE;
|
||||
STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE;
|
||||
STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
|
||||
STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD index, const float *plane) PURE;
|
||||
STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE;
|
||||
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE;
|
||||
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE;
|
||||
@@ -887,7 +893,7 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE;
|
||||
STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE;
|
||||
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS8 *clip_status) PURE;
|
||||
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE;
|
||||
STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE;
|
||||
STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE;
|
||||
@@ -895,20 +901,24 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
|
||||
STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE;
|
||||
STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
|
||||
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE;
|
||||
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
|
||||
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE;
|
||||
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT primitive_count,
|
||||
const void *data, UINT stride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx,
|
||||
UINT vertex_count, UINT primitive_count, const void *index_data, D3DFORMAT index_format,
|
||||
const void *data, UINT stride) PURE;
|
||||
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ const DWORD *declaration, const DWORD *byte_code,
|
||||
DWORD *shader, DWORD usage) PURE;
|
||||
STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE;
|
||||
STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE;
|
||||
STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE;
|
||||
STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD reg_idx, const void *data, DWORD count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
|
||||
STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
|
||||
@@ -916,15 +926,17 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
|
||||
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE;
|
||||
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE;
|
||||
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, DWORD *shader) PURE;
|
||||
STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE;
|
||||
STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE;
|
||||
STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE;
|
||||
STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD reg_idx, const void *data, DWORD count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
|
||||
STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count,
|
||||
const D3DRECTPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count,
|
||||
const D3DTRIPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
|
||||
#endif
|
||||
|
||||
/****************************
|
||||
/****************************
|
||||
* Vertex Shaders Declaration
|
||||
*/
|
||||
|
||||
@@ -170,7 +170,7 @@ typedef enum _D3DVSD_TOKENTYPE {
|
||||
D3DVSD_FORCE_DWORD = 0x7FFFFFFF
|
||||
} D3DVSD_TOKENTYPE;
|
||||
|
||||
/** input registers for vertes shaders functions */
|
||||
/** input registers for vertex shaders functions */
|
||||
/*
|
||||
#define D3DVSDE_POSITION 0
|
||||
#define D3DVSDE_BLENDWEIGHT 1
|
||||
@@ -683,7 +683,7 @@ typedef enum _D3DMULTISAMPLE_TYPE {
|
||||
D3DMULTISAMPLE_15_SAMPLES = 15,
|
||||
D3DMULTISAMPLE_16_SAMPLES = 16,
|
||||
|
||||
D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
|
||||
D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
|
||||
} D3DMULTISAMPLE_TYPE;
|
||||
|
||||
typedef enum _D3DORDERTYPE {
|
||||
@@ -1053,11 +1053,14 @@ typedef struct _D3DINDEXBUFFER_DESC {
|
||||
UINT Size;
|
||||
} D3DINDEXBUFFER_DESC;
|
||||
|
||||
#ifndef D3DVECTOR_DEFINED
|
||||
typedef struct _D3DVECTOR {
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
} D3DVECTOR;
|
||||
#define D3DVECTOR_DEFINED
|
||||
#endif
|
||||
|
||||
typedef struct _D3DLIGHT8 {
|
||||
D3DLIGHTTYPE Type;
|
||||
@@ -1131,6 +1134,8 @@ typedef struct _D3DPRESENT_PARAMETERS_ {
|
||||
|
||||
} D3DPRESENT_PARAMETERS;
|
||||
|
||||
#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
|
||||
|
||||
typedef struct _D3DRANGE {
|
||||
UINT Offset;
|
||||
UINT Size;
|
||||
|
||||
+229
-113
@@ -17,8 +17,8 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_D3D9_H
|
||||
#define __WINE_D3D9_H
|
||||
#ifndef _D3D9_H_
|
||||
#define _D3D9_H_
|
||||
|
||||
#ifndef DIRECT3D_VERSION
|
||||
#define DIRECT3D_VERSION 0x0900
|
||||
@@ -47,6 +47,12 @@
|
||||
#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
|
||||
#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L
|
||||
#define D3DCREATE_ADAPTERGROUP_DEVICE 0x00000200L
|
||||
#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 0x00000400L
|
||||
#define D3DCREATE_NOWINDOWCHANGES 0x00000800L
|
||||
#define D3DCREATE_DISABLE_PSGP_THREADING 0x00002000L
|
||||
#define D3DCREATE_ENABLE_PRESENTSTATS 0x00004000L
|
||||
#define D3DCREATE_DISABLE_PRINTSCREEN 0x00008000L
|
||||
#define D3DCREATE_SCREENSAVER 0x10000000L
|
||||
|
||||
/*****************************************************************************
|
||||
* Flags for SetPrivateData
|
||||
@@ -57,16 +63,8 @@
|
||||
/*****************************************************************************
|
||||
* #defines and error codes
|
||||
*/
|
||||
#ifdef D3D_DEBUG_INFO
|
||||
#define D3D_SDK_VERSION (32 | 0x80000000L)
|
||||
#define D3D9b_SDK_VERSION (31 | 0x80000000L)
|
||||
#else
|
||||
#define D3D_SDK_VERSION 32
|
||||
#define D3D9b_SDK_VERSION 31
|
||||
#endif
|
||||
|
||||
#define D3DADAPTER_DEFAULT 0
|
||||
#define D3DENUM_WHQL_LEVEL 0x00000002L
|
||||
#define D3DENUM_NO_WHQL_LEVEL 0x00000002L
|
||||
#define D3DPRESENT_BACK_BUFFERS_MAX 3L
|
||||
#define D3DSGR_NO_CALIBRATION 0x00000000L
|
||||
@@ -104,6 +102,18 @@
|
||||
#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
|
||||
#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
|
||||
|
||||
#define D3DERR_DEVICEREMOVED MAKE_D3DHRESULT(2160)
|
||||
#define D3DERR_DEVICEHUNG MAKE_D3DHRESULT(2164)
|
||||
#define S_NOT_RESIDENT MAKE_D3DSTATUS(2165)
|
||||
#define S_RESIDENT_IN_SHARED_MEMORY MAKE_D3DSTATUS(2166)
|
||||
#define S_PRESENT_MODE_CHANGED MAKE_D3DSTATUS(2167)
|
||||
#define S_PRESENT_OCCLUDED MAKE_D3DSTATUS(2168)
|
||||
#define D3DERR_UNSUPPORTEDOVERLAY MAKE_D3DHRESULT(2171)
|
||||
#define D3DERR_UNSUPPORTEDOVERLAYFORMAT MAKE_D3DHRESULT(2172)
|
||||
#define D3DERR_CANNOTPROTECTCONTENT MAKE_D3DHRESULT(2173)
|
||||
#define D3DERR_UNSUPPORTEDCRYPTO MAKE_D3DHRESULT(2174)
|
||||
#define D3DERR_PRESENT_STATISTICS_DISJOINT MAKE_D3DHRESULT(2180)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
@@ -132,7 +142,7 @@ typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
|
||||
DEFINE_GUID(IID_IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
|
||||
typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
|
||||
|
||||
DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
|
||||
DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
|
||||
typedef struct IDirect3DSwapChain9Ex *LPDIRECT3DSWAPCHAIN9EX, *PDIRECT3DSWAPCHAIN9EX;
|
||||
|
||||
DEFINE_GUID(IID_IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
|
||||
@@ -171,6 +181,7 @@ typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
|
||||
/*****************************************************************************
|
||||
* IDirect3D9 interface
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirect3D9
|
||||
DECLARE_INTERFACE_(IDirect3D9,IUnknown)
|
||||
{
|
||||
@@ -193,14 +204,13 @@ DECLARE_INTERFACE_(IDirect3D9,IUnknown)
|
||||
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
|
||||
STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
|
||||
STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
|
||||
|
||||
#ifdef D3D_DEBUG_INFO
|
||||
LPCWSTR Version;
|
||||
#endif
|
||||
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -254,7 +264,15 @@ DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3D9 methods ***/
|
||||
|
||||
/* Note: Microsoft's d3d9.h does not declare IDirect3D9Ex::RegisterSoftwareDevice . This would mean that
|
||||
* the offsets of the other methods in the Vtable change too. This is wrong. In Microsoft's
|
||||
* d3d9.dll, the offsets for the other functions are still compatible with IDirect3D9.
|
||||
* This is probably because even in MS header IDirect3D9Ex inherits from IDirect3D9, which makes the
|
||||
* C++ interface compatible, and nobody uses the C interface in Windows world.
|
||||
*/
|
||||
STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
|
||||
|
||||
STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
|
||||
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
|
||||
STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
|
||||
@@ -269,14 +287,19 @@ DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
|
||||
STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
|
||||
STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
|
||||
/*** IDirect3D9Ex methods ***/
|
||||
STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter) PURE;
|
||||
STDMETHOD(EnumAdapterModesEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode) PURE;
|
||||
STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT adapter_idx, const D3DDISPLAYMODEFILTER *filter) PURE;
|
||||
STDMETHOD(EnumAdapterModesEx)(THIS_ UINT adapter_idx, const D3DDISPLAYMODEFILTER *filter,
|
||||
UINT mode_idx, D3DDISPLAYMODEEX *mode) PURE;
|
||||
STDMETHOD(GetAdapterDisplayModeEx)(THIS_ UINT Adapter, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation);
|
||||
STDMETHOD(CreateDeviceEx)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, struct IDirect3DDevice9Ex **ppReturnedDeviceInterface) PURE;
|
||||
STDMETHOD(GetAdapterLUID)(THIS_ UINT Adatper, LUID *pLUID) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3D9Ex, 0x02177241, 0x69FC, 0x400C, 0x8F, 0xF1, 0x93, 0xA4, 0x4D, 0xF6, 0x86, 0x1D);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -337,16 +360,20 @@ DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DVolume9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockBox)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -384,20 +411,25 @@ DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
|
||||
DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DSwapChain9 methods ***/
|
||||
STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) PURE;
|
||||
STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9* pDestSurface) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9** ppBackBuffer) PURE;
|
||||
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
|
||||
STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
|
||||
STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
|
||||
const RGNDATA *dirty_region, DWORD flags) PURE;
|
||||
STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9 *pDestSurface) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9 **ppBackBuffer) PURE;
|
||||
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS *pRasterStatus) PURE;
|
||||
STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE *pMode) PURE;
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **ppDevice) PURE;
|
||||
STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -452,6 +484,10 @@ DECLARE_INTERFACE_(IDirect3DSwapChain9Ex,IDirect3DSwapChain9)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DSwapChain9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -500,7 +536,7 @@ DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -510,6 +546,10 @@ DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -552,7 +592,7 @@ DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -562,13 +602,17 @@ DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
|
||||
/*** IDirect3DSurface9 methods ***/
|
||||
STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS) PURE;
|
||||
STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE;
|
||||
STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -625,7 +669,7 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -639,6 +683,10 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -689,7 +737,7 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -703,6 +751,10 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -753,7 +805,7 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -770,6 +822,10 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -826,7 +882,7 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -843,12 +899,17 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
|
||||
/*** IDirect3DCubeTexture9 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES face, UINT level,
|
||||
D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES face, const RECT *dirty_rect) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -917,7 +978,7 @@ DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -934,12 +995,16 @@ DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
|
||||
/*** IDirect3DTexture9 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
|
||||
STDMETHOD(LockRect)(THIS_ UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
|
||||
STDMETHOD(AddDirtyRect)(THIS_ const RECT *dirty_rect) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1008,7 +1073,7 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DResource9 methods ***/
|
||||
STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
|
||||
STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
|
||||
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
|
||||
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
@@ -1025,12 +1090,16 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
|
||||
/*** IDirect3DVolumeTexture9 methods ***/
|
||||
STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE;
|
||||
STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
|
||||
STDMETHOD(LockBox)(THIS_ UINT level, D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
|
||||
STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
|
||||
STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
|
||||
STDMETHOD(AddDirtyBox)(THIS_ const D3DBOX *dirty_box) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1103,6 +1172,10 @@ DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1137,6 +1210,10 @@ DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1171,6 +1248,10 @@ DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1206,6 +1287,10 @@ DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1245,6 +1330,10 @@ DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1294,11 +1383,12 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
|
||||
STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
|
||||
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
|
||||
STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
|
||||
STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect,
|
||||
HWND dst_window_override, const RGNDATA *dirty_region) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
|
||||
STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
|
||||
STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
|
||||
STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
|
||||
STDMETHOD_(void, SetGammaRamp)(THIS_ UINT swapchain_idx, DWORD flags, const D3DGAMMARAMP *ramp) PURE;
|
||||
STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
|
||||
@@ -1307,12 +1397,14 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
|
||||
STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
|
||||
IDirect3DSurface9 *dst_surface, const POINT *dst_point) PURE;
|
||||
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
|
||||
STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
|
||||
STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
|
||||
STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
|
||||
STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
|
||||
STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
|
||||
IDirect3DSurface9 *dst_surface, const RECT *dst_rect, D3DTEXTUREFILTERTYPE filter) PURE;
|
||||
STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9 *surface, const RECT *rect, D3DCOLOR color) PURE;
|
||||
STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
|
||||
STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
|
||||
@@ -1320,26 +1412,27 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
|
||||
STDMETHOD(BeginScene)(THIS) PURE;
|
||||
STDMETHOD(EndScene)(THIS) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags,
|
||||
D3DCOLOR color, float z, DWORD stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT9 *viewport) PURE;
|
||||
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL9 *material) PURE;
|
||||
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT9 *light) PURE;
|
||||
STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
|
||||
STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
|
||||
STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD index, const float *plane) PURE;
|
||||
STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
|
||||
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
|
||||
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
|
||||
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
|
||||
STDMETHOD(BeginStateBlock)(THIS) PURE;
|
||||
STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS9 *clip_status) PURE;
|
||||
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
|
||||
STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
|
||||
STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
|
||||
@@ -1348,11 +1441,11 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
|
||||
STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
|
||||
STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
|
||||
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
|
||||
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
|
||||
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
|
||||
STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
|
||||
STDMETHOD(SetScissorRect)(THIS_ const RECT *rect) PURE;
|
||||
STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
|
||||
STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
|
||||
STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
|
||||
@@ -1360,22 +1453,25 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
|
||||
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type,
|
||||
UINT primitive_count, const void *data, UINT stride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count,
|
||||
UINT primitive_count, const void *index_data, D3DFORMAT index_format, const void *data, UINT stride) PURE;
|
||||
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
|
||||
STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
|
||||
STDMETHOD(CreateVertexDeclaration)(THIS_ const D3DVERTEXELEMENT9 *elements,
|
||||
IDirect3DVertexDeclaration9 **declaration) PURE;
|
||||
STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
|
||||
STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
|
||||
STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
|
||||
STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ const DWORD *byte_code, IDirect3DVertexShader9 **shader) PURE;
|
||||
STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
|
||||
STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
|
||||
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
|
||||
@@ -1383,22 +1479,26 @@ DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
|
||||
STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
|
||||
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
|
||||
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, IDirect3DPixelShader9 **shader) PURE;
|
||||
STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
|
||||
STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count, const D3DRECTPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count, const D3DTRIPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
|
||||
STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -1671,11 +1771,12 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
|
||||
STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
|
||||
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
|
||||
STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
|
||||
STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect,
|
||||
HWND dst_window_override, const RGNDATA *dirty_region) PURE;
|
||||
STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
|
||||
STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
|
||||
STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
|
||||
STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
|
||||
STDMETHOD_(void, SetGammaRamp)(THIS_ UINT swapchain_idx, DWORD flags, const D3DGAMMARAMP *ramp) PURE;
|
||||
STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
|
||||
@@ -1684,12 +1785,14 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
|
||||
STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
|
||||
IDirect3DSurface9 *dst_surface, const POINT *dst_point) PURE;
|
||||
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
|
||||
STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
|
||||
STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
|
||||
STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
|
||||
STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
|
||||
STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
|
||||
IDirect3DSurface9 *dst_surface, const RECT *dst_rect, D3DTEXTUREFILTERTYPE filter) PURE;
|
||||
STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9 *surface, const RECT *rect, D3DCOLOR color) PURE;
|
||||
STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
|
||||
STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
|
||||
STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
|
||||
@@ -1697,26 +1800,27 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
|
||||
STDMETHOD(BeginScene)(THIS) PURE;
|
||||
STDMETHOD(EndScene)(THIS) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags,
|
||||
D3DCOLOR color, float z, DWORD stencil) PURE;
|
||||
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
|
||||
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
|
||||
STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT9 *viewport) PURE;
|
||||
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
|
||||
STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL9 *material) PURE;
|
||||
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
|
||||
STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT9 *light) PURE;
|
||||
STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
|
||||
STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
|
||||
STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
|
||||
STDMETHOD(SetClipPlane)(THIS_ DWORD index, const float *plane) PURE;
|
||||
STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
|
||||
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
|
||||
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
|
||||
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
|
||||
STDMETHOD(BeginStateBlock)(THIS) PURE;
|
||||
STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
|
||||
STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS9 *clip_status) PURE;
|
||||
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
|
||||
STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
|
||||
STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
|
||||
@@ -1725,11 +1829,11 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
|
||||
STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
|
||||
STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
|
||||
STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
|
||||
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
|
||||
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
|
||||
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
|
||||
STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
|
||||
STDMETHOD(SetScissorRect)(THIS_ const RECT *rect) PURE;
|
||||
STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
|
||||
STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
|
||||
STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
|
||||
@@ -1737,22 +1841,25 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
|
||||
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
|
||||
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type,
|
||||
UINT primitive_count, const void *data, UINT stride) PURE;
|
||||
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count,
|
||||
UINT primitive_count, const void *index_data, D3DFORMAT index_format, const void *data, UINT stride) PURE;
|
||||
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
|
||||
STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
|
||||
STDMETHOD(CreateVertexDeclaration)(THIS_ const D3DVERTEXELEMENT9 *elements,
|
||||
IDirect3DVertexDeclaration9 **declaration) PURE;
|
||||
STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
|
||||
STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
|
||||
STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
|
||||
STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
|
||||
STDMETHOD(CreateVertexShader)(THIS_ const DWORD *byte_core, IDirect3DVertexShader9 **shader) PURE;
|
||||
STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
|
||||
STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
|
||||
STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
|
||||
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
|
||||
@@ -1760,38 +1867,47 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
|
||||
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
|
||||
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
|
||||
STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, IDirect3DPixelShader9 **shader) PURE;
|
||||
STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
|
||||
STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
|
||||
STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
|
||||
STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count, const D3DRECTPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count, const D3DTRIPATCH_INFO *patch_info) PURE;
|
||||
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
|
||||
STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
|
||||
/* IDirect3DDevice9Ex methods */
|
||||
STDMETHOD(SetConvolutionMonoKernel)(THIS_ UINT width, UINT height, float *rows, float *columns) PURE;
|
||||
STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *pSrc, IDirect3DSurface9 *pDst, IDirect3DVertexBuffer9 *pSrcRectDescs, UINT NumRects, IDirect3DVertexBuffer9 *pDstRectDescs, D3DCOMPOSERECTSOP Operation, int Xoffset, int Yoffset) PURE;
|
||||
STDMETHOD(PresentEx)(THIS_ CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) PURE;
|
||||
STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *src_surface, IDirect3DSurface9 *dst_surface,
|
||||
IDirect3DVertexBuffer9 *src_descs, UINT rect_count, IDirect3DVertexBuffer9 *dst_descs,
|
||||
D3DCOMPOSERECTSOP operation, INT offset_x, INT offset_y) PURE;
|
||||
STDMETHOD(PresentEx)(THIS_ const RECT *src_rect, const RECT *dst_rect,
|
||||
HWND dst_window_override, const RGNDATA *dirty_region, DWORD flags) PURE;
|
||||
STDMETHOD(GetGPUThreadPriority)(THIS_ INT *pPriority) PURE;
|
||||
STDMETHOD(SetGPUThreadPriority)(THIS_ INT Priority) PURE;
|
||||
STDMETHOD(WaitForVBlank)(THIS_ UINT iSwapChain) PURE;
|
||||
STDMETHOD(CheckresourceResidency)(THIS_ IDirect3DResource9 ** pResourceArray, UINT32 Numresources) PURE;
|
||||
STDMETHOD(CheckResourceResidency)(THIS_ IDirect3DResource9 **resources, UINT32 resource_count) PURE;
|
||||
STDMETHOD(SetMaximumFrameLatency)(THIS_ UINT MaxLatency) PURE;
|
||||
STDMETHOD(GetMaximumFrameLatency)(THIS_ UINT *pMaxLatenxy) PURE;
|
||||
STDMETHOD(CheckdeviceState)(THIS_ HWND hDestinationWindow) PURE;
|
||||
STDMETHOD(CheckDeviceState)(THIS_ HWND dst_window) PURE;
|
||||
STDMETHOD(CreateRenderTargetEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Lockable, IDirect3DSurface9 ** ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
|
||||
STDMETHOD(CreateOffscreenPlainSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
|
||||
STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Discard, IDirect3DSurface9 **ppSurfface, HANDLE *pSharedHandle, DWORD Usage) PURE;
|
||||
STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT width, UINT height, D3DFORMAT format,
|
||||
D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL discard,
|
||||
IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
|
||||
STDMETHOD(ResetEx)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode) PURE;
|
||||
STDMETHOD(GetDisplayModeEx)(THIS_ UINT iSwapChain, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL(IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
@@ -2070,25 +2186,25 @@ DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
|
||||
#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->GetDisplayModeEx(a,b,c)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
int WINAPI D3DPERF_BeginEvent(D3DCOLOR,LPCWSTR);
|
||||
int WINAPI D3DPERF_EndEvent(void);
|
||||
DWORD WINAPI D3DPERF_GetStatus(void);
|
||||
BOOL WINAPI D3DPERF_QueryRepeatFrame(void);
|
||||
void WINAPI D3DPERF_SetMarker(D3DCOLOR,LPCWSTR);
|
||||
void WINAPI D3DPERF_SetOptions(DWORD);
|
||||
void WINAPI D3DPERF_SetRegion(D3DCOLOR,LPCWSTR);
|
||||
int WINAPI D3DPERF_BeginEvent(D3DCOLOR color, const WCHAR *name);
|
||||
int WINAPI D3DPERF_EndEvent(void);
|
||||
DWORD WINAPI D3DPERF_GetStatus(void);
|
||||
BOOL WINAPI D3DPERF_QueryRepeatFrame(void);
|
||||
void WINAPI D3DPERF_SetMarker(D3DCOLOR color, const WCHAR *name);
|
||||
void WINAPI D3DPERF_SetOptions(DWORD options);
|
||||
void WINAPI D3DPERF_SetRegion(D3DCOLOR color, const WCHAR *name);
|
||||
|
||||
/* Define the main entrypoint as well */
|
||||
IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
|
||||
HRESULT WINAPI Direct3DCreate9Ex(UINT SDKVersion, IDirect3D9Ex**);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
|
||||
#endif /* __WINE_D3D9_H */
|
||||
#endif /* _D3D9_H_ */
|
||||
|
||||
+31
-64
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2002-2003 Jason Edmeades
|
||||
* Copyright (C) 2002-2003 Jason Edmeades
|
||||
* Copyright (C) 2002-2003 Raphael Junqueira
|
||||
* Copyright (C) 2005 Oliver Stieber
|
||||
*
|
||||
@@ -21,10 +21,6 @@
|
||||
#ifndef __WINE_D3D9TYPES_H
|
||||
#define __WINE_D3D9TYPES_H
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0900)
|
||||
|
||||
#pragma pack(push, 4)
|
||||
|
||||
/*****************************************************************************
|
||||
* Direct 3D v9 #defines
|
||||
*/
|
||||
@@ -112,9 +108,6 @@
|
||||
#define D3DUSAGE_DYNAMIC 0x00000200L
|
||||
#define D3DUSAGE_AUTOGENMIPMAP 0x00000400L
|
||||
#define D3DUSAGE_DMAP 0x00004000L
|
||||
#ifndef D3D_DISABLE_9EX
|
||||
#define D3DUSAGE_TEXTAPI 0x10000000L
|
||||
#endif
|
||||
|
||||
#define D3DUSAGE_QUERY_FILTER 0x00020000L
|
||||
#define D3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000L
|
||||
@@ -135,7 +128,7 @@
|
||||
#define MAX_DEVICE_IDENTIFIER_STRING 512
|
||||
|
||||
#define D3DFVF_RESERVED0 0x0001
|
||||
#define D3DFVF_POSITION_MASK 0x000E
|
||||
#define D3DFVF_POSITION_MASK 0x400E
|
||||
#define D3DFVF_XYZ 0x0002
|
||||
#define D3DFVF_XYZRHW 0x0004
|
||||
#define D3DFVF_XYZB1 0x0006
|
||||
@@ -210,11 +203,13 @@
|
||||
#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */
|
||||
#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */
|
||||
#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */
|
||||
#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */
|
||||
#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */
|
||||
|
||||
#define D3DPRESENT_BACK_BUFFERS_MAX 3L
|
||||
#define D3DPRESENT_RATE_DEFAULT 0x00000000
|
||||
|
||||
/****************************
|
||||
/****************************
|
||||
* Vertex Shaders Declaration
|
||||
*/
|
||||
|
||||
@@ -222,28 +217,19 @@ typedef enum _D3DDECLUSAGE {
|
||||
D3DDECLUSAGE_POSITION = 0,
|
||||
D3DDECLUSAGE_BLENDWEIGHT = 1,
|
||||
D3DDECLUSAGE_BLENDINDICES = 2,
|
||||
D3DDECLUSAGE_NORMAL = 3,
|
||||
D3DDECLUSAGE_PSIZE = 4,
|
||||
D3DDECLUSAGE_TEXCOORD = 5,
|
||||
D3DDECLUSAGE_TANGENT = 6,
|
||||
D3DDECLUSAGE_BINORMAL = 7,
|
||||
D3DDECLUSAGE_TESSFACTOR = 8,
|
||||
D3DDECLUSAGE_POSITIONT = 9,
|
||||
D3DDECLUSAGE_COLOR = 10,
|
||||
D3DDECLUSAGE_FOG = 11,
|
||||
D3DDECLUSAGE_DEPTH = 12,
|
||||
D3DDECLUSAGE_SAMPLE = 13
|
||||
D3DDECLUSAGE_NORMAL = 3,
|
||||
D3DDECLUSAGE_PSIZE = 4,
|
||||
D3DDECLUSAGE_TEXCOORD = 5,
|
||||
D3DDECLUSAGE_TANGENT = 6,
|
||||
D3DDECLUSAGE_BINORMAL = 7,
|
||||
D3DDECLUSAGE_TESSFACTOR = 8,
|
||||
D3DDECLUSAGE_POSITIONT = 9,
|
||||
D3DDECLUSAGE_COLOR = 10,
|
||||
D3DDECLUSAGE_FOG = 11,
|
||||
D3DDECLUSAGE_DEPTH = 12,
|
||||
D3DDECLUSAGE_SAMPLE = 13
|
||||
} D3DDECLUSAGE;
|
||||
|
||||
/* MSDN is quite confussing at this point...
|
||||
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3d/constants/OTHER_D3D.asp
|
||||
says D3DMAX, and D3DMAXDECLUSAGE = D3DDECLUSAGE_DEPTH
|
||||
http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/directx9_c_summer_03/directx/graphics/reference/d3d/constants/other_d3d.asp
|
||||
says MAXD3D, and D3DDECLUSAGE_SAMPLE
|
||||
|
||||
So both are defined
|
||||
*/
|
||||
|
||||
#define D3DMAXDECLUSAGE D3DDECLUSAGE_SAMPLE
|
||||
#define D3DMAXDECLUSAGEINDEX 15
|
||||
#define D3DMAXDECLLENGTH 18
|
||||
@@ -448,7 +434,7 @@ typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
|
||||
D3DSIO_SETP = 94,
|
||||
D3DSIO_TEXLDL = 95,
|
||||
D3DSIO_BREAKP = 96,
|
||||
|
||||
|
||||
D3DSIO_PHASE = 0xFFFD,
|
||||
D3DSIO_COMMENT = 0xFFFE,
|
||||
D3DSIO_END = 0XFFFF,
|
||||
@@ -518,7 +504,7 @@ typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE {
|
||||
#define D3DSP_REGTYPE_MASK2 0x00001800
|
||||
|
||||
typedef enum _D3DSHADER_PARAM_REGISTER_TYPE {
|
||||
D3DSPR_TEMP = 0,
|
||||
D3DSPR_TEMP = 0,
|
||||
D3DSPR_INPUT = 1,
|
||||
D3DSPR_CONST = 2,
|
||||
D3DSPR_ADDR = 3,
|
||||
@@ -740,7 +726,7 @@ typedef enum _D3DDEGREETYPE {
|
||||
D3DDEGREE_QUADRATIC = 2,
|
||||
D3DDEGREE_CUBIC = 3,
|
||||
D3DDEGREE_QUINTIC = 5,
|
||||
|
||||
|
||||
D3DDEGREE_FORCE_DWORD = 0x7fffffff
|
||||
} D3DDEGREETYPE;
|
||||
|
||||
@@ -790,7 +776,7 @@ typedef enum _D3DFORMAT {
|
||||
D3DFMT_G16R16 = 34,
|
||||
D3DFMT_A2R10G10B10 = 35,
|
||||
D3DFMT_A16B16G16R16 = 36,
|
||||
|
||||
|
||||
|
||||
D3DFMT_A8P8 = 40,
|
||||
D3DFMT_P8 = 41,
|
||||
@@ -828,11 +814,6 @@ typedef enum _D3DFORMAT {
|
||||
D3DFMT_D32F_LOCKABLE = 82,
|
||||
D3DFMT_D24FS8 = 83,
|
||||
|
||||
#ifndef D3D_DISABLE_9EX
|
||||
D3DFMT_D32_LOCKABLE = 84,
|
||||
D3DFMT_S8_LOCKABLE = 85,
|
||||
#endif
|
||||
|
||||
D3DFMT_VERTEXDATA = 100,
|
||||
D3DFMT_INDEX16 = 101,
|
||||
D3DFMT_INDEX32 = 102,
|
||||
@@ -841,12 +822,12 @@ typedef enum _D3DFORMAT {
|
||||
D3DFMT_R16F = 111,
|
||||
D3DFMT_G16R16F = 112,
|
||||
D3DFMT_A16B16G16R16F = 113,
|
||||
|
||||
|
||||
/* IEEE formats */
|
||||
D3DFMT_R32F = 114,
|
||||
D3DFMT_G32R32F = 115,
|
||||
D3DFMT_A32B32G32R32F = 116,
|
||||
|
||||
|
||||
D3DFMT_CxV8U8 = 117,
|
||||
|
||||
|
||||
@@ -1083,6 +1064,8 @@ typedef enum _D3DSWAPEFFECT {
|
||||
D3DSWAPEFFECT_DISCARD = 1,
|
||||
D3DSWAPEFFECT_FLIP = 2,
|
||||
D3DSWAPEFFECT_COPY = 3,
|
||||
D3DSWAPEFFECT_OVERLAY = 4,
|
||||
D3DSWAPEFFECT_FLIPEX = 5,
|
||||
D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
|
||||
} D3DSWAPEFFECT;
|
||||
|
||||
@@ -1151,21 +1134,9 @@ typedef enum _D3DTEXTURESTAGESTATETYPE {
|
||||
D3DTSS_BUMPENVMAT10 = 9,
|
||||
D3DTSS_BUMPENVMAT11 = 10,
|
||||
D3DTSS_TEXCOORDINDEX = 11,
|
||||
#if 1 /* TODO: remove once samplerstates are implemented. */
|
||||
D3DTSS_ADDRESSU = 13,
|
||||
D3DTSS_ADDRESSV = 14,
|
||||
D3DTSS_BORDERCOLOR = 15,
|
||||
D3DTSS_MAGFILTER = 16,
|
||||
D3DTSS_MINFILTER = 17,
|
||||
D3DTSS_MIPFILTER = 18,
|
||||
D3DTSS_MIPMAPLODBIAS = 19,
|
||||
D3DTSS_MAXMIPLEVEL = 20,
|
||||
D3DTSS_MAXANISOTROPY = 21,
|
||||
#endif
|
||||
D3DTSS_BUMPENVLSCALE = 22,
|
||||
D3DTSS_BUMPENVLOFFSET = 23,
|
||||
D3DTSS_TEXTURETRANSFORMFLAGS = 24,
|
||||
D3DTSS_ADDRESSW = 25,
|
||||
D3DTSS_COLORARG0 = 26,
|
||||
D3DTSS_ALPHAARG0 = 27,
|
||||
D3DTSS_RESULTARG = 28,
|
||||
@@ -1231,7 +1202,7 @@ typedef enum _D3DSAMPLERSTATETYPE {
|
||||
D3DSAMP_SRGBTEXTURE = 11,
|
||||
D3DSAMP_ELEMENTINDEX = 12,
|
||||
D3DSAMP_DMAPOFFSET = 13,
|
||||
|
||||
|
||||
D3DSAMP_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DSAMPLERSTATETYPE;
|
||||
|
||||
@@ -1251,7 +1222,7 @@ typedef struct _D3DADAPTER_IDENTIFIER9 {
|
||||
char Driver[MAX_DEVICE_IDENTIFIER_STRING];
|
||||
char Description[MAX_DEVICE_IDENTIFIER_STRING];
|
||||
char DeviceName[32];
|
||||
LARGE_INTEGER DriverVersion;
|
||||
LARGE_INTEGER DriverVersion;
|
||||
|
||||
DWORD VendorId;
|
||||
DWORD DeviceId;
|
||||
@@ -1331,13 +1302,13 @@ typedef struct _D3DDEVINFO_D3D9STAGETIMINGS {
|
||||
/* Vertex cache optimization hints. */
|
||||
typedef struct D3DDEVINFO_VCACHE {
|
||||
/* Must be a 4 char code FOURCC (e.g. CACH) */
|
||||
DWORD Pattern;
|
||||
DWORD Pattern;
|
||||
/* 0 to get the longest strips, 1 vertex cache */
|
||||
DWORD OptMethod;
|
||||
DWORD OptMethod;
|
||||
/* Cache size to use (only valid if OptMethod==1) */
|
||||
DWORD CacheSize;
|
||||
/* internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1) */
|
||||
DWORD MagicNumber;
|
||||
/* internal for deciding when to restart strips, non user modifiable (only valid if OptMethod==1) */
|
||||
DWORD MagicNumber;
|
||||
} D3DDEVINFO_VCACHE;
|
||||
|
||||
typedef struct D3DRESOURCESTATS {
|
||||
@@ -1546,6 +1517,7 @@ typedef struct _D3DVOLUME_DESC {
|
||||
UINT Depth;
|
||||
} D3DVOLUME_DESC;
|
||||
|
||||
/* Parts added with d3d9ex */
|
||||
#if !defined(D3D_DISABLE_9EX)
|
||||
typedef enum D3DSCANLINEORDERING
|
||||
{
|
||||
@@ -1611,9 +1583,4 @@ typedef enum _D3DSHADER_COMPARISON
|
||||
D3DSPC_RESERVED1,
|
||||
} D3DSHADER_COMPARISON;
|
||||
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* DIRECT3D_VERSION >= 0x0900 */
|
||||
|
||||
#endif /* __WINE_D3D9TYPES_H */
|
||||
|
||||
+491
-1
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2005 Peter Berg Larsen
|
||||
* Copyright (C) 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
|
||||
@@ -20,8 +21,14 @@
|
||||
#define __D3DRM_H__
|
||||
|
||||
#include <ddraw.h>
|
||||
/* #include <d3drmobj.h> */
|
||||
|
||||
typedef struct IDirect3DRM *LPDIRECT3DRM, **LPLPDIRECT3DRM;
|
||||
|
||||
#include <d3drmobj.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Direct3DRM Object CLSID */
|
||||
DEFINE_GUID(CLSID_CDirect3DRM, 0x4516ec41, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
|
||||
@@ -31,4 +38,487 @@ DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x
|
||||
DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
|
||||
DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
|
||||
|
||||
typedef struct IDirect3DRM2 *LPDIRECT3DRM2, **LPLPDIRECT3DRM2;
|
||||
typedef struct IDirect3DRM3 *LPDIRECT3DRM3, **LPLPDIRECT3DRM3;
|
||||
|
||||
HRESULT WINAPI Direct3DRMCreate(struct IDirect3DRM **d3drm);
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirect3DRMObject interface
|
||||
*/
|
||||
#ifdef WINE_NO_UNICODE_MACROS
|
||||
#undef GetClassName
|
||||
#endif
|
||||
#define INTERFACE IDirect3DRM
|
||||
DECLARE_INTERFACE_(IDirect3DRM,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DRM methods ***/
|
||||
STDMETHOD(CreateObject)(THIS_ REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) PURE;
|
||||
STDMETHOD(CreateFrame)(THIS_ IDirect3DRMFrame *parent, IDirect3DRMFrame **frame) PURE;
|
||||
STDMETHOD(CreateMesh)(THIS_ IDirect3DRMMesh **mesh) PURE;
|
||||
STDMETHOD(CreateMeshBuilder)(THIS_ IDirect3DRMMeshBuilder **mesh_builder) PURE;
|
||||
STDMETHOD(CreateFace)(THIS_ IDirect3DRMFace **face) PURE;
|
||||
STDMETHOD(CreateAnimation)(THIS_ IDirect3DRMAnimation **animation) PURE;
|
||||
STDMETHOD(CreateAnimationSet)(THIS_ IDirect3DRMAnimationSet **set) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ D3DRMIMAGE *image, IDirect3DRMTexture **texture) PURE;
|
||||
STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE type, D3DVALUE r, D3DVALUE g, D3DVALUE b,
|
||||
IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateMaterial)(THIS_ D3DVALUE power, IDirect3DRMMaterial **material) PURE;
|
||||
STDMETHOD(CreateDevice)(THIS_ DWORD width, DWORD height, IDirect3DRMDevice **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromSurface)(THIS_ GUID *guid, IDirectDraw *ddraw,
|
||||
IDirectDrawSurface *surface, IDirect3DRMDevice **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromD3D)(THIS_ IDirect3D *d3d, IDirect3DDevice *d3d_device,
|
||||
IDirect3DRMDevice **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromClipper)(THIS_ IDirectDrawClipper *clipper, GUID *guid,
|
||||
int width, int height, IDirect3DRMDevice **device) PURE;
|
||||
STDMETHOD(CreateTextureFromSurface)(THIS_ IDirectDrawSurface *surface,
|
||||
IDirect3DRMTexture **texture) PURE;
|
||||
STDMETHOD(CreateShadow)(THIS_ IDirect3DRMVisual *visual, IDirect3DRMLight *light,
|
||||
D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
|
||||
IDirect3DRMVisual **shadow) PURE;
|
||||
STDMETHOD(CreateViewport)(THIS_ IDirect3DRMDevice *device, IDirect3DRMFrame *camera,
|
||||
DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport) PURE;
|
||||
STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE type, IDirect3DRMFrame *reference, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
|
||||
D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
|
||||
D3DVALUE su, D3DVALUE sv, IDirect3DRMWrap **wrap) PURE;
|
||||
STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) PURE;
|
||||
STDMETHOD(LoadTexture)(THIS_ const char *filename, IDirect3DRMTexture **texture) PURE;
|
||||
STDMETHOD(LoadTextureFromResource)(THIS_ HRSRC resource, IDirect3DRMTexture **texture) PURE;
|
||||
STDMETHOD(SetSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(AddSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(GetSearchPath)(THIS_ DWORD *size, char *path) PURE;
|
||||
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(GetDevices)(THIS_ IDirect3DRMDeviceArray **array) PURE;
|
||||
STDMETHOD(GetNamedObject)(THIS_ const char *name, IDirect3DRMObject **object) PURE;
|
||||
STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK cb, void *ctx) PURE;
|
||||
STDMETHOD(Load)(THIS_ void *source, void *object_id, IID **iids, DWORD iid_count, D3DRMLOADOPTIONS flags,
|
||||
D3DRMLOADCALLBACK load_cb, void *load_ctx, D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx,
|
||||
IDirect3DRMFrame *parent_frame) PURE;
|
||||
STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirect3DRM_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DRM_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirect3DRM methods ***/
|
||||
#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
|
||||
#define IDirect3DRM_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
|
||||
#define IDirect3DRM_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
|
||||
#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
|
||||
#define IDirect3DRM_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
|
||||
#define IDirect3DRM_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
|
||||
#define IDirect3DRM_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
|
||||
#define IDirect3DRM_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
|
||||
#define IDirect3DRM_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
|
||||
#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
|
||||
#define IDirect3DRM_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
|
||||
#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
|
||||
#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
|
||||
#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
|
||||
#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
|
||||
#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
|
||||
#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
|
||||
#define IDirect3DRM_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
|
||||
#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->lpVtbl->LoadTextureFromResource(p,a,b)
|
||||
#define IDirect3DRM_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
|
||||
#define IDirect3DRM_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
|
||||
#define IDirect3DRM_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
|
||||
#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
|
||||
#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
|
||||
#define IDirect3DRM_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
|
||||
#define IDirect3DRM_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
|
||||
#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
|
||||
#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM_Tick(p,a) (p)->lpVtbl->Tick(p,a)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirect3DRM_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DRM_Release(p) (p)->Release()
|
||||
/*** IDirect3DRM methods ***/
|
||||
#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
|
||||
#define IDirect3DRM_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
|
||||
#define IDirect3DRM_CreateMesh(p,a) (p)->CreateMesh(a)
|
||||
#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
|
||||
#define IDirect3DRM_CreateFace(p,a) (p)->CreateFace(a)
|
||||
#define IDirect3DRM_CreateAnimation(p,a) (p)->CreateAnimation(a)
|
||||
#define IDirect3DRM_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
|
||||
#define IDirect3DRM_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
|
||||
#define IDirect3DRM_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
|
||||
#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
|
||||
#define IDirect3DRM_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
|
||||
#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
|
||||
#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
|
||||
#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
|
||||
#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
|
||||
#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
|
||||
#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
|
||||
#define IDirect3DRM_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
|
||||
#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->LoadTextureFromResource(a,b)
|
||||
#define IDirect3DRM_SetSearchPath(p,a) (p)->SetSearchPath(a)
|
||||
#define IDirect3DRM_AddSearchPath(p,a) (p)->AddSearchPath(a)
|
||||
#define IDirect3DRM_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
|
||||
#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
|
||||
#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
|
||||
#define IDirect3DRM_GetDevices(p,a) (p)->GetDevices(a)
|
||||
#define IDirect3DRM_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
|
||||
#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
|
||||
#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM_Tick(p,a) (p)->Tick(a)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirect3DRM2 interface
|
||||
*/
|
||||
#ifdef WINE_NO_UNICODE_MACROS
|
||||
#undef GetClassName
|
||||
#endif
|
||||
#define INTERFACE IDirect3DRM2
|
||||
DECLARE_INTERFACE_(IDirect3DRM2,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DRM2 methods ***/
|
||||
STDMETHOD(CreateObject)(THIS_ REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) PURE;
|
||||
STDMETHOD(CreateFrame)(THIS_ IDirect3DRMFrame *parent, IDirect3DRMFrame2 **frame) PURE;
|
||||
STDMETHOD(CreateMesh)(THIS_ IDirect3DRMMesh **mesh) PURE;
|
||||
STDMETHOD(CreateMeshBuilder)(THIS_ IDirect3DRMMeshBuilder2 **mesh_builder) PURE;
|
||||
STDMETHOD(CreateFace)(THIS_ IDirect3DRMFace **face) PURE;
|
||||
STDMETHOD(CreateAnimation)(THIS_ IDirect3DRMAnimation **animation) PURE;
|
||||
STDMETHOD(CreateAnimationSet)(THIS_ IDirect3DRMAnimationSet **set) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ D3DRMIMAGE *image, IDirect3DRMTexture2 **texture) PURE;
|
||||
STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE type, D3DVALUE r, D3DVALUE g, D3DVALUE b,
|
||||
IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateMaterial)(THIS_ D3DVALUE power, IDirect3DRMMaterial **material) PURE;
|
||||
STDMETHOD(CreateDevice)(THIS_ DWORD width, DWORD height, IDirect3DRMDevice2 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromSurface)(THIS_ GUID *guid, IDirectDraw *ddraw,
|
||||
IDirectDrawSurface *surface, IDirect3DRMDevice2 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromD3D)(THIS_ IDirect3D2 *d3d, IDirect3DDevice2 *d3d_device,
|
||||
IDirect3DRMDevice2 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromClipper)(THIS_ IDirectDrawClipper *clipper, GUID *guid,
|
||||
int width, int height, IDirect3DRMDevice2 **device) PURE;
|
||||
STDMETHOD(CreateTextureFromSurface)(THIS_ IDirectDrawSurface *surface,
|
||||
IDirect3DRMTexture2 **texture) PURE;
|
||||
STDMETHOD(CreateShadow)(THIS_ IDirect3DRMVisual *visual, IDirect3DRMLight *light,
|
||||
D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
|
||||
IDirect3DRMVisual **shadow) PURE;
|
||||
STDMETHOD(CreateViewport)(THIS_ IDirect3DRMDevice *device, IDirect3DRMFrame *camera,
|
||||
DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport) PURE;
|
||||
STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE type, IDirect3DRMFrame *reference, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
|
||||
D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
|
||||
D3DVALUE su, D3DVALUE sv, IDirect3DRMWrap **wrap) PURE;
|
||||
STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) PURE;
|
||||
STDMETHOD(LoadTexture)(THIS_ const char *filename, IDirect3DRMTexture2 **texture) PURE;
|
||||
STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE module, const char *resource_name,
|
||||
const char *resource_type, IDirect3DRMTexture2 **texture) PURE;
|
||||
STDMETHOD(SetSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(AddSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(GetSearchPath)(THIS_ DWORD *size, char *path) PURE;
|
||||
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(GetDevices)(THIS_ IDirect3DRMDeviceArray **array) PURE;
|
||||
STDMETHOD(GetNamedObject)(THIS_ const char *name, IDirect3DRMObject **object) PURE;
|
||||
STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK cb, void *ctx) PURE;
|
||||
STDMETHOD(Load)(THIS_ void *source, void *object_id, IID **iids, DWORD iid_count, D3DRMLOADOPTIONS flags,
|
||||
D3DRMLOADCALLBACK load_cb, void *load_ctx, D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx,
|
||||
IDirect3DRMFrame *parent_frame) PURE;
|
||||
STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
|
||||
STDMETHOD(CreateProgressiveMesh)(THIS_ IDirect3DRMProgressiveMesh **mesh) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirect3DRM2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DRM2_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirect3DRM2 methods ***/
|
||||
#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
|
||||
#define IDirect3DRM2_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
|
||||
#define IDirect3DRM2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
|
||||
#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
|
||||
#define IDirect3DRM2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
|
||||
#define IDirect3DRM2_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
|
||||
#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
|
||||
#define IDirect3DRM2_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
|
||||
#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
|
||||
#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
|
||||
#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
|
||||
#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
|
||||
#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
|
||||
#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
|
||||
#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
|
||||
#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
|
||||
#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
|
||||
#define IDirect3DRM2_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
|
||||
#define IDirect3DRM2_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
|
||||
#define IDirect3DRM2_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
|
||||
#define IDirect3DRM2_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
|
||||
#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
|
||||
#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
|
||||
#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
|
||||
#define IDirect3DRM2_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
|
||||
#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
|
||||
#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
|
||||
#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM2_Tick(p,a) (p)->lpVtbl->Tick(p,a)
|
||||
#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirect3DRM2_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DRM2_Release(p) (p)->Release()
|
||||
/*** IDirect3DRM2 methods ***/
|
||||
#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
|
||||
#define IDirect3DRM2_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
|
||||
#define IDirect3DRM2_CreateMesh(p,a) (p)->CreateMesh(a)
|
||||
#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
|
||||
#define IDirect3DRM2_CreateFace(p,a) (p)->CreateFace(a)
|
||||
#define IDirect3DRM2_CreateAnimation(p,a) (p)->CreateAnimation(a)
|
||||
#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
|
||||
#define IDirect3DRM2_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
|
||||
#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
|
||||
#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
|
||||
#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
|
||||
#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
|
||||
#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
|
||||
#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
|
||||
#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
|
||||
#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
|
||||
#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
|
||||
#define IDirect3DRM2_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
|
||||
#define IDirect3DRM2_LoadTextureFromResource(p,a,b,c,d) (p)->LoadTextureFromResource(a,b,c,d)
|
||||
#define IDirect3DRM2_SetSearchPath(p,a) (p)->SetSearchPath(a)
|
||||
#define IDirect3DRM2_AddSearchPath(p,a) (p)->AddSearchPath(a)
|
||||
#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
|
||||
#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
|
||||
#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
|
||||
#define IDirect3DRM2_GetDevices(p,a) (p)->GetDevices(a)
|
||||
#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
|
||||
#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
|
||||
#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM2_Tick(p,a) (p)->Tick(a)
|
||||
#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirect3DRM3 interface
|
||||
*/
|
||||
#ifdef WINE_NO_UNICODE_MACROS
|
||||
#undef GetClassName
|
||||
#endif
|
||||
#define INTERFACE IDirect3DRM3
|
||||
DECLARE_INTERFACE_(IDirect3DRM3,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DRM2 methods ***/
|
||||
STDMETHOD(CreateObject)(THIS_ REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) PURE;
|
||||
STDMETHOD(CreateFrame)(THIS_ IDirect3DRMFrame3 *parent, IDirect3DRMFrame3 **frame) PURE;
|
||||
STDMETHOD(CreateMesh)(THIS_ IDirect3DRMMesh **mesh) PURE;
|
||||
STDMETHOD(CreateMeshBuilder)(THIS_ IDirect3DRMMeshBuilder3 **mesh_builder) PURE;
|
||||
STDMETHOD(CreateFace)(THIS_ IDirect3DRMFace2 **face) PURE;
|
||||
STDMETHOD(CreateAnimation)(THIS_ IDirect3DRMAnimation2 **animation) PURE;
|
||||
STDMETHOD(CreateAnimationSet)(THIS_ IDirect3DRMAnimationSet2 **set) PURE;
|
||||
STDMETHOD(CreateTexture)(THIS_ D3DRMIMAGE *image, IDirect3DRMTexture3 **texture) PURE;
|
||||
STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE type, D3DVALUE r, D3DVALUE g, D3DVALUE b,
|
||||
IDirect3DRMLight **light) PURE;
|
||||
STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, IDirect3DRMMaterial2 **material) PURE;
|
||||
STDMETHOD(CreateDevice)(THIS_ DWORD width, DWORD height, IDirect3DRMDevice3 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromSurface)(THIS_ GUID *guid, IDirectDraw *ddraw,
|
||||
IDirectDrawSurface *surface, IDirect3DRMDevice3 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromD3D)(THIS_ IDirect3D2 *d3d, IDirect3DDevice2 *d3d_device,
|
||||
IDirect3DRMDevice3 **device) PURE;
|
||||
STDMETHOD(CreateDeviceFromClipper)(THIS_ IDirectDrawClipper *clipper, GUID *guid,
|
||||
int width, int height, IDirect3DRMDevice3 **device) PURE;
|
||||
STDMETHOD(CreateTextureFromSurface)(THIS_ IDirectDrawSurface *surface,
|
||||
IDirect3DRMTexture3 **texture) PURE;
|
||||
STDMETHOD(CreateShadow)(THIS_ IUnknown *object, IDirect3DRMLight *light, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
|
||||
D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, IDirect3DRMShadow2 **shadow) PURE;
|
||||
STDMETHOD(CreateViewport)(THIS_ IDirect3DRMDevice3 *device, IDirect3DRMFrame3 *camera,
|
||||
DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport2 **viewport) PURE;
|
||||
STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE type, IDirect3DRMFrame3 *reference,
|
||||
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
|
||||
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv,
|
||||
IDirect3DRMWrap **wrap) PURE;
|
||||
STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) PURE;
|
||||
STDMETHOD(LoadTexture)(THIS_ const char *filename, IDirect3DRMTexture3 **texture) PURE;
|
||||
STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE module, const char *resource_name,
|
||||
const char *resource_type, IDirect3DRMTexture3 **texture) PURE;
|
||||
STDMETHOD(SetSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(AddSearchPath)(THIS_ const char *path) PURE;
|
||||
STDMETHOD(GetSearchPath)(THIS_ DWORD *size, char *path) PURE;
|
||||
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(GetDevices)(THIS_ IDirect3DRMDeviceArray **array) PURE;
|
||||
STDMETHOD(GetNamedObject)(THIS_ const char *name, IDirect3DRMObject **object) PURE;
|
||||
STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK cb, void *ctx) PURE;
|
||||
STDMETHOD(Load)(THIS_ void *source, void *object_id, IID **iids, DWORD iid_count, D3DRMLOADOPTIONS flags,
|
||||
D3DRMLOADCALLBACK load_cb, void *load_ctx, D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx,
|
||||
IDirect3DRMFrame3 *parent_frame) PURE;
|
||||
STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
|
||||
STDMETHOD(CreateProgressiveMesh)(THIS_ IDirect3DRMProgressiveMesh **mesh) PURE;
|
||||
STDMETHOD(RegisterClient)(THIS_ REFGUID guid, DWORD *id) PURE;
|
||||
STDMETHOD(UnregisterClient)(THIS_ REFGUID rguid) PURE;
|
||||
STDMETHOD(CreateClippedVisual)(THIS_ IDirect3DRMVisual *visual, IDirect3DRMClippedVisual **clipped_visual) PURE;
|
||||
STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(GetOptions)(THIS_ DWORD *flags) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirect3DRM3_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DRM3_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirect3DRM3 methods ***/
|
||||
#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
|
||||
#define IDirect3DRM3_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
|
||||
#define IDirect3DRM3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
|
||||
#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
|
||||
#define IDirect3DRM3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
|
||||
#define IDirect3DRM3_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
|
||||
#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
|
||||
#define IDirect3DRM3_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
|
||||
#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
|
||||
#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
|
||||
#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
|
||||
#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
|
||||
#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
|
||||
#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
|
||||
#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
|
||||
#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
|
||||
#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
|
||||
#define IDirect3DRM3_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
|
||||
#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
|
||||
#define IDirect3DRM3_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
|
||||
#define IDirect3DRM3_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
|
||||
#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
|
||||
#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
|
||||
#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
|
||||
#define IDirect3DRM3_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
|
||||
#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
|
||||
#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
|
||||
#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM3_Tick(p,a) (p)->lpVtbl->Tick(p,a)
|
||||
#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
|
||||
#define IDirect3DRM3_RegisterClient(p,a,b) (p)->lpVtbl->RegisterClient(p,a,b)
|
||||
#define IDirect3DRM3_UnregisterClient(p,a) (p)->lpVtbl->UnregisterClient(p,a)
|
||||
#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->lpVtbl->CreateClippedVisual(p,a,b)
|
||||
#define IDirect3DRM3_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
|
||||
#define IDirect3DRM3_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRM3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirect3DRM3_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DRM3_Release(p) (p)->Release()
|
||||
/*** IDirect3DRM3 methods ***/
|
||||
#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
|
||||
#define IDirect3DRM3_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
|
||||
#define IDirect3DRM3_CreateMesh(p,a) (p)->CreateMesh(a)
|
||||
#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
|
||||
#define IDirect3DRM3_CreateFace(p,a) (p)->CreateFace(a)
|
||||
#define IDirect3DRM3_CreateAnimation(p,a) (p)->CreateAnimation(a)
|
||||
#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
|
||||
#define IDirect3DRM3_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
|
||||
#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
|
||||
#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
|
||||
#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
|
||||
#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
|
||||
#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
|
||||
#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
|
||||
#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
|
||||
#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
|
||||
#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
|
||||
#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
|
||||
#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
|
||||
#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
|
||||
#define IDirect3DRM3_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
|
||||
#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->LoadTextureFromResource(a,b,c,d)
|
||||
#define IDirect3DRM3_SetSearchPath(p,a) (p)->SetSearchPath(a)
|
||||
#define IDirect3DRM3_AddSearchPath(p,a) (p)->AddSearchPath(a)
|
||||
#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
|
||||
#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
|
||||
#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
|
||||
#define IDirect3DRM3_GetDevices(p,a) (p)->GetDevices(a)
|
||||
#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
|
||||
#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
|
||||
#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
|
||||
#define IDirect3DRM3_Tick(p,a) (p)->Tick(a)
|
||||
#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
|
||||
#define IDirect3DRM3_RegisterClient(p,a,b) (p)->RegisterClient(p,a,b)
|
||||
#define IDirect3DRM3_UnregisterClient(p,a) (p)->UnregisterClient(p,a)
|
||||
#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->CreateClippedVisual(p,a,b)
|
||||
#define IDirect3DRM3_SetOptions(p,a) (p)->SetOptions(p,a)
|
||||
#define IDirect3DRM3_GetOptions(p,a) (p)->GetOptions(p,a)
|
||||
#endif
|
||||
|
||||
#define D3DRM_OK DD_OK
|
||||
#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
|
||||
#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
|
||||
#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
|
||||
#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
|
||||
#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
|
||||
#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
|
||||
#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
|
||||
#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
|
||||
#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
|
||||
#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
|
||||
#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
|
||||
#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
|
||||
#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
|
||||
#define D3DRMERR_LIBRARYNOTFOUND MAKE_DDHRESULT(794)
|
||||
#define D3DRMERR_INVALIDLIBRARY MAKE_DDHRESULT(795)
|
||||
#define D3DRMERR_PENDING MAKE_DDHRESULT(796)
|
||||
#define D3DRMERR_NOTENOUGHDATA MAKE_DDHRESULT(797)
|
||||
#define D3DRMERR_REQUESTTOOLARGE MAKE_DDHRESULT(798)
|
||||
#define D3DRMERR_REQUESTTOOSMALL MAKE_DDHRESULT(799)
|
||||
#define D3DRMERR_CONNECTIONLOST MAKE_DDHRESULT(800)
|
||||
#define D3DRMERR_LOADABORTED MAKE_DDHRESULT(801)
|
||||
#define D3DRMERR_NOINTERNET MAKE_DDHRESULT(802)
|
||||
#define D3DRMERR_BADCACHEFILE MAKE_DDHRESULT(803)
|
||||
#define D3DRMERR_BOXNOTSET MAKE_DDHRESULT(804)
|
||||
#define D3DRMERR_BADPMDATA MAKE_DDHRESULT(805)
|
||||
#define D3DRMERR_CLIENTNOTREGISTERED MAKE_DDHRESULT(806)
|
||||
#define D3DRMERR_NOTCREATEDFROMDDS MAKE_DDHRESULT(807)
|
||||
#define D3DRMERR_NOSUCHKEY MAKE_DDHRESULT(808)
|
||||
#define D3DRMERR_INCOMPATABLEKEY MAKE_DDHRESULT(809)
|
||||
#define D3DRMERR_ELEMENTINUSE MAKE_DDHRESULT(810)
|
||||
#define D3DRMERR_TEXTUREFORMATNOTFOUND MAKE_DDHRESULT(811)
|
||||
#define D3DRMERR_NOTAGGREGATED MAKE_DDHRESULT(812)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D3DRM_H__ */
|
||||
|
||||
+415
-17
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright 2007 Vijay Kiran Kamuju
|
||||
* Copyright 2007,2010 Vijay Kiran Kamuju
|
||||
* Copyright 2007 David ADAM
|
||||
* 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
|
||||
@@ -27,32 +28,429 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef D3DVALUE D3DRMMATRIX4D[4][4];
|
||||
typedef struct _D3DRMQUATERNION
|
||||
typedef struct _D3DRMVECTOR4D
|
||||
{
|
||||
D3DVALUE x;
|
||||
D3DVALUE y;
|
||||
D3DVALUE z;
|
||||
D3DVALUE w;
|
||||
} D3DRMVECTOR4D, *LPD3DRMVECTOR4D;
|
||||
|
||||
typedef D3DVALUE D3DRMMATRIX4D[4][4];
|
||||
|
||||
typedef struct _D3DRMQUATERNION {
|
||||
D3DVALUE s;
|
||||
D3DVECTOR v;
|
||||
} D3DRMQUATERNION, *LPD3DRMQUATERNION;
|
||||
|
||||
void WINAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D, LPD3DRMQUATERNION);
|
||||
typedef struct _D3DRMRAY {
|
||||
D3DVECTOR dvDir;
|
||||
D3DVECTOR dvPos;
|
||||
} D3DRMRAY, *LPD3DRMRAY;
|
||||
|
||||
LPD3DRMQUATERNION WINAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION ,LPD3DVECTOR,D3DVALUE);
|
||||
LPD3DRMQUATERNION WINAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION);
|
||||
LPD3DRMQUATERNION WINAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE);
|
||||
typedef struct _D3DRMBOX {
|
||||
D3DVECTOR min;
|
||||
D3DVECTOR max;
|
||||
} D3DRMBOX, *LPD3DRMBOX;
|
||||
|
||||
LPD3DVECTOR WINAPI D3DRMVectorAdd(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorCrossProduct(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
|
||||
D3DVALUE WINAPI D3DRMVectorDotProduct(LPD3DVECTOR, LPD3DVECTOR);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorNormalize(LPD3DVECTOR);
|
||||
typedef void (*D3DRMWRAPCALLBACK)(D3DVECTOR *vec, int *u, int *v, D3DVECTOR *a, D3DVECTOR *b, void *ctx);
|
||||
|
||||
typedef enum _D3DRMLIGHTTYPE {
|
||||
D3DRMLIGHT_AMBIENT,
|
||||
D3DRMLIGHT_POINT,
|
||||
D3DRMLIGHT_SPOT,
|
||||
D3DRMLIGHT_DIRECTIONAL,
|
||||
D3DRMLIGHT_PARALLELPOINT
|
||||
} D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE;
|
||||
|
||||
typedef enum _D3DRMSHADEMODE {
|
||||
D3DRMSHADE_FLAT = 0,
|
||||
D3DRMSHADE_GOURAUD = 1,
|
||||
D3DRMSHADE_PHONG = 2,
|
||||
D3DRMSHADE_MASK = 7,
|
||||
D3DRMSHADE_MAX = 8
|
||||
} D3DRMSHADEMODE, *LPD3DRMSHADEMODE;
|
||||
|
||||
typedef enum _D3DRMLIGHTMODE {
|
||||
D3DRMLIGHT_OFF = 0 * D3DRMSHADE_MAX,
|
||||
D3DRMLIGHT_ON = 1 * D3DRMSHADE_MAX,
|
||||
D3DRMLIGHT_MASK = 7 * D3DRMSHADE_MAX,
|
||||
D3DRMLIGHT_MAX = 8 * D3DRMSHADE_MAX
|
||||
} D3DRMLIGHTMODE, *LPD3DRMLIGHTMODE;
|
||||
|
||||
typedef enum _D3DRMFILLMODE {
|
||||
D3DRMFILL_POINTS = 0 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_WIREFRAME = 1 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_SOLID = 2 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_MASK = 7 * D3DRMLIGHT_MAX,
|
||||
D3DRMFILL_MAX = 8 * D3DRMLIGHT_MAX
|
||||
} D3DRMFILLMODE, *LPD3DRMFILLMODE;
|
||||
|
||||
typedef DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY;
|
||||
|
||||
#define D3DRMRENDER_WIREFRAME (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_WIREFRAME)
|
||||
#define D3DRMRENDER_UNLITFLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_FLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_GOURAUD (D3DRMSHADE_GOURAUD+D3DRMLIGHT_ON+D3DRMFILL_SOLID)
|
||||
#define D3DRMRENDER_PHONG (D3DRMSHADE_PHONG+D3DRMLIGHT_ON+D3DRMFILL_SOLID
|
||||
|
||||
#define D3DRMRENDERMODE_BLENDEDTRANSPARENCY 1
|
||||
#define D3DRMRENDERMODE_SORTEDTRANSPARENCY 2
|
||||
#define D3DRMRENDERMODE_LIGHTINMODELSPACE 8
|
||||
#define D3DRMRENDERMODE_VIEWDEPENDENTSPECULAR 16
|
||||
#define D3DRMRENDERMODE_DISABLESORTEDALPHAZWRITE 32
|
||||
|
||||
typedef enum _D3DRMTEXTUREQUALITY {
|
||||
D3DRMTEXTURE_NEAREST,
|
||||
D3DRMTEXTURE_LINEAR,
|
||||
D3DRMTEXTURE_MIPNEAREST,
|
||||
D3DRMTEXTURE_MIPLINEAR,
|
||||
D3DRMTEXTURE_LINEARMIPNEAREST,
|
||||
D3DRMTEXTURE_LINEARMIPLINEAR
|
||||
} D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY;
|
||||
|
||||
#define D3DRMTEXTURE_FORCERESIDENT 0x00000001
|
||||
#define D3DRMTEXTURE_STATIC 0x00000002
|
||||
#define D3DRMTEXTURE_DOWNSAMPLEPOINT 0x00000004
|
||||
#define D3DRMTEXTURE_DOWNSAMPLEBILINEAR 0x00000008
|
||||
#define D3DRMTEXTURE_DOWNSAMPLEREDUCEDEPTH 0x00000010
|
||||
#define D3DRMTEXTURE_DOWNSAMPLENONE 0x00000020
|
||||
#define D3DRMTEXTURE_CHANGEDPIXELS 0x00000040
|
||||
#define D3DRMTEXTURE_CHANGEDPALETTE 0x00000080
|
||||
#define D3DRMTEXTURE_INVALIDATEONLY 0x00000100
|
||||
|
||||
#define D3DRMSHADOW_TRUEALPHA 0x00000001
|
||||
|
||||
typedef enum _D3DRMCOMBINETYPE {
|
||||
D3DRMCOMBINE_REPLACE,
|
||||
D3DRMCOMBINE_BEFORE,
|
||||
D3DRMCOMBINE_AFTER
|
||||
} D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE;
|
||||
|
||||
typedef D3DCOLORMODEL D3DRMCOLORMODEL, *LPD3DRMCOLORMODEL;
|
||||
|
||||
typedef enum _D3DRMPALETTEFLAGS
|
||||
{
|
||||
D3DRMPALETTE_FREE,
|
||||
D3DRMPALETTE_READONLY,
|
||||
D3DRMPALETTE_RESERVED
|
||||
} D3DRMPALETTEFLAGS, *LPD3DRMPALETTEFLAGS;
|
||||
|
||||
typedef struct _D3DRMPALETTEENTRY {
|
||||
unsigned char red;
|
||||
unsigned char green;
|
||||
unsigned char blue;
|
||||
unsigned char flags;
|
||||
} D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY;
|
||||
|
||||
typedef struct _D3DRMIMAGE {
|
||||
int width;
|
||||
int height;
|
||||
int aspectx;
|
||||
int aspecty;
|
||||
int depth;
|
||||
int rgb;
|
||||
int bytes_per_line;
|
||||
void* buffer1;
|
||||
void* buffer2;
|
||||
ULONG red_mask;
|
||||
ULONG green_mask;
|
||||
ULONG blue_mask;
|
||||
ULONG alpha_mask;
|
||||
int palette_size;
|
||||
D3DRMPALETTEENTRY* palette;
|
||||
} D3DRMIMAGE, *LPD3DRMIMAGE;
|
||||
|
||||
typedef enum _D3DRMWRAPTYPE {
|
||||
D3DRMWRAP_FLAT,
|
||||
D3DRMWRAP_CYLINDER,
|
||||
D3DRMWRAP_SPHERE,
|
||||
D3DRMWRAP_CHROME,
|
||||
D3DRMWRAP_SHEET,
|
||||
D3DRMWRAP_BOX
|
||||
} D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE;
|
||||
|
||||
#define D3DRMWIREFRAME_CULL 1
|
||||
#define D3DRMWIREFRAME_HIDDENLINE 2
|
||||
|
||||
typedef enum _D3DRMPROJECTIONTYPE
|
||||
{
|
||||
D3DRMPROJECT_PERSPECTIVE,
|
||||
D3DRMPROJECT_ORTHOGRAPHIC,
|
||||
D3DRMPROJECT_RIGHTHANDPERSPECTIVE,
|
||||
D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
|
||||
} D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE;
|
||||
|
||||
#define D3DRMOPTIONS_LEFTHANDED 0x00000001
|
||||
#define D3DRMOPTIONS_RIGHTHANDED 0x00000002
|
||||
|
||||
typedef enum _D3DRMXOFFORMAT {
|
||||
D3DRMXOF_BINARY,
|
||||
D3DRMXOF_COMPRESSED,
|
||||
D3DRMXOF_TEXT
|
||||
} D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT;
|
||||
|
||||
typedef DWORD D3DRMSAVEOPTIONS;
|
||||
#define D3DRMXOFSAVE_NORMALS 1
|
||||
#define D3DRMXOFSAVE_TEXTURECOORDINATES 2
|
||||
#define D3DRMXOFSAVE_MATERIALS 4
|
||||
#define D3DRMXOFSAVE_TEXTURENAMES 8
|
||||
#define D3DRMXOFSAVE_ALL 15
|
||||
#define D3DRMXOFSAVE_TEMPLATES 16
|
||||
#define D3DRMXOFSAVE_TEXTURETOPOLOGY 32
|
||||
|
||||
typedef enum _D3DRMCOLORSOURCE {
|
||||
D3DRMCOLOR_FROMFACE,
|
||||
D3DRMCOLOR_FROMVERTEX
|
||||
} D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE;
|
||||
|
||||
typedef enum _D3DRMFRAMECONSTRAINT {
|
||||
D3DRMCONSTRAIN_Z,
|
||||
D3DRMCONSTRAIN_Y,
|
||||
D3DRMCONSTRAIN_X
|
||||
} D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT;
|
||||
|
||||
typedef enum _D3DRMMATERIALMODE {
|
||||
D3DRMMATERIAL_FROMMESH,
|
||||
D3DRMMATERIAL_FROMPARENT,
|
||||
D3DRMMATERIAL_FROMFRAME
|
||||
} D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE;
|
||||
|
||||
typedef enum _D3DRMFOGMODE {
|
||||
D3DRMFOG_LINEAR,
|
||||
D3DRMFOG_EXPONENTIAL,
|
||||
D3DRMFOG_EXPONENTIALSQUARED
|
||||
} D3DRMFOGMODE, *LPD3DRMFOGMODE;
|
||||
|
||||
typedef enum _D3DRMZBUFFERMODE {
|
||||
D3DRMZBUFFER_FROMPARENT,
|
||||
D3DRMZBUFFER_ENABLE,
|
||||
D3DRMZBUFFER_DISABLE
|
||||
} D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE;
|
||||
|
||||
typedef enum _D3DRMSORTMODE {
|
||||
D3DRMSORT_FROMPARENT,
|
||||
D3DRMSORT_NONE,
|
||||
D3DRMSORT_FRONTTOBACK,
|
||||
D3DRMSORT_BACKTOFRONT
|
||||
} D3DRMSORTMODE, *LPD3DRMSORTMODE;
|
||||
|
||||
typedef struct _D3DRMMATERIALOVERRIDE {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
D3DCOLORVALUE dcDiffuse;
|
||||
D3DCOLORVALUE dcAmbient;
|
||||
D3DCOLORVALUE dcEmissive;
|
||||
D3DCOLORVALUE dcSpecular;
|
||||
D3DVALUE dvPower;
|
||||
IUnknown *lpD3DRMTex;
|
||||
} D3DRMMATERIALOVERRIDE, *LPD3DRMMATERIALOVERRIDE;
|
||||
|
||||
#define D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAONLY 0x00000001
|
||||
#define D3DRMMATERIALOVERRIDE_DIFFUSE_RGBONLY 0x00000002
|
||||
#define D3DRMMATERIALOVERRIDE_DIFFUSE 0x00000003
|
||||
#define D3DRMMATERIALOVERRIDE_AMBIENT 0x00000004
|
||||
#define D3DRMMATERIALOVERRIDE_EMISSIVE 0x00000008
|
||||
#define D3DRMMATERIALOVERRIDE_SPECULAR 0x00000010
|
||||
#define D3DRMMATERIALOVERRIDE_POWER 0x00000020
|
||||
#define D3DRMMATERIALOVERRIDE_TEXTURE 0x00000040
|
||||
#define D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAMULTIPLY 0x00000080
|
||||
#define D3DRMMATERIALOVERRIDE_ALL 0x000000FF
|
||||
|
||||
#define D3DRMFPTF_ALPHA 0x00000001
|
||||
#define D3DRMFPTF_NOALPHA 0x00000002
|
||||
#define D3DRMFPTF_PALETTIZED 0x00000004
|
||||
#define D3DRMFPTF_NOTPALETTIZED 0x00000008
|
||||
|
||||
#define D3DRMSTATECHANGE_UPDATEONLY 0x000000001
|
||||
#define D3DRMSTATECHANGE_VOLATILE 0x000000002
|
||||
#define D3DRMSTATECHANGE_NONVOLATILE 0x000000004
|
||||
#define D3DRMSTATECHANGE_RENDER 0x000000020
|
||||
#define D3DRMSTATECHANGE_LIGHT 0x000000040
|
||||
|
||||
#define D3DRMDEVICE_NOZBUFFER 0x00000001
|
||||
|
||||
#define D3DRMCALLBACK_PREORDER 0
|
||||
#define D3DRMCALLBACK_POSTORDER 1
|
||||
|
||||
#define D3DRMRAYPICK_ONLYBOUNDINGBOXES 0x01
|
||||
#define D3DRMRAYPICK_IGNOREFURTHERPRIMITIVES 0x02
|
||||
#define D3DRMRAYPICK_INTERPOLATEUV 0x04
|
||||
#define D3DRMRAYPICK_INTERPOLATECOLOR 0x08
|
||||
#define D3DRMRAYPICK_INTERPOLATENORMAL 0x10
|
||||
|
||||
#define D3DRMADDFACES_VERTICESONLY 1
|
||||
|
||||
#define D3DRMGENERATENORMALS_PRECOMPACT 1
|
||||
#define D3DRMGENERATENORMALS_USECREASEANGLE 2
|
||||
|
||||
#define D3DRMMESHBUILDER_DIRECTPARENT 1
|
||||
#define D3DRMMESHBUILDER_ROOTMESH 2
|
||||
|
||||
#define D3DRMMESHBUILDER_RENDERENABLE 0x00000001
|
||||
#define D3DRMMESHBUILDER_PICKENABLE 0x00000002
|
||||
|
||||
#define D3DRMADDMESHBUILDER_DONTCOPYAPPDATA 1
|
||||
#define D3DRMADDMESHBUILDER_FLATTENSUBMESHES 2
|
||||
#define D3DRMADDMESHBUILDER_NOSUBMESHES 4
|
||||
|
||||
#define D3DRMMESHBUILDERAGE_GEOMETRY 0x00000001
|
||||
#define D3DRMMESHBUILDERAGE_MATERIALS 0x00000002
|
||||
#define D3DRMMESHBUILDERAGE_TEXTURES 0x00000004
|
||||
|
||||
#define D3DRMFVF_TYPE 0x00000001
|
||||
#define D3DRMFVF_NORMAL 0x00000002
|
||||
#define D3DRMFVF_COLOR 0x00000004
|
||||
#define D3DRMFVF_TEXTURECOORDS 0x00000008
|
||||
|
||||
#define D3DRMVERTEX_STRIP 0x00000001
|
||||
#define D3DRMVERTEX_FAN 0x00000002
|
||||
#define D3DRMVERTEX_LIST 0x00000004
|
||||
|
||||
#define D3DRMCLEAR_TARGET 0x00000001
|
||||
#define D3DRMCLEAR_ZBUFFER 0x00000002
|
||||
#define D3DRMCLEAR_DIRTYRECTS 0x00000004
|
||||
#define D3DRMCLEAR_ALL (D3DRMCLEAR_TARGET | D3DRMCLEAR_ZBUFFER | D3DRMCLEAR_DIRTYRECTS)
|
||||
|
||||
#define D3DRMFOGMETHOD_VERTEX 0x00000001
|
||||
#define D3DRMFOGMETHOD_TABLE 0x00000002
|
||||
#define D3DRMFOGMETHOD_ANY 0x00000004
|
||||
|
||||
#define D3DRMFRAME_RENDERENABLE 0x00000001
|
||||
#define D3DRMFRAME_PICKENABLE 0x00000002
|
||||
|
||||
typedef DWORD D3DRMANIMATIONOPTIONS;
|
||||
#define D3DRMANIMATION_OPEN 0x00000001
|
||||
#define D3DRMANIMATION_CLOSED 0x00000002
|
||||
#define D3DRMANIMATION_LINEARPOSITION 0x00000004
|
||||
#define D3DRMANIMATION_SPLINEPOSITION 0x00000008
|
||||
#define D3DRMANIMATION_SCALEANDROTATION 0x00000010
|
||||
#define D3DRMANIMATION_POSITION 0x00000020
|
||||
|
||||
typedef DWORD D3DRMINTERPOLATIONOPTIONS;
|
||||
#define D3DRMINTERPOLATION_OPEN 0x0001
|
||||
#define D3DRMINTERPOLATION_CLOSED 0x0002
|
||||
#define D3DRMINTERPOLATION_NEAREST 0x0100
|
||||
#define D3DRMINTERPOLATION_LINEAR 0x0004
|
||||
#define D3DRMINTERPOLATION_SPLINE 0x0008
|
||||
#define D3DRMINTERPOLATION_VERTEXCOLOR 0x0040
|
||||
#define D3DRMINTERPOLATION_SLERPNORMALS 0x0080
|
||||
|
||||
typedef DWORD D3DRMLOADOPTIONS;
|
||||
|
||||
#define D3DRMLOAD_FROMFILE 0x000L
|
||||
#define D3DRMLOAD_FROMRESOURCE 0x001L
|
||||
#define D3DRMLOAD_FROMMEMORY 0x002L
|
||||
#define D3DRMLOAD_FROMSTREAM 0x004L
|
||||
#define D3DRMLOAD_FROMURL 0x008L
|
||||
|
||||
#define D3DRMLOAD_BYNAME 0x010L
|
||||
#define D3DRMLOAD_BYPOSITION 0x020L
|
||||
#define D3DRMLOAD_BYGUID 0x040L
|
||||
#define D3DRMLOAD_FIRST 0x080L
|
||||
|
||||
#define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L
|
||||
#define D3DRMLOAD_INSTANCEBYCOPYING 0x200L
|
||||
|
||||
#define D3DRMLOAD_ASYNCHRONOUS 0x400L
|
||||
|
||||
typedef struct _D3DRMLOADRESOURCE
|
||||
{
|
||||
HMODULE hModule;
|
||||
const char *lpName;
|
||||
const char *lpType;
|
||||
} D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE;
|
||||
|
||||
typedef struct _D3DRMLOADMEMORY
|
||||
{
|
||||
void *lpMemory;
|
||||
DWORD dSize;
|
||||
} D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY;
|
||||
|
||||
#define D3DRMPMESHSTATUS_VALID 0x01
|
||||
#define D3DRMPMESHSTATUS_INTERRUPTED 0x02
|
||||
#define D3DRMPMESHSTATUS_BASEMESHCOMPLETE 0x04
|
||||
#define D3DRMPMESHSTATUS_COMPLETE 0x08
|
||||
#define D3DRMPMESHSTATUS_RENDERABLE 0x10
|
||||
|
||||
#define D3DRMPMESHEVENT_BASEMESH 0x01
|
||||
#define D3DRMPMESHEVENT_COMPLETE 0x02
|
||||
|
||||
typedef struct _D3DRMPMESHLOADSTATUS {
|
||||
DWORD dwSize;
|
||||
DWORD dwPMeshSize;
|
||||
DWORD dwBaseMeshSize;
|
||||
DWORD dwBytesLoaded;
|
||||
DWORD dwVerticesLoaded;
|
||||
DWORD dwFacesLoaded;
|
||||
HRESULT dwLoadResult;
|
||||
DWORD dwFlags;
|
||||
} D3DRMPMESHLOADSTATUS, *LPD3DRMPMESHLOADSTATUS;
|
||||
|
||||
typedef enum _D3DRMUSERVISUALREASON {
|
||||
D3DRMUSERVISUAL_CANSEE,
|
||||
D3DRMUSERVISUAL_RENDER
|
||||
} D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON;
|
||||
|
||||
typedef struct _D3DRMANIMATIONKEY
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwKeyType;
|
||||
D3DVALUE dvTime;
|
||||
DWORD dwID;
|
||||
#if !defined(__cplusplus) || !defined(D3D_OVERLOADS)
|
||||
union
|
||||
{
|
||||
D3DRMQUATERNION dqRotateKey;
|
||||
D3DVECTOR dvScaleKey;
|
||||
D3DVECTOR dvPositionKey;
|
||||
} DUMMYUNIONNAME;
|
||||
#else
|
||||
D3DVALUE dvK[4];
|
||||
#endif
|
||||
} D3DRMANIMATIONKEY;
|
||||
typedef D3DRMANIMATIONKEY *LPD3DRMANIMATIONKEY;
|
||||
|
||||
#define D3DRMANIMATION_ROTATEKEY 0x01
|
||||
#define D3DRMANIMATION_SCALEKEY 0x02
|
||||
#define D3DRMANIMATION_POSITIONKEY 0x03
|
||||
|
||||
typedef DWORD D3DRMMAPPING, D3DRMMAPPINGFLAG, *LPD3DRMMAPPING;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPU = 1;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPV = 2;
|
||||
static const D3DRMMAPPINGFLAG D3DRMMAP_PERSPCORRECT = 4;
|
||||
|
||||
typedef struct _D3DRMVERTEX {
|
||||
D3DVECTOR position;
|
||||
D3DVECTOR normal;
|
||||
D3DVALUE tu;
|
||||
D3DVALUE tv;
|
||||
D3DCOLOR color;
|
||||
} D3DRMVERTEX, *LPD3DRMVERTEX;
|
||||
|
||||
typedef LONG D3DRMGROUPINDEX;
|
||||
static const D3DRMGROUPINDEX D3DRMGROUP_ALLGROUPS = -1;
|
||||
|
||||
void WINAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D m, D3DRMQUATERNION *q);
|
||||
|
||||
D3DRMQUATERNION * WINAPI D3DRMQuaternionFromRotation(D3DRMQUATERNION *x, D3DVECTOR *axis, D3DVALUE theta);
|
||||
D3DRMQUATERNION * WINAPI D3DRMQuaternionMultiply(D3DRMQUATERNION *ret, D3DRMQUATERNION *x, D3DRMQUATERNION *y);
|
||||
D3DRMQUATERNION * WINAPI D3DRMQuaternionSlerp(D3DRMQUATERNION *ret,
|
||||
D3DRMQUATERNION *x, D3DRMQUATERNION *y, D3DVALUE alpha);
|
||||
|
||||
D3DVECTOR * WINAPI D3DRMVectorAdd(D3DVECTOR *ret, D3DVECTOR *x, D3DVECTOR *y);
|
||||
D3DVECTOR * WINAPI D3DRMVectorCrossProduct(D3DVECTOR *ret, D3DVECTOR *x, D3DVECTOR *y);
|
||||
D3DVALUE WINAPI D3DRMVectorDotProduct(D3DVECTOR *x, D3DVECTOR *y);
|
||||
D3DVECTOR * WINAPI D3DRMVectorNormalize(D3DVECTOR *x);
|
||||
|
||||
#define D3DRMVectorNormalise D3DRMVectorNormalize
|
||||
|
||||
D3DVALUE WINAPI D3DRMVectorModulus(LPD3DVECTOR);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorRandom(LPD3DVECTOR);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorRotate(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorReflect(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
|
||||
LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
|
||||
D3DVALUE WINAPI D3DRMVectorModulus(D3DVECTOR *x);
|
||||
D3DVECTOR * WINAPI D3DRMVectorRandom(D3DVECTOR *ret);
|
||||
D3DVECTOR * WINAPI D3DRMVectorRotate(D3DVECTOR *ret, D3DVECTOR *x, D3DVECTOR *axis, D3DVALUE theta);
|
||||
D3DVECTOR * WINAPI D3DRMVectorReflect(D3DVECTOR *ret, D3DVECTOR *ray, D3DVECTOR *normal);
|
||||
D3DVECTOR * WINAPI D3DRMVectorScale(D3DVECTOR *ret, D3DVECTOR *x, D3DVALUE scale);
|
||||
D3DVECTOR * WINAPI D3DRMVectorSubtract(D3DVECTOR *ret, D3DVECTOR *x, D3DVECTOR *y);
|
||||
|
||||
D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE, D3DVALUE, D3DVALUE);
|
||||
D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Vijay Kiran Kamuju
|
||||
*
|
||||
* 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 __D3DRMWIN_H__
|
||||
#define __D3DRMWIN_H__
|
||||
|
||||
#include <d3drm.h>
|
||||
#include <ddraw.h>
|
||||
#include <d3d.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* Direct3DRMWinDevice interface GUID
|
||||
*/
|
||||
|
||||
DEFINE_GUID(IID_IDirect3DRMWinDevice, 0xc5016cc0, 0xd273, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
|
||||
|
||||
typedef struct IDirect3DRMWinDevice *LPDIRECT3DRMWINDEVICE, **LPLPDIRECT3DRMWINDEVICE;
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirect3DRMWinDevice interface
|
||||
*/
|
||||
#define INTERFACE IDirect3DRMWinDevice
|
||||
DECLARE_INTERFACE_(IDirect3DRMWinDevice,IDirect3DRMObject)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirect3DRMObject methods ***/
|
||||
STDMETHOD(Clone)(THIS_ IUnknown *outer, REFIID iid, void **out) PURE;
|
||||
STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK cb, void *ctx) PURE;
|
||||
STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK cb, void *ctx) PURE;
|
||||
STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
|
||||
STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
|
||||
STDMETHOD(SetName)(THIS_ const char *name) PURE;
|
||||
STDMETHOD(GetName)(THIS_ DWORD *size, char *name) PURE;
|
||||
STDMETHOD(GetClassName)(THIS_ DWORD *size, char *name) PURE;
|
||||
/*** IDirect3DRMWinDevice methods ***/
|
||||
STDMETHOD(HandlePaint)(THIS_ HDC) PURE;
|
||||
STDMETHOD(HandleActivate)(THIS_ WORD) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRMWinDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirect3DRMWinDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirect3DRMWinDevice_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirect3DRMObject methods ***/
|
||||
#define IDirect3DRMWinDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
|
||||
#define IDirect3DRMWinDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
|
||||
#define IDirect3DRMWinDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
|
||||
#define IDirect3DRMWinDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
|
||||
#define IDirect3DRMWinDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
|
||||
#define IDirect3DRMWinDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
|
||||
#define IDirect3DRMWinDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
|
||||
#define IDirect3DRMWinDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
|
||||
/*** IDirect3DRMWinDevice methods ***/
|
||||
#define IDirect3DRMWinDevice_HandlePaint(p,a) (p)->lpVtbl->HandlePaint(p,a)
|
||||
#define IDirect3DRMWinDevice_HandleActivate(p,a) (p)->lpVtbl->HandleActivate(p,a)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirect3DRMWinDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirect3DRMWinDevice_AddRef(p) (p)->AddRef()
|
||||
#define IDirect3DRMwinDevice_Release(p) (p)->Release()
|
||||
/*** IDirect3DRMObject methods ***/
|
||||
#define IDirect3DRMWinDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
|
||||
#define IDirect3DRMWinDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
|
||||
#define IDirect3DRMWinDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
|
||||
#define IDirect3DRMWinDevice_SetAppData(p,a) (p)->SetAppData(a)
|
||||
#define IDirect3DRMWinDevice_GetAppData(p) (p)->GetAppData()
|
||||
#define IDirect3DRMWinDevice_SetName(p,a) (p)->SetName(a)
|
||||
#define IDirect3DRMWinDevice_GetName(p,a,b) (p)->GetName(a,b)
|
||||
#define IDirect3DRMWinDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
|
||||
/*** IDirect3DRMWinDevice methods ***/
|
||||
#define IDirect3DRMWinDevice_HandlePaint(p,a) (p)->HandlePaint(a)
|
||||
#define IDirect3DRMWinDevice_HandleActivate(p,a) (p)->HandleActivate(a)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D3DRMWIN_H__ */
|
||||
+25
-3
@@ -1,6 +1,8 @@
|
||||
#ifndef _DBT_H
|
||||
#define _DBT_H
|
||||
|
||||
#include "winuser.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -18,6 +20,7 @@ extern "C" {
|
||||
#define DBT_DEVTYP_PORT 3
|
||||
#define DBT_DEVTYP_NET 4
|
||||
#define DBT_DEVTYP_DEVICEINTERFACE 5
|
||||
#define DBT_DEVTYP_HANDLE 6
|
||||
#define DBT_APPYBEGIN 0
|
||||
#define DBT_APPYEND 1
|
||||
#define DBT_DEVNODES_CHANGED 7
|
||||
@@ -99,18 +102,37 @@ typedef struct _DEV_BROADCAST_VOLUME {
|
||||
DWORD dbcv_unitmask;
|
||||
WORD dbcv_flags;
|
||||
} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
|
||||
typedef struct _DEV_BROADCAST_DEVICEINTERFACE {
|
||||
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
|
||||
DWORD dbcc_size;
|
||||
DWORD dbcc_devicetype;
|
||||
DWORD dbcc_reserved;
|
||||
GUID dbcc_classguid;
|
||||
TCHAR dbcc_name[1];
|
||||
} DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE;
|
||||
CHAR dbcc_name[1];
|
||||
} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
|
||||
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
|
||||
DWORD dbcc_size;
|
||||
DWORD dbcc_devicetype;
|
||||
DWORD dbcc_reserved;
|
||||
GUID dbcc_classguid;
|
||||
WCHAR dbcc_name[1];
|
||||
} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
|
||||
typedef struct _DEV_BROADCAST_HANDLE {
|
||||
DWORD dbch_size;
|
||||
DWORD dbch_devicetype;
|
||||
DWORD dbch_reserved;
|
||||
HANDLE dbch_handle;
|
||||
HDEVNOTIFY dbch_hdevnotify;
|
||||
GUID dbch_eventguid;
|
||||
LONG dbch_nameoffset;
|
||||
BYTE dbch_data[1];
|
||||
} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
|
||||
typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE;
|
||||
#else
|
||||
typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
|
||||
typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -13,7 +13,10 @@
|
||||
#endif
|
||||
|
||||
#define _FACDD 0x876
|
||||
|
||||
#ifndef MAKE_DDHRESULT
|
||||
#define MAKE_DDHRESULT(c) MAKE_HRESULT(1,_FACDD,c)
|
||||
#endif
|
||||
|
||||
#ifndef DIRECTDRAW_VERSION
|
||||
#define DIRECTDRAW_VERSION 0x0700
|
||||
|
||||
+12
-1
@@ -275,7 +275,18 @@ interface IOleCommandTarget : IUnknown
|
||||
OLECMDID_OPTICAL_GETZOOMRANGE = 64,
|
||||
OLECMDID_WINDOWSTATECHANGED = 65,
|
||||
OLECMDID_ACTIVEXINSTALLSCOPE = 66,
|
||||
OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67
|
||||
OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67,
|
||||
OLECMDID_SHOWTASKDLG = 68,
|
||||
OLECMDID_POPSTATEEVENT = 69,
|
||||
OLECMDID_VIEWPORT_MODE = 70,
|
||||
OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71,
|
||||
OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72,
|
||||
OLECMDID_USER_OPTICAL_ZOOM = 73,
|
||||
OLECMDID_PAGEAVAILABLE = 74,
|
||||
OLECMDID_GETUSERSCALABLE = 75,
|
||||
OLECMDID_UPDATE_CARET = 76,
|
||||
OLECMDID_ENABLE_VISIBILITY = 77,
|
||||
OLECMDID_MEDIA_PLAYBACK = 78
|
||||
} OLECMDID;
|
||||
|
||||
HRESULT QueryStatus(
|
||||
|
||||
@@ -43,6 +43,286 @@ typedef enum
|
||||
ADS_RIGHT_GENERIC_READ = 0x80000000
|
||||
} ADS_RIGHTS_ENUM;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADS_SECURE_AUTHENTICATION = 0x1,
|
||||
ADS_USE_ENCRYPTION = 0x2,
|
||||
ADS_USE_SSL = 0x2,
|
||||
ADS_READONLY_SERVER = 0x4,
|
||||
ADS_PROMPT_CREDENTIALS = 0x8,
|
||||
ADS_NO_AUTHENTICATION = 0x10,
|
||||
ADS_FAST_BIND = 0x20,
|
||||
ADS_USE_SIGNING = 0x40,
|
||||
ADS_USE_SEALING = 0x80,
|
||||
ADS_USE_DELEGATION = 0x100,
|
||||
ADS_SERVER_BIND = 0x200,
|
||||
ADS_NO_REFERRAL_CHASING = 0x400,
|
||||
ADS_AUTH_RESERVED = 0x80000000
|
||||
} ADS_AUTHENTICATION_ENUM;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADS_SEARCHPREF_ASYNCHRONOUS,
|
||||
ADS_SEARCHPREF_DEREF_ALIASES,
|
||||
ADS_SEARCHPREF_SIZE_LIMIT,
|
||||
ADS_SEARCHPREF_TIME_LIMIT,
|
||||
ADS_SEARCHPREF_ATTRIBTYPES_ONLY,
|
||||
ADS_SEARCHPREF_SEARCH_SCOPE,
|
||||
ADS_SEARCHPREF_TIMEOUT,
|
||||
ADS_SEARCHPREF_PAGESIZE,
|
||||
ADS_SEARCHPREF_PAGED_TIME_LIMIT,
|
||||
ADS_SEARCHPREF_CHASE_REFERRALS,
|
||||
ADS_SEARCHPREF_SORT_ON,
|
||||
ADS_SEARCHPREF_CACHE_RESULTS,
|
||||
ADS_SEARCHPREF_DIRSYNC,
|
||||
ADS_SEARCHPREF_TOMBSTONE,
|
||||
ADS_SEARCHPREF_VLV,
|
||||
ADS_SEARCHPREF_ATTRIBUTE_QUERY,
|
||||
ADS_SEARCHPREF_SECURITY_MASK,
|
||||
ADS_SEARCHPREF_DIRSYNC_FLAG,
|
||||
ADS_SEARCHPREF_EXTENDED_DN
|
||||
} ADS_SEARCHPREF_ENUM;
|
||||
|
||||
typedef ADS_SEARCHPREF_ENUM *PADS_SEARCHPREF_INFO;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADS_STATUS_S_OK,
|
||||
ADS_STATUS_INVALID_SEARCHPREF,
|
||||
ADS_STATUS_INVALID_SEARCHPREFVALUE
|
||||
} ADS_STATUSENUM;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADSTYPE_INVALID,
|
||||
ADSTYPE_DN_STRING,
|
||||
ADSTYPE_CASE_EXACT_STRING,
|
||||
ADSTYPE_CASE_IGNORE_STRING,
|
||||
ADSTYPE_PRINTABLE_STRING,
|
||||
ADSTYPE_NUMERIC_STRING,
|
||||
ADSTYPE_BOOLEAN,
|
||||
ADSTYPE_INTEGER,
|
||||
ADSTYPE_OCTET_STRING,
|
||||
ADSTYPE_UTC_TIME,
|
||||
ADSTYPE_LARGE_INTEGER,
|
||||
ADSTYPE_PROV_SPECIFIC,
|
||||
ADSTYPE_OBJECT_CLASS,
|
||||
ADSTYPE_CASEIGNORE_LIST,
|
||||
ADSTYPE_OCTET_LIST,
|
||||
ADSTYPE_PATH,
|
||||
ADSTYPE_POSTALADDRESS,
|
||||
ADSTYPE_TIMESTAMP,
|
||||
ADSTYPE_BACKLINK,
|
||||
ADSTYPE_TYPEDNAME,
|
||||
ADSTYPE_HOLD,
|
||||
ADSTYPE_NETADDRESS,
|
||||
ADSTYPE_REPLICAPOINTER,
|
||||
ADSTYPE_FAXNUMBER,
|
||||
ADSTYPE_EMAIL,
|
||||
ADSTYPE_NT_SECURITY_DESCRIPTOR,
|
||||
ADSTYPE_UNKNOWN,
|
||||
ADSTYPE_DN_WITH_BINARY,
|
||||
ADSTYPE_DN_WITH_STRING
|
||||
} ADSTYPEENUM;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADS_PASSWORD_ENCODE_REQUIRE_SSL,
|
||||
ADS_PASSWORD_ENCODE_CLEAR
|
||||
} ADS_PASSWORD_ENCODING_ENUM;
|
||||
|
||||
typedef struct _ADS_CASEIGNORE_LIST
|
||||
{
|
||||
struct _ADS_CASEIGNORE_LIST *Next;
|
||||
LPWSTR String;
|
||||
} ADS_CASEIGNORE_LIST;
|
||||
|
||||
typedef struct _ADS_OCTET_LIST
|
||||
{
|
||||
struct _ADS_OCTET_LIST *Next;
|
||||
DWORD Length;
|
||||
BYTE *Data;
|
||||
} ADS_OCTET_LIST;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD Type;
|
||||
LPWSTR VolumeName;
|
||||
LPWSTR Path;
|
||||
} ADS_PATH, *PADS_PATH;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD WholeSeconds;
|
||||
DWORD EventID;
|
||||
} ADS_TIMESTAMP;
|
||||
|
||||
|
||||
typedef ADSTYPEENUM ADSTYPE;
|
||||
typedef LPWSTR ADS_DN_STRING;
|
||||
typedef LPWSTR *PADS_DN_STRING;
|
||||
typedef LPWSTR ADS_CASE_EXACT_STRING;
|
||||
typedef LPWSTR *PADS_CASE_EXACT_STRING;
|
||||
typedef LPWSTR ADS_CASE_IGNORE_STRING;
|
||||
typedef LPWSTR *PADS_CASE_IGNORE_STRING;
|
||||
typedef LPWSTR ADS_PRINTABLE_STRING;
|
||||
typedef LPWSTR *PADS_PRINTABLE_STRING;
|
||||
typedef LPWSTR ADS_NUMERIC_STRING;
|
||||
typedef LPWSTR *PADS_NUMERIC_STRING;
|
||||
typedef DWORD ADS_BOOLEAN;
|
||||
typedef DWORD *LPNDS_BOOLEAN;
|
||||
typedef DWORD ADS_INTEGER;
|
||||
typedef DWORD *PADS_INTEGER;
|
||||
typedef SYSTEMTIME ADS_UTC_TIME;
|
||||
typedef SYSTEMTIME *PADS_UTC_TIME;
|
||||
typedef LARGE_INTEGER ADS_LARGE_INTEGER;
|
||||
typedef LARGE_INTEGER *PADS_LARGE_INTEGER;
|
||||
typedef LPWSTR ADS_OBJECT_CLASS;
|
||||
typedef LPWSTR *PADS_OBJECT_CLASS;
|
||||
typedef struct _ADS_OCTET_LIST *PADS_OCTET_LIST;
|
||||
typedef struct _ADS_CASEIGNORE_LIST *PADS_CASEIGNORE_LIST;
|
||||
typedef ADS_STATUSENUM ADS_STATUS;
|
||||
typedef ADS_SEARCHPREF_ENUM ADS_SEARCHPREF;
|
||||
typedef HANDLE ADS_SEARCH_HANDLE;
|
||||
typedef HANDLE *PADS_SEARCH_HANDLE;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwLength;
|
||||
BYTE *lpValue;
|
||||
} ADS_OCTET_STRING;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwLength;
|
||||
BYTE *lpValue;
|
||||
} ADS_PROV_SPECIFIC;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR PostalAddress[ 6 ];
|
||||
} ADS_POSTALADDRESS, *PADS_POSTALADDRESS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR ObjectName;
|
||||
DWORD Level;
|
||||
DWORD Interval;
|
||||
} ADS_TYPEDNAME, *PADS_TYPEDNAME;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD RemoteID;
|
||||
LPWSTR ObjectName;
|
||||
} ADS_BACKLINK;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR ObjectName;
|
||||
DWORD Amount;
|
||||
} ADS_HOLD;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD AddressType;
|
||||
DWORD AddressLength;
|
||||
BYTE *Address;
|
||||
} ADS_NETADDRESS, *PADS_NETADDRESS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR ServerName;
|
||||
DWORD ReplicaType;
|
||||
DWORD ReplicaNumber;
|
||||
DWORD Count;
|
||||
PADS_NETADDRESS ReplicaAddressHints;
|
||||
} ADS_REPLICAPOINTER, *PADS_REPLICAPOINTER;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR TelephoneNumber;
|
||||
DWORD NumberOfBits;
|
||||
BYTE *Parameters;
|
||||
} ADS_FAXNUMBER, *PADS_FAXNUMBER;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR Address;
|
||||
DWORD Type;
|
||||
} ADS_EMAIL, *PADS_EMAIL;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwLength;
|
||||
BYTE *lpValue;
|
||||
} ADS_NT_SECURITY_DESCRIPTOR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwLength;
|
||||
BYTE *lpBinaryValue;
|
||||
LPWSTR pszDNString;
|
||||
} ADS_DN_WITH_BINARY, *PADS_DN_WITH_BINARY;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPWSTR pszStringValue;
|
||||
LPWSTR pszDNString;
|
||||
} ADS_DN_WITH_STRING, *PADS_DN_WITH_STRING;
|
||||
|
||||
typedef struct _adsvalue
|
||||
{
|
||||
ADSTYPE dwType;
|
||||
union
|
||||
{
|
||||
ADS_DN_STRING DNString;
|
||||
ADS_CASE_EXACT_STRING CaseExactString;
|
||||
ADS_CASE_IGNORE_STRING CaseIgnoreString;
|
||||
ADS_PRINTABLE_STRING PrintableString;
|
||||
ADS_NUMERIC_STRING NumericString;
|
||||
ADS_BOOLEAN Boolean;
|
||||
ADS_INTEGER Integer;
|
||||
ADS_OCTET_STRING OctetString;
|
||||
ADS_UTC_TIME UTCTime;
|
||||
ADS_LARGE_INTEGER LargeInteger;
|
||||
ADS_OBJECT_CLASS ClassName;
|
||||
ADS_PROV_SPECIFIC ProviderSpecific;
|
||||
PADS_CASEIGNORE_LIST pCaseIgnoreList;
|
||||
PADS_OCTET_LIST pOctetList;
|
||||
PADS_PATH pPath;
|
||||
PADS_POSTALADDRESS pPostalAddress;
|
||||
ADS_TIMESTAMP Timestamp;
|
||||
ADS_BACKLINK BackLink;
|
||||
PADS_TYPEDNAME pTypedName;
|
||||
ADS_HOLD Hold;
|
||||
PADS_NETADDRESS pNetAddress;
|
||||
PADS_REPLICAPOINTER pReplicaPointer;
|
||||
PADS_FAXNUMBER pFaxNumber;
|
||||
ADS_EMAIL Email;
|
||||
ADS_NT_SECURITY_DESCRIPTOR SecurityDescriptor;
|
||||
PADS_DN_WITH_BINARY pDNWithBinary;
|
||||
PADS_DN_WITH_STRING pDNWithString;
|
||||
};
|
||||
} ADSVALUE, *PADSVALUE;
|
||||
|
||||
typedef struct ads_searchpref_info
|
||||
{
|
||||
ADS_SEARCHPREF dwSearchPref;
|
||||
ADSVALUE vValue;
|
||||
ADS_STATUS dwStatus;
|
||||
} ADS_SEARCHPREF_INFO;
|
||||
|
||||
typedef struct ads_search_column
|
||||
{
|
||||
LPWSTR pszAttrName;
|
||||
ADSTYPE dwADsType;
|
||||
PADSVALUE pADsValues;
|
||||
DWORD dwNumValues;
|
||||
HANDLE hReserved;
|
||||
} ADS_SEARCH_COLUMN, *PADS_SEARCH_COLUMN;
|
||||
|
||||
/*****************************************************************************
|
||||
* IADsContainer interface
|
||||
*/
|
||||
@@ -84,3 +364,416 @@ interface IADsContainer: IDispatch
|
||||
[in] BSTR bstrNewName,
|
||||
[out, retval] IDispatch **ppObject);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IADs interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
uuid(FD8256D0-FD15-11CE-ABC4-02608C9E7553),
|
||||
dual,
|
||||
oleautomation
|
||||
]
|
||||
interface IADs : IDispatch
|
||||
{
|
||||
[id(0x00000002), propget]
|
||||
HRESULT Name([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000003), propget]
|
||||
HRESULT Class([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000004), propget]
|
||||
HRESULT GUID([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000005), propget]
|
||||
HRESULT ADsPath([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000006), propget]
|
||||
HRESULT Parent([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000007), propget]
|
||||
HRESULT Schema([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000008)]
|
||||
HRESULT GetInfo();
|
||||
|
||||
[id(0x00000009)]
|
||||
HRESULT SetInfo();
|
||||
|
||||
[id(0x0000000a)]
|
||||
HRESULT Get([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
|
||||
|
||||
[id(0x0000000b)]
|
||||
HRESULT Put([in] BSTR bstrName, [in] VARIANT vProp);
|
||||
|
||||
[id(0x0000000c)]
|
||||
HRESULT GetEx([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
|
||||
|
||||
[id(0x0000000d)]
|
||||
HRESULT PutEx([in] long lnControlCode, [in] BSTR bstrName, [in] VARIANT vProp);
|
||||
|
||||
[id(0x0000000e)]
|
||||
HRESULT GetInfoEx( [in] VARIANT vProperties, [in] long lnReserved);
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* IADsMembers interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
uuid(451A0030-72EC-11CF-B03B-00AA006E0975),
|
||||
dual,
|
||||
oleautomation
|
||||
]
|
||||
interface IADsMembers : IDispatch
|
||||
{
|
||||
[id(0x00000002), propget]
|
||||
HRESULT Count([out, retval] long* plCount);
|
||||
|
||||
[id(0xfffffffc), propget]
|
||||
HRESULT _NewEnum([out, retval] IUnknown** ppEnumerator);
|
||||
|
||||
[id(0x00000003), propget]
|
||||
HRESULT Filter([out, retval] VARIANT* pvFilter);
|
||||
|
||||
[id(0x00000003), propput]
|
||||
HRESULT Filter([in] VARIANT pvFilter);
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* IADsGroup interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
uuid(27636B00-410F-11CF-B1FF-02608C9E7553),
|
||||
dual,
|
||||
oleautomation
|
||||
]
|
||||
interface IADsGroup : IADs {
|
||||
[id(0x0000000f), propget]
|
||||
HRESULT Description([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000000f), propput]
|
||||
HRESULT Description([in] BSTR retval);
|
||||
|
||||
[id(0x00000010)]
|
||||
HRESULT Members([out, retval] IADsMembers** ppMembers);
|
||||
|
||||
[id(0x00000011)]
|
||||
HRESULT IsMember([in] BSTR bstrMember, [out, retval] VARIANT_BOOL* bMember);
|
||||
|
||||
[id(0x00000012)]
|
||||
HRESULT Add([in] BSTR bstrNewItem);
|
||||
|
||||
[id(0x00000013)]
|
||||
HRESULT Remove([in] BSTR bstrItemToBeRemoved);
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* IADsUser interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
uuid(3E37E320-17E2-11CF-ABC4-02608C9E7553),
|
||||
dual,
|
||||
oleautomation
|
||||
]
|
||||
interface IADsUser : IADs
|
||||
{
|
||||
[id(0x00000035), propget]
|
||||
HRESULT BadLoginAddress([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000036), propget]
|
||||
HRESULT BadLoginCount([out, retval] long* retval);
|
||||
|
||||
[id(0x00000038), propget]
|
||||
HRESULT LastLogin([out, retval] DATE* retval);
|
||||
|
||||
[id(0x00000039), propget]
|
||||
HRESULT LastLogoff([out, retval] DATE* retval);
|
||||
|
||||
[id(0x0000003a), propget]
|
||||
HRESULT LastFailedLogin([out, retval] DATE* retval);
|
||||
|
||||
[id(0x0000003b), propget]
|
||||
HRESULT PasswordLastChanged([out, retval] DATE* retval);
|
||||
|
||||
[id(0x0000000f), propget]
|
||||
HRESULT Description([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000000f), propput]
|
||||
HRESULT Description([in] BSTR retval);
|
||||
|
||||
[id(0x00000013), propget]
|
||||
HRESULT Division([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000013), propput]
|
||||
HRESULT Division([in] BSTR retval);
|
||||
|
||||
[id(0x0000007a), propget]
|
||||
HRESULT Department([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000007a), propput]
|
||||
HRESULT Department([in] BSTR retval);
|
||||
|
||||
[id(0x00000014), propget]
|
||||
HRESULT EmployeeID([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000014), propput]
|
||||
HRESULT EmployeeID([in] BSTR retval);
|
||||
|
||||
[id(0x00000017), propget]
|
||||
HRESULT FullName([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000017), propput]
|
||||
HRESULT FullName([in] BSTR retval);
|
||||
|
||||
[id(0x00000016), propget]
|
||||
HRESULT FirstName([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000016), propput]
|
||||
HRESULT FirstName([in] BSTR retval);
|
||||
|
||||
[id(0x00000019), propget]
|
||||
HRESULT LastName([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000019), propput]
|
||||
HRESULT LastName([in] BSTR retval);
|
||||
|
||||
[id(0x0000001b), propget]
|
||||
HRESULT OtherName([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000001b), propput]
|
||||
HRESULT OtherName([in] BSTR retval);
|
||||
|
||||
[id(0x00000072), propget]
|
||||
HRESULT NamePrefix([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000072), propput]
|
||||
HRESULT NamePrefix([in] BSTR retval);
|
||||
|
||||
[id(0x00000073), propget]
|
||||
HRESULT NameSuffix([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000073), propput]
|
||||
HRESULT NameSuffix([in] BSTR retval);
|
||||
|
||||
[id(0x00000024), propget]
|
||||
HRESULT Title([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000024), propput]
|
||||
HRESULT Title([in] BSTR retval);
|
||||
|
||||
[id(0x0000001a), propget]
|
||||
HRESULT Manager([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000001a), propput]
|
||||
HRESULT Manager([in] BSTR retval);
|
||||
|
||||
[id(0x00000020), propget]
|
||||
HRESULT TelephoneHome([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000020), propput]
|
||||
HRESULT TelephoneHome([in] VARIANT retval);
|
||||
|
||||
[id(0x00000021), propget]
|
||||
HRESULT TelephoneMobile([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000021), propput]
|
||||
HRESULT TelephoneMobile([in] VARIANT retval);
|
||||
|
||||
[id(0x00000022), propget]
|
||||
HRESULT TelephoneNumber([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000022), propput]
|
||||
HRESULT TelephoneNumber([in] VARIANT retval);
|
||||
|
||||
[id(0x00000011), propget]
|
||||
HRESULT TelephonePager([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000011), propput]
|
||||
HRESULT TelephonePager([in] VARIANT retval);
|
||||
|
||||
[id(0x00000010), propget]
|
||||
HRESULT FaxNumber([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000010), propput]
|
||||
HRESULT FaxNumber([in] VARIANT retval);
|
||||
|
||||
[id(0x0000001c), propget]
|
||||
HRESULT OfficeLocations([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000001c), propput]
|
||||
HRESULT OfficeLocations([in] VARIANT retval);
|
||||
|
||||
[id(0x0000001e), propget]
|
||||
HRESULT PostalAddresses([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000001e), propput]
|
||||
HRESULT PostalAddresses([in] VARIANT retval);
|
||||
|
||||
[id(0x0000001f), propget]
|
||||
HRESULT PostalCodes([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000001f), propput]
|
||||
HRESULT PostalCodes([in] VARIANT retval);
|
||||
|
||||
[id(0x00000075), propget]
|
||||
HRESULT SeeAlso([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000075), propput]
|
||||
HRESULT SeeAlso([in] VARIANT retval);
|
||||
|
||||
[id(0x00000025), propget]
|
||||
HRESULT AccountDisabled([out, retval] VARIANT_BOOL* retval);
|
||||
|
||||
[id(0x00000025), propput]
|
||||
HRESULT AccountDisabled([in] VARIANT_BOOL retval);
|
||||
|
||||
[id(0x00000026), propget]
|
||||
HRESULT AccountExpirationDate([out, retval] DATE* retval);
|
||||
|
||||
[id(0x00000026), propput]
|
||||
HRESULT AccountExpirationDate([in] DATE retval);
|
||||
|
||||
[id(0x00000029), propget]
|
||||
HRESULT GraceLoginsAllowed([out, retval] long* retval);
|
||||
|
||||
[id(0x00000029), propput]
|
||||
HRESULT GraceLoginsAllowed([in] long retval);
|
||||
|
||||
[id(0x0000002a), propget]
|
||||
HRESULT GraceLoginsRemaining([out, retval] long* retval);
|
||||
|
||||
[id(0x0000002a), propput]
|
||||
HRESULT GraceLoginsRemaining([in] long retval);
|
||||
|
||||
[id(0x0000002b), propget]
|
||||
HRESULT IsAccountLocked([out, retval] VARIANT_BOOL* retval);
|
||||
|
||||
[id(0x0000002b), propput]
|
||||
HRESULT IsAccountLocked([in] VARIANT_BOOL retval);
|
||||
|
||||
[id(0x0000002d), propget]
|
||||
HRESULT LoginHours([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000002d), propput]
|
||||
HRESULT LoginHours([in] VARIANT retval);
|
||||
|
||||
[id(0x0000002e), propget]
|
||||
HRESULT LoginWorkstations([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000002e), propput]
|
||||
HRESULT LoginWorkstations([in] VARIANT retval);
|
||||
|
||||
[id(0x0000002f), propget]
|
||||
HRESULT MaxLogins([out, retval] long* retval);
|
||||
|
||||
[id(0x0000002f), propput]
|
||||
HRESULT MaxLogins([in] long retval);
|
||||
|
||||
[id(0x00000030), propget]
|
||||
HRESULT MaxStorage([out, retval] long* retval);
|
||||
|
||||
[id(0x00000030), propput]
|
||||
HRESULT MaxStorage([in] long retval);
|
||||
|
||||
[id(0x00000031), propget]
|
||||
HRESULT PasswordExpirationDate([out, retval] DATE* retval);
|
||||
|
||||
[id(0x00000031), propput]
|
||||
HRESULT PasswordExpirationDate([in] DATE retval);
|
||||
|
||||
[id(0x00000032), propget]
|
||||
HRESULT PasswordMinimumLength([out, retval] long* retval);
|
||||
|
||||
[id(0x00000032), propput]
|
||||
HRESULT PasswordMinimumLength([in] long retval);
|
||||
|
||||
[id(0x00000033), propget]
|
||||
HRESULT PasswordRequired([out, retval] VARIANT_BOOL* retval);
|
||||
|
||||
[id(0x00000033), propput]
|
||||
HRESULT PasswordRequired([in] VARIANT_BOOL retval);
|
||||
|
||||
[id(0x00000034), propget]
|
||||
HRESULT RequireUniquePassword([out, retval] VARIANT_BOOL* retval);
|
||||
|
||||
[id(0x00000034), propput]
|
||||
HRESULT RequireUniquePassword([in] VARIANT_BOOL retval);
|
||||
|
||||
[id(0x0000003c), propget]
|
||||
HRESULT EmailAddress([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000003c), propput]
|
||||
HRESULT EmailAddress([in] BSTR retval);
|
||||
|
||||
[id(0x0000003d), propget]
|
||||
HRESULT HomeDirectory([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000003d), propput]
|
||||
HRESULT HomeDirectory([in] BSTR retval);
|
||||
|
||||
[id(0x0000003e), propget]
|
||||
HRESULT Languages([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x0000003e), propput]
|
||||
HRESULT Languages([in] VARIANT retval);
|
||||
|
||||
[id(0x0000003f), propget]
|
||||
HRESULT Profile([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x0000003f), propput]
|
||||
HRESULT Profile([in] BSTR retval);
|
||||
|
||||
[id(0x00000040), propget]
|
||||
HRESULT LoginScript([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000040), propput]
|
||||
HRESULT LoginScript([in] BSTR retval);
|
||||
|
||||
[id(0x00000041), propget]
|
||||
HRESULT Picture([out, retval] VARIANT* retval);
|
||||
|
||||
[id(0x00000041), propput]
|
||||
HRESULT Picture([in] VARIANT retval);
|
||||
|
||||
[id(0x00000078), propget]
|
||||
HRESULT HomePage([out, retval] BSTR* retval);
|
||||
|
||||
[id(0x00000078), propput]
|
||||
HRESULT HomePage([in] BSTR retval);
|
||||
|
||||
[id(0x00000042)]
|
||||
HRESULT Groups([out, retval] IADsMembers** ppGroups);
|
||||
|
||||
[id(0x00000043)]
|
||||
HRESULT SetPassword([in] BSTR NewPassword);
|
||||
|
||||
[id(0x00000044)]
|
||||
HRESULT ChangePassword([in] BSTR bstrOldPassword, [in] BSTR bstrNewPassword);
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirectorySearch interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
local,
|
||||
uuid(109BA8EC-92F0-11D0-A790-00C04FD8D5A8)
|
||||
]
|
||||
interface IDirectorySearch : IUnknown
|
||||
{
|
||||
HRESULT SetSearchPreference([in] PADS_SEARCHPREF_INFO pSearchPrefs, [in] DWORD dwNumPrefs);
|
||||
HRESULT ExecuteSearch([in] LPWSTR pszSearchFilter, [in] LPWSTR* pAttributeNames,
|
||||
[in] DWORD dwNumberAttributes, [out] PADS_SEARCH_HANDLE phSearchResult);
|
||||
HRESULT AbandonSearch([in] ADS_SEARCH_HANDLE phSearchResult);
|
||||
HRESULT GetFirstRow([in] ADS_SEARCH_HANDLE hSearchResult);
|
||||
HRESULT GetNextRow([in] ADS_SEARCH_HANDLE hSearchResult);
|
||||
HRESULT GetPreviousRow([in] ADS_SEARCH_HANDLE hSearchResult);
|
||||
HRESULT GetNextColumnName([in] ADS_SEARCH_HANDLE hSearchHandle, [out] LPWSTR* ppszColumnName);
|
||||
HRESULT GetColumn( [in] ADS_SEARCH_HANDLE hSearchResult, [in] LPWSTR szColumnName,
|
||||
[out] PADS_SEARCH_COLUMN pSearchColumn);
|
||||
HRESULT FreeColumn([in] PADS_SEARCH_COLUMN pSearchColumn);
|
||||
HRESULT CloseSearchHandle([in] ADS_SEARCH_HANDLE hSearchResult);
|
||||
};
|
||||
|
||||
@@ -106,7 +106,7 @@ typedef enum _IMAGEHLP_STATUS_REASON {
|
||||
BindMismatchedSymbols,
|
||||
BindSymbolsNotUpdated
|
||||
} IMAGEHLP_STATUS_REASON;
|
||||
typedef BOOL(WINAPI*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,LPSTR,LPSTR,ULONG,ULONG);
|
||||
typedef BOOL(WINAPI*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,PCSTR,PCSTR,ULONG_PTR,ULONG_PTR);
|
||||
typedef struct _LOADED_IMAGE {
|
||||
PSTR ModuleName;
|
||||
HANDLE hFile;
|
||||
|
||||
@@ -190,6 +190,14 @@ typedef struct _IP_ADAPTER_ADDRESSES {
|
||||
DWORD ZoneIndices[16];
|
||||
PIP_ADAPTER_PREFIX FirstPrefix;
|
||||
} IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;
|
||||
|
||||
#define GAA_FLAG_SKIP_UNICAST 0x00000001
|
||||
#define GAA_FLAG_SKIP_ANYCAST 0x00000002
|
||||
#define GAA_FLAG_SKIP_MULTICAST 0x00000004
|
||||
#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
|
||||
#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
|
||||
#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define DLG_ACMFORMATCHOOSE_ID 70
|
||||
#define IDD_ACMFORMATCHOOSE_BTN_HELP 9
|
||||
#define IDD_ACMFORMATCHOOSE_CMB_CUSTOM 100
|
||||
@@ -33,4 +35,3 @@
|
||||
#define IDD_ACMFILTERCHOOSE_CMB_FILTER 102
|
||||
#define IDD_ACMFILTERCHOOSE_BTN_SETNAME 103
|
||||
#define IDD_ACMFILTERCHOOSE_BTN_DELNAME 104
|
||||
|
||||
|
||||
+221
-118
@@ -33,6 +33,8 @@ cpp_quote("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
|
||||
cpp_quote("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
|
||||
cpp_quote("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
|
||||
cpp_quote("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);")
|
||||
cpp_quote("HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim);")
|
||||
cpp_quote("HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void);")
|
||||
|
||||
cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
|
||||
cpp_quote("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);")
|
||||
@@ -79,6 +81,11 @@ cpp_quote("#define TF_MOD_LSHIFT 0x0100")
|
||||
cpp_quote("#define TF_MOD_ON_KEYUP 0x0200")
|
||||
cpp_quote("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400")
|
||||
|
||||
cpp_quote("#define TF_PROFILETYPE_INPUTPROCESSOR 0x0001")
|
||||
cpp_quote("#define TF_PROFILETYPE_KEYBOARDLAYOUT 0x0002")
|
||||
|
||||
cpp_quote("#define TF_IPSINK_FLAG_ACTIVE 0x0001")
|
||||
|
||||
interface ITfDocumentMgr;
|
||||
interface ITfContext;
|
||||
interface IEnumTfDocumentMgrs;
|
||||
@@ -99,6 +106,20 @@ interface ITfEditRecord;
|
||||
interface ITfCompositionView;
|
||||
interface ITfKeyEventSink;
|
||||
|
||||
cpp_quote("#if 0")
|
||||
typedef [uuid(4f5d560f-5ab5-4dde-8c4d-404592857ab0)] UINT_PTR HKL;
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef [uuid(e26d9e1d-691e-4f29-90d7-338dcf1f8cef)] struct TF_PERSISTENT_PROPERTY_HEADER_ACP
|
||||
{
|
||||
GUID guidType;
|
||||
LONG ichStart;
|
||||
LONG cch;
|
||||
ULONG cb;
|
||||
DWORD dwPrivate;
|
||||
CLSID clsidTIP;
|
||||
} TF_PERSISTENT_PROPERTY_HEADER_ACP;
|
||||
|
||||
typedef [uuid(e1b5808d-1e46-4c19-84dc-68c5f5978cc8)] struct TF_LANGUAGEPROFILE
|
||||
{
|
||||
CLSID clsid;
|
||||
@@ -307,6 +328,8 @@ interface ITfContext : IUnknown
|
||||
|
||||
};
|
||||
|
||||
const DWORD TF_INVALID_COOKIE = 0xffffffff;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(4ea48a35-60ae-446f-8fd6-e6a8d82459f7),
|
||||
@@ -421,6 +444,105 @@ interface ITfInputProcessorProfiles : IUnknown
|
||||
[in] HKL hKL);
|
||||
};
|
||||
|
||||
typedef [uuid(44d2825a-10e5-43b2-877f-6cb2f43b7e7e)]
|
||||
struct TF_INPUTPROCESSORPROFILE {
|
||||
DWORD dwProfileType;
|
||||
LANGID langid;
|
||||
CLSID clsid;
|
||||
GUID guidProfile;
|
||||
GUID catid;
|
||||
HKL hklSubstitute;
|
||||
DWORD dwCaps;
|
||||
HKL hkl;
|
||||
DWORD dwFlags;
|
||||
} TF_INPUTPROCESSORPROFILE;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(71c6e74d-0f28-11d8-a82a-00065b84435c),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumTfInputProcessorProfiles : IUnknown
|
||||
{
|
||||
HRESULT Clone(
|
||||
[out] IEnumTfInputProcessorProfiles **ppEnum);
|
||||
|
||||
HRESULT Next(
|
||||
[in] ULONG ulCount,
|
||||
[out, size_is(ulCount), length_is(*pcFetch)] TF_INPUTPROCESSORPROFILE *pProfile,
|
||||
[out] ULONG *pcFetch);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG ulCount);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(71c6e74c-0f28-11d8-a82a-00065b84435c),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfInputProcessorProfileMgr : IUnknown
|
||||
{
|
||||
HRESULT ActivateProfile(
|
||||
[in] DWORD dwProfileType,
|
||||
[in] LANGID langid,
|
||||
[in] REFCLSID clsid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] HKL hkl,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT DeactivateProfile(
|
||||
[in] DWORD dwProfileType,
|
||||
[in] LANGID langid,
|
||||
[in] REFCLSID clsid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] HKL hkl,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT GetProfile(
|
||||
[in] DWORD dwProfileType,
|
||||
[in] LANGID langid,
|
||||
[in] REFCLSID clsid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] HKL hkl,
|
||||
[out] TF_INPUTPROCESSORPROFILE *pProfile);
|
||||
|
||||
|
||||
HRESULT EnumProfiles(
|
||||
[in] LANGID langid,
|
||||
[out] IEnumTfInputProcessorProfiles **ppEnum);
|
||||
|
||||
HRESULT ReleaseInputProcessor(
|
||||
[in] REFCLSID rclsid,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT RegisterProfile(
|
||||
[in] REFCLSID rclsid,
|
||||
[in] LANGID langid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in, size_is(cchDesc)] const WCHAR *pchDesc,
|
||||
[in] ULONG cchDesc,
|
||||
[in, size_is(cchFile)] const WCHAR *pchIconFile,
|
||||
[in] ULONG cchFile,
|
||||
[in] ULONG uIconIndex,
|
||||
[in] HKL hklsubstitute,
|
||||
[in] DWORD dwPreferredLayout,
|
||||
[in] BOOL bEnabledByDefault,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT UnregisterProfile(
|
||||
[in] REFCLSID rclsid,
|
||||
[in] LANGID langid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT GetActiveProfile(
|
||||
[in] REFGUID catid,
|
||||
[out] TF_INPUTPROCESSORPROFILE *pProfile);
|
||||
}
|
||||
|
||||
typedef [uuid(c4cc07f1-80cc-4a7b-bc54-98512782cbe3)]
|
||||
enum {
|
||||
TF_LS_NONE = 0,
|
||||
@@ -615,6 +737,19 @@ interface ITfContextOwnerCompositionSink : IUnknown
|
||||
[in] ITfCompositionView *pComposition);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(b246cb75-a93e-4652-bf8c-b3fe0cfd7e57),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfActiveLanguageProfileNotifySink : IUnknown
|
||||
{
|
||||
HRESULT OnActivated(
|
||||
[in] REFCLSID clsid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] BOOL fActivated);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(3d61bf11-ac5f-42c8-a4cb-931bcc28c744),
|
||||
@@ -1193,6 +1328,51 @@ interface ITfContextOwnerCompositionServices : ITfContextComposition
|
||||
HRESULT TerminateComposition([in] ITfCompositionView *pComposition);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(4ef89150-0807-11d3-8df0-00105a2799b5),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfPersistentPropertyLoaderACP : IUnknown
|
||||
{
|
||||
HRESULT LoadProperty(
|
||||
[in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
|
||||
[out] IStream **ppStream);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(b23eb630-3e1c-11d3-a745-0050040ab407),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfContextOwnerServices : IUnknown
|
||||
{
|
||||
HRESULT OnLayoutChange();
|
||||
|
||||
HRESULT OnStatusChange([in] DWORD dwFlags);
|
||||
|
||||
HRESULT OnAttributeChange([in] REFGUID rguidAttribute);
|
||||
|
||||
HRESULT Serialize(
|
||||
[in] ITfProperty *pProp,
|
||||
[in] ITfRange *pRange,
|
||||
[out] TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
|
||||
[in] IStream *pStream);
|
||||
|
||||
HRESULT Unserialize(
|
||||
[in] ITfProperty *pProp,
|
||||
[in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
|
||||
[in] IStream *pStream,
|
||||
[in] ITfPersistentPropertyLoaderACP *pLoader);
|
||||
|
||||
HRESULT ForceLoadProperty([in] ITfProperty *pProp);
|
||||
|
||||
HRESULT CreateRange(
|
||||
[in] LONG acpStart,
|
||||
[in] LONG acpEnd,
|
||||
[out] ITfRangeACP **ppRange);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(17d49a3d-f8b8-4b2f-b254-52319dd64c53),
|
||||
@@ -1362,139 +1542,62 @@ interface ITfThreadFocusSink : IUnknown
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(101d6610-0990-11d3-8df0-00105a2799b5),
|
||||
uuid(71c6e74e-0f28-11d8-a82a-00065b84435c),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfFunctionProvider : IUnknown
|
||||
interface ITfInputProcessorProfileActivationSink : IUnknown
|
||||
{
|
||||
HRESULT GetType(
|
||||
[out] GUID *pguid);
|
||||
|
||||
HRESULT GetDescription(
|
||||
[out] BSTR *pbstrDesc);
|
||||
|
||||
HRESULT GetFunction(
|
||||
[in] REFGUID rguid,
|
||||
[in] REFIID riid,
|
||||
[out, iid_is(riid)] IUnknown **ppunk);
|
||||
HRESULT OnActivated(
|
||||
[in] DWORD dwProfileType,
|
||||
[in] LANGID langid,
|
||||
[in] REFCLSID clsid,
|
||||
[in] REFGUID catid,
|
||||
[in] REFGUID guidProfile,
|
||||
[in] HKL hkl,
|
||||
[in] DWORD dwFlags);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(e4b24db0-0990-11d3-8df0-00105a2799b5),
|
||||
pointer_default(unique)
|
||||
object,
|
||||
local,
|
||||
uuid(a1adaaa2-3a24-449d-ac96-5183e7f5c217),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumTfFunctionProviders : IUnknown
|
||||
interface ITfMouseSink : IUnknown
|
||||
{
|
||||
HRESULT Clone(
|
||||
[out] IEnumTfFunctionProviders **ppEnum);
|
||||
|
||||
HRESULT Next(
|
||||
[in] ULONG ulCount,
|
||||
[out, size_is(ulCount), length_is(*pcFetch)] ITfFunctionProvider **ppCmdobj,
|
||||
[out] ULONG *pcFetch);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG ulCount);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(2433bf8e-0f9b-435c-ba2c-180611978c30),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfContextView : IUnknown
|
||||
{
|
||||
HRESULT GetRangeFromPoint(
|
||||
[in] TfEditCookie ec,
|
||||
[in] const POINT *ppt,
|
||||
[in] DWORD dwFlags,
|
||||
[out] ITfRange **ppRange);
|
||||
|
||||
HRESULT GetTextExt(
|
||||
[in] TfEditCookie ec,
|
||||
[in] ITfRange *pRange,
|
||||
[out] RECT *prc,
|
||||
[out] BOOL *pfClipped);
|
||||
|
||||
HRESULT GetScreenExt(
|
||||
[out] RECT *prc);
|
||||
|
||||
HRESULT GetWnd(
|
||||
[out] HWND *phwnd);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumTfContextViews : IUnknown
|
||||
{
|
||||
HRESULT Clone(
|
||||
[out] IEnumTfContextViews **ppEnum);
|
||||
|
||||
HRESULT Next(
|
||||
[in] ULONG ulCount,
|
||||
[out, size_is(ulCount), length_is(*pcFetched)] ITfContextView **rgViews,
|
||||
[out] ULONG *pcFetched);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG ulCount);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(19188cb0-aca9-11d2-afc5-00105a2799b5),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumTfProperties : IUnknown
|
||||
{
|
||||
HRESULT Clone(
|
||||
[out] IEnumTfProperties **ppEnum);
|
||||
|
||||
HRESULT Next(
|
||||
[in] ULONG ulCount,
|
||||
[out, size_is(ulCount), length_is(*pcFetched)] ITfProperty **ppProp,
|
||||
[out] ULONG *pcFetched);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG ulCount);
|
||||
HRESULT OnMouseEvent(
|
||||
[in] ULONG uEdge,
|
||||
[in] ULONG uQuadrant,
|
||||
[in] DWORD dwBtnStatus,
|
||||
[out] BOOL *pfEaten);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(463a506d-6992-49d2-9b88-93d55e70bb16),
|
||||
pointer_default(unique)
|
||||
object,
|
||||
uuid(09d146cd-a544-4132-925b-7afa8ef322d0),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfRangeBackup : IUnknown
|
||||
interface ITfMouseTracker : IUnknown
|
||||
{
|
||||
HRESULT Restore(
|
||||
[in] TfEditCookie ec,
|
||||
[in] ITfRange *pRange);
|
||||
};
|
||||
HRESULT AdviseMouseSink(
|
||||
[in] ITfRange *range,
|
||||
[in] ITfMouseSink *pSink,
|
||||
[out] DWORD *pdwCookie);
|
||||
|
||||
HRESULT UnadviseMouseSink([in] DWORD dwCookie);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(42d4d099-7c1a-4a89-b836-6c6f22160df0),
|
||||
pointer_default(unique)
|
||||
object,
|
||||
uuid(3bdd78e2-c16e-47fd-b883-ce6facc1a208),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITfEditRecord : IUnknown
|
||||
interface ITfMouseTrackerACP : IUnknown
|
||||
{
|
||||
const DWORD TF_GTP_INCL_TEXT = 0x1;
|
||||
HRESULT AdviseMouseSink(
|
||||
[in] ITfRangeACP *range,
|
||||
[in] ITfMouseSink *pSink,
|
||||
[out] DWORD *pdwCookie);
|
||||
|
||||
HRESULT GetSelectionStatus(
|
||||
[out] BOOL *pfChanged);
|
||||
|
||||
HRESULT GetTextAndPropertyUpdates(
|
||||
[in] DWORD dwFlags,
|
||||
[in, size_is(cProperties)] const GUID **prgProperties,
|
||||
[in] ULONG cProperties,
|
||||
[out] IEnumTfRanges **ppEnum);
|
||||
};
|
||||
HRESULT UnadviseMouseSink([in] DWORD dwCookie);
|
||||
}
|
||||
|
||||
@@ -145,6 +145,21 @@ typedef enum tagMSIDBSTATE
|
||||
MSIDBSTATE_WRITE = 1
|
||||
} MSIDBSTATE;
|
||||
|
||||
typedef enum tagMSITRANSFORM_VALIDATE
|
||||
{
|
||||
MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001,
|
||||
MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002,
|
||||
MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004,
|
||||
MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008,
|
||||
MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010,
|
||||
MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020,
|
||||
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040,
|
||||
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080,
|
||||
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100,
|
||||
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200,
|
||||
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400,
|
||||
MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800
|
||||
} MSITRANSFORM_VALIDATE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
@@ -156,6 +156,9 @@ typedef struct SIP_ADD_NEWPROVIDER_
|
||||
WCHAR *pwszRemoveFuncName;
|
||||
|
||||
WCHAR *pwszIsFunctionNameFmt2;
|
||||
|
||||
/* NTDDI_VERSION >= NTDDI_WIN8 */
|
||||
WCHAR *pwszGetCapFuncName;
|
||||
} SIP_ADD_NEWPROVIDER, *PSIP_ADD_NEWPROVIDER;
|
||||
#include <poppack.h>
|
||||
|
||||
|
||||
+115
-8
@@ -461,10 +461,6 @@ typedef unsigned char UCHAR, *PUCHAR;
|
||||
typedef unsigned short USHORT, *PUSHORT;
|
||||
typedef unsigned long ULONG, *PULONG;
|
||||
|
||||
typedef CONST UCHAR *PCUCHAR;
|
||||
typedef CONST USHORT *PCUSHORT;
|
||||
typedef CONST ULONG *PCULONG;
|
||||
|
||||
typedef double DOUBLE;
|
||||
|
||||
/* Signed Types */
|
||||
@@ -800,6 +796,26 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define RTL_CONST_CAST(type) (type)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE) \
|
||||
extern "C++" { \
|
||||
inline _ENUMTYPE operator|(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) | ((int)b)); } \
|
||||
inline _ENUMTYPE &operator|=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) |= ((int)b)); } \
|
||||
inline _ENUMTYPE operator&(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) & ((int)b)); } \
|
||||
inline _ENUMTYPE &operator&=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) &= ((int)b)); } \
|
||||
inline _ENUMTYPE operator~(_ENUMTYPE a) { return _ENUMTYPE(~((int)a)); } \
|
||||
inline _ENUMTYPE operator^(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) ^ ((int)b)); } \
|
||||
inline _ENUMTYPE &operator^=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) ^= ((int)b)); } \
|
||||
}
|
||||
#else
|
||||
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE)
|
||||
#endif
|
||||
|
||||
#define COMPILETIME_OR_2FLAGS(a,b) ((UINT)(a)|(UINT)(b))
|
||||
#define COMPILETIME_OR_3FLAGS(a,b,c) ((UINT)(a)|(UINT)(b)|(UINT)(c))
|
||||
#define COMPILETIME_OR_4FLAGS(a,b,c,d) ((UINT)(a)|(UINT)(b)|(UINT)(c)|(UINT)(d))
|
||||
#define COMPILETIME_OR_5FLAGS(a,b,c,d,e) ((UINT)(a)|(UINT)(b)|(UINT)(c)|(UINT)(d)|(UINT)(e))
|
||||
|
||||
/* Type Limits */
|
||||
#define MINCHAR 0x80
|
||||
#define MAXCHAR 0x7f
|
||||
@@ -812,10 +828,15 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define MAXULONG 0xffffffff
|
||||
#define MAXLONGLONG (0x7fffffffffffffffLL)
|
||||
|
||||
/* Multiplication and Shift Operations. Note: we don't use inline
|
||||
asm functions, the compiler can optimize this better. */
|
||||
#define Int32x32To64(a,b) (((__int64)(long)(a))*((__int64)(long)(b)))
|
||||
#define UInt32x32To64(a,b) ((unsigned __int64)(unsigned int)(a)*(unsigned __int64)(unsigned int)(b))
|
||||
/* 32 to 64 bit multiplication. GCC is really bad at optimizing the native math */
|
||||
#if defined(_M_IX86) && defined(__GNUC__) && \
|
||||
!defined(MIDL_PASS)&& !defined(RC_INVOKED) && !defined(_M_CEE_PURE)
|
||||
#define Int32x32To64(a,b) __emul(a,b)
|
||||
#define UInt32x32To64(a,b) __emulu(a,b)
|
||||
#else
|
||||
#define Int32x32To64(a,b) (((__int64)(long)(a))*((__int64)(long)(b)))
|
||||
#define UInt32x32To64(a,b) ((unsigned __int64)(unsigned int)(a)*(unsigned __int64)(unsigned int)(b))
|
||||
#endif
|
||||
|
||||
#if defined(MIDL_PASS)|| defined(RC_INVOKED) || defined(_M_CEE_PURE)
|
||||
/* Use native math */
|
||||
@@ -1401,9 +1422,23 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT)
|
||||
#define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)
|
||||
|
||||
typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
|
||||
typedef NTSTATUS *PNTSTATUS;
|
||||
|
||||
#ifndef __SECSTATUS_DEFINED__
|
||||
typedef long SECURITY_STATUS;
|
||||
#define __SECSTATUS_DEFINED__
|
||||
#endif
|
||||
|
||||
/* Physical Addresses are always treated as 64-bit wide */
|
||||
typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
|
||||
|
||||
#define TIME LARGE_INTEGER
|
||||
#define _TIME _LARGE_INTEGER
|
||||
#define PTIME PLARGE_INTEGER
|
||||
#define LowTime LowPart
|
||||
#define HighTime HighPart
|
||||
|
||||
/* Used to store a non-float 8 byte aligned structure */
|
||||
typedef struct _QUAD
|
||||
{
|
||||
@@ -1414,6 +1449,17 @@ typedef struct _QUAD
|
||||
} DUMMYUNIONNAME;
|
||||
} QUAD, *PQUAD, UQUAD, *PUQUAD;
|
||||
|
||||
#if (_WIN32_WINNT >= 0x0600) || (defined(__cplusplus) && defined(WINDOWS_ENABLE_CPLUSPLUS))
|
||||
typedef CONST UCHAR *PCUCHAR;
|
||||
typedef CONST USHORT *PCUSHORT;
|
||||
typedef CONST ULONG *PCULONG;
|
||||
typedef CONST UQUAD *PCUQUAD;
|
||||
typedef CONST SCHAR *PCSCHAR;
|
||||
#endif /* (/_WIN32_WINNT >= 0x0600) */
|
||||
#if (_WIN32_WINNT >= 0x0600)
|
||||
typedef CONST NTSTATUS *PCNTSTATUS;
|
||||
#endif /* (/_WIN32_WINNT >= 0x0600) */
|
||||
|
||||
/* String Types */
|
||||
typedef struct _STRING {
|
||||
USHORT Length;
|
||||
@@ -1528,6 +1574,8 @@ typedef struct _OBJECT_ATTRIBUTES64 {
|
||||
} OBJECT_ATTRIBUTES64, *POBJECT_ATTRIBUTES64;
|
||||
typedef CONST OBJECT_ATTRIBUTES64 *PCOBJECT_ATTRIBUTES64;
|
||||
|
||||
#define OBJ_HANDLE_TAGBITS 0x00000003L
|
||||
|
||||
/* Values for the Attributes member */
|
||||
#define OBJ_INHERIT 0x00000002L
|
||||
#define OBJ_PERMANENT 0x00000010L
|
||||
@@ -1561,6 +1609,37 @@ typedef CONST OBJECT_ATTRIBUTES64 *PCOBJECT_ATTRIBUTES64;
|
||||
#define RTL_INIT_OBJECT_ATTRIBUTES(n, a) \
|
||||
RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4214) /* Bit fields of other types than int */
|
||||
#endif /* _MSC_VER */
|
||||
typedef struct _RTL_BALANCED_NODE
|
||||
{
|
||||
_ANONYMOUS_UNION union
|
||||
{
|
||||
struct _RTL_BALANCED_NODE *Children[2];
|
||||
_ANONYMOUS_STRUCT struct
|
||||
{
|
||||
struct _RTL_BALANCED_NODE *Left;
|
||||
struct _RTL_BALANCED_NODE *Right;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
_ANONYMOUS_UNION union
|
||||
{
|
||||
UCHAR Red : 1;
|
||||
UCHAR Balance : 2;
|
||||
ULONG_PTR ParentValue;
|
||||
} DUMMYUNIONNAME2;
|
||||
} RTL_BALANCED_NODE, *PRTL_BALANCED_NODE;
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#define RTL_BALANCED_NODE_RESERVED_PARENT_MASK 3
|
||||
#define RTL_BALANCED_NODE_GET_PARENT_POINTER(Node) \
|
||||
((PRTL_BALANCED_NODE)((Node)->ParentValue & \
|
||||
~RTL_BALANCED_NODE_RESERVED_PARENT_MASK))
|
||||
|
||||
/* Product Types */
|
||||
typedef enum _NT_PRODUCT_TYPE {
|
||||
NtProductWinNt = 1,
|
||||
@@ -1583,6 +1662,34 @@ typedef enum _WAIT_TYPE {
|
||||
WaitAny
|
||||
} WAIT_TYPE;
|
||||
|
||||
#ifndef MIDL_PASS
|
||||
FORCEINLINE
|
||||
VOID
|
||||
ListEntry32To64(
|
||||
_In_ PLIST_ENTRY32 ListEntry32,
|
||||
_Out_ PLIST_ENTRY64 ListEntry64)
|
||||
{
|
||||
ListEntry64->Flink = ListEntry32->Flink;
|
||||
ListEntry64->Blink = ListEntry32->Blink;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
ListEntry64To32(
|
||||
_In_ PLIST_ENTRY64 ListEntry64,
|
||||
_Out_ PLIST_ENTRY32 ListEntry32)
|
||||
{
|
||||
/* ASSERT without ASSERT or intrinsics ... */
|
||||
if (((ListEntry64->Flink >> 32) != 0) ||
|
||||
((ListEntry64->Blink >> 32) != 0))
|
||||
{
|
||||
(VOID)*(volatile LONG*)(LONG_PTR)-1;
|
||||
}
|
||||
ListEntry32->Flink = ListEntry64->Flink & 0xFFFFFFFF;
|
||||
ListEntry32->Blink = ListEntry64->Blink & 0xFFFFFFFF;
|
||||
}
|
||||
#endif /* !MIDL_PASS */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
@@ -666,8 +666,17 @@ typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
|
||||
} TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
|
||||
|
||||
#define RtlGenRandom SystemFunction036
|
||||
#define RtlEncryptMemory SystemFunction040
|
||||
#define RtlDecryptMemory SystemFunction041
|
||||
|
||||
BOOLEAN WINAPI RtlGenRandom(PVOID,ULONG);
|
||||
NTSTATUS WINAPI RtlEncryptMemory(PVOID Memory, ULONG MemorySize, ULONG OptionFlags);
|
||||
NTSTATUS WINAPI RtlDecryptMemory(PVOID Memory, ULONG MemorySize, ULONG OptionFlags);
|
||||
|
||||
#define RTL_ENCRYPT_MEMORY_SIZE 8
|
||||
#define RTL_ENCRYPT_OPTION_SAME_PROCESS 0x00
|
||||
#define RTL_ENCRYPT_OPTION_CROSS_PROCESS 0x01
|
||||
#define RTL_ENCRYPT_OPTION_SAME_LOGON 0x02
|
||||
|
||||
NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
|
||||
NTSTATUS NTAPI LsaAddPrivilegesToAccount(LSA_HANDLE, PPRIVILEGE_SET);
|
||||
@@ -690,6 +699,7 @@ NTSTATUS NTAPI LsaEnumerateAccounts(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,PVOID*,
|
||||
ULONG,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
PVOID*,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumerateLogonSessions(PULONG,PLUID*);
|
||||
NTSTATUS NTAPI LsaEnumeratePrivileges(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
||||
PVOID*,ULONG,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumeratePrivilegesOfAccount(LSA_HANDLE,PPRIVILEGE_SET*);
|
||||
@@ -699,6 +709,7 @@ NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
||||
PVOID*,ULONG,PULONG);
|
||||
NTSTATUS NTAPI LsaFreeMemory(PVOID);
|
||||
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
|
||||
NTSTATUS NTAPI LsaGetLogonSessionData(PLUID,PSECURITY_LOGON_SESSION_DATA*);
|
||||
NTSTATUS NTAPI LsaGetQuotasForAccount(LSA_HANDLE,PQUOTA_LIMITS);
|
||||
NTSTATUS NTAPI LsaGetRemoteUserName(PLSA_UNICODE_STRING, PLSA_UNICODE_STRING*,
|
||||
PLSA_UNICODE_STRING*);
|
||||
|
||||
+47
-2
@@ -18,6 +18,11 @@
|
||||
|
||||
import "oaidl.idl";
|
||||
|
||||
#ifndef __WIDL__
|
||||
#define threading(model)
|
||||
#endif
|
||||
|
||||
cpp_quote("#define NAVDIR_MIN 0")
|
||||
cpp_quote("#define NAVDIR_UP 1")
|
||||
cpp_quote("#define NAVDIR_DOWN 2")
|
||||
cpp_quote("#define NAVDIR_LEFT 3")
|
||||
@@ -26,6 +31,7 @@ cpp_quote("#define NAVDIR_NEXT 5")
|
||||
cpp_quote("#define NAVDIR_PREVIOUS 6")
|
||||
cpp_quote("#define NAVDIR_FIRSTCHILD 7")
|
||||
cpp_quote("#define NAVDIR_LASTCHILD 8")
|
||||
cpp_quote("#define NAVDIR_MAX 9")
|
||||
|
||||
cpp_quote("#define ROLE_SYSTEM_TITLEBAR 1")
|
||||
cpp_quote("#define ROLE_SYSTEM_MENUBAR 2")
|
||||
@@ -100,6 +106,45 @@ cpp_quote("#define SELFLAG_ADDSELECTION 0x08")
|
||||
cpp_quote("#define SELFLAG_REMOVESELECTION 0x10")
|
||||
cpp_quote("#define SELFLAG_VALID 0x1f")
|
||||
|
||||
cpp_quote("#ifndef STATE_SYSTEM_UNAVAILABLE")
|
||||
cpp_quote("#define STATE_SYSTEM_NORMAL 0x00000000")
|
||||
cpp_quote("#define STATE_SYSTEM_UNAVAILABLE 0x00000001")
|
||||
cpp_quote("#define STATE_SYSTEM_SELECTED 0x00000002")
|
||||
cpp_quote("#define STATE_SYSTEM_FOCUSED 0x00000004")
|
||||
cpp_quote("#define STATE_SYSTEM_PRESSED 0x00000008")
|
||||
cpp_quote("#define STATE_SYSTEM_CHECKED 0x00000010")
|
||||
cpp_quote("#define STATE_SYSTEM_MIXED 0x00000020")
|
||||
cpp_quote("#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED")
|
||||
cpp_quote("#define STATE_SYSTEM_READONLY 0x00000040")
|
||||
cpp_quote("#define STATE_SYSTEM_HOTTRACKED 0x00000080")
|
||||
cpp_quote("#define STATE_SYSTEM_DEFAULT 0x00000100")
|
||||
cpp_quote("#define STATE_SYSTEM_EXPANDED 0x00000200")
|
||||
cpp_quote("#define STATE_SYSTEM_COLLAPSED 0x00000400")
|
||||
cpp_quote("#define STATE_SYSTEM_BUSY 0x00000800")
|
||||
cpp_quote("#define STATE_SYSTEM_FLOATING 0x00001000")
|
||||
cpp_quote("#define STATE_SYSTEM_MARQUEED 0x00002000")
|
||||
cpp_quote("#define STATE_SYSTEM_ANIMATED 0x00004000")
|
||||
cpp_quote("#define STATE_SYSTEM_INVISIBLE 0x00008000")
|
||||
cpp_quote("#define STATE_SYSTEM_OFFSCREEN 0x00010000")
|
||||
cpp_quote("#define STATE_SYSTEM_SIZEABLE 0x00020000")
|
||||
cpp_quote("#define STATE_SYSTEM_MOVEABLE 0x00040000")
|
||||
cpp_quote("#define STATE_SYSTEM_SELFVOICING 0x00080000")
|
||||
cpp_quote("#define STATE_SYSTEM_FOCUSABLE 0x00100000")
|
||||
cpp_quote("#define STATE_SYSTEM_SELECTABLE 0x00200000")
|
||||
cpp_quote("#define STATE_SYSTEM_LINKED 0x00400000")
|
||||
cpp_quote("#define STATE_SYSTEM_TRAVERSED 0x00800000")
|
||||
cpp_quote("#define STATE_SYSTEM_MULTISELECTABLE 0x01000000")
|
||||
cpp_quote("#define STATE_SYSTEM_EXTSELECTABLE 0x02000000")
|
||||
cpp_quote("#define STATE_SYSTEM_ALERT_LOW 0x04000000")
|
||||
cpp_quote("#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000")
|
||||
cpp_quote("#define STATE_SYSTEM_ALERT_HIGH 0x10000000")
|
||||
cpp_quote("#define STATE_SYSTEM_PROTECTED 0x20000000")
|
||||
cpp_quote("#define STATE_SYSTEM_VALID 0x7FFFFFFF")
|
||||
cpp_quote("#endif")
|
||||
cpp_quote("#ifndef STATE_SYSTEM_HASPOPUP")
|
||||
cpp_quote("#define STATE_SYSTEM_HASPOPUP 0x40000000")
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef GUID MSAAPROPID;
|
||||
|
||||
typedef enum AnnoScope
|
||||
@@ -262,7 +307,8 @@ library Accessibility
|
||||
interface IAccPropServices;
|
||||
|
||||
[
|
||||
uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7)
|
||||
uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7),
|
||||
threading(apartment)
|
||||
]
|
||||
coclass CAccPropServices
|
||||
{
|
||||
@@ -270,7 +316,6 @@ library Accessibility
|
||||
}
|
||||
};
|
||||
|
||||
cpp_quote("DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);")
|
||||
cpp_quote("DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);")
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright 2011 Hans Leidekker 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 _PATCHAPI_H_
|
||||
#define _PATCHAPI_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define APPLY_OPTION_FAIL_IF_EXACT 0x00000001
|
||||
#define APPLY_OPTION_FAIL_IF_CLOSE 0x00000002
|
||||
#define APPLY_OPTION_TEST_ONLY 0x00000004
|
||||
#define APPLY_OPTION_VALID_FLAGS 0x00000007
|
||||
|
||||
typedef struct _PATCH_IGNORE_RANGE
|
||||
{
|
||||
ULONG OffsetInOldFile;
|
||||
ULONG LengthInBytes;
|
||||
} PATCH_IGNORE_RANGE, *PPATCH_IGNORE_RANGE;
|
||||
|
||||
typedef struct _PATCH_RETAIN_RANGE
|
||||
{
|
||||
ULONG OffsetInOldFile;
|
||||
ULONG LengthInBytes;
|
||||
ULONG OffsetInNewFile;
|
||||
} PATCH_RETAIN_RANGE, *PPATCH_RETAIN_RANGE;
|
||||
|
||||
BOOL WINAPI ApplyPatchToFileA(LPCSTR,LPCSTR,LPCSTR,ULONG);
|
||||
BOOL WINAPI ApplyPatchToFileW(LPCWSTR,LPCWSTR,LPCWSTR,ULONG);
|
||||
#define ApplyPatchToFile WINELIB_NAME_AW(ApplyPatchToFile)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _PATCHAPI_H_ */
|
||||
@@ -802,7 +802,10 @@ cpp_quote("#define PKEYSTR_MAX (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)")
|
||||
cpp_quote("HRESULT WINAPI PSStringFromPropertyKey(REFPROPERTYKEY,LPWSTR,UINT);")
|
||||
cpp_quote("HRESULT WINAPI PSPropertyKeyFromString(LPCWSTR,PROPERTYKEY*);")
|
||||
cpp_quote("HRESULT WINAPI PSGetPropertyDescription(REFPROPERTYKEY,REFIID,void **);")
|
||||
cpp_quote("HRESULT WINAPI PSGetPropertyDescriptionListFromString(LPCWSTR,REFIID,void **);")
|
||||
cpp_quote("HRESULT WINAPI PSRefreshPropertySchema(void);")
|
||||
cpp_quote("HRESULT WINAPI PSRegisterPropertySchema(LPCWSTR);")
|
||||
cpp_quote("HRESULT WINAPI PSUnregisterPropertySchema(LPCWSTR);")
|
||||
|
||||
/* TODO: Add remainder of the C api here */
|
||||
|
||||
|
||||
+32
-10
@@ -611,16 +611,20 @@ extern "C" {
|
||||
#define SPQ_SCAN_INFORM_USER 0x00000010
|
||||
#define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
|
||||
#define SPRDI_FIND_DUPS 0x00000001
|
||||
#define SPSVCINST_TAGTOFRONT 0x00000001
|
||||
#define SPSVCINST_ASSOCSERVICE 0x00000002
|
||||
#define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
|
||||
#define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
|
||||
#define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
|
||||
#define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
|
||||
#define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
|
||||
#define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
|
||||
#define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
|
||||
#define SPSVCINST_STOPSERVICE 0x00000200
|
||||
|
||||
#define SPSVCINST_TAGTOFRONT 0x00000001
|
||||
#define SPSVCINST_ASSOCSERVICE 0x00000002
|
||||
#define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
|
||||
#define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
|
||||
#define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
|
||||
#define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
|
||||
#define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
|
||||
#define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
|
||||
#define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
|
||||
#define SPSVCINST_STOPSERVICE 0x00000200
|
||||
#define SPSVCINST_CLOBBER_SECURITY 0x00000400
|
||||
#define SPSVCINST_STARTSERVICE 0x00000800
|
||||
|
||||
#define SPWPT_SELECTDEVICE 0x00000001
|
||||
#define SPWP_USE_DEVINFO_DATA 0x00000001
|
||||
#define SRCINFO_PATH 1
|
||||
@@ -2350,6 +2354,22 @@ SetupSetSourceListW(
|
||||
WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(_In_ PVOID);
|
||||
WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(_In_ HSPFILELOG);
|
||||
|
||||
WINSETUPAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
SetupUninstallOEMInfA(
|
||||
_In_ PCSTR InfFileName,
|
||||
_In_ DWORD Flags,
|
||||
_In_ PVOID Reserved);
|
||||
|
||||
WINSETUPAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
SetupUninstallOEMInfW(
|
||||
_In_ PCWSTR InfFileName,
|
||||
_In_ DWORD Flags,
|
||||
_In_ PVOID Reserved);
|
||||
|
||||
WINSETUPAPI DWORD WINAPI StampFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR);
|
||||
|
||||
|
||||
@@ -2520,6 +2540,7 @@ WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
|
||||
#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
|
||||
#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
|
||||
#define SetupSetSourceList SetupSetSourceListW
|
||||
#define SetupUninstallOEMInf SetupUninstallOEMInfW
|
||||
#else
|
||||
#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
|
||||
#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
|
||||
@@ -2642,6 +2663,7 @@ WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
|
||||
#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
|
||||
#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
|
||||
#define SetupSetSourceList SetupSetSourceListA
|
||||
#define SetupUninstallOEMInf SetupUninstallOEMInfA
|
||||
#endif /* UNICODE */
|
||||
|
||||
#endif /* RC_INVOKED */
|
||||
|
||||
@@ -466,6 +466,8 @@ typedef struct
|
||||
#define FCIDM_SHVIEW_INSERT 0x701A
|
||||
#define FCIDM_SHVIEW_UNDO 0x701B
|
||||
#define FCIDM_SHVIEW_INSERTLINK 0x701C
|
||||
#define FCIDM_SHVIEW_COPYTO 0x701E
|
||||
#define FCIDM_SHVIEW_MOVETO 0x701F
|
||||
#define FCIDM_SHVIEW_SELECTALL 0x7021
|
||||
#define FCIDM_SHVIEW_INVERTSELECTION 0x7022
|
||||
|
||||
@@ -750,7 +752,7 @@ DECLARE_INTERFACE_(IShellFolderView, IUnknown)
|
||||
STDMETHOD(RefreshObject) (THIS_ _In_ PITEMID_CHILD pidl, _Out_ UINT *puItem) PURE;
|
||||
STDMETHOD(SetRedraw) (THIS_ BOOL bRedraw) PURE;
|
||||
STDMETHOD(GetSelectedCount) (THIS_ _Out_ UINT *puSelected) PURE;
|
||||
STDMETHOD(GetSelectedObjects) (THIS_ _Outptr_result_buffer_(*puItems) PCITEMID_CHILD **pppidl, _Out_ UINT *puItems) PURE;
|
||||
STDMETHOD(GetSelectedObjects) (THIS_ _Outptr_result_buffer_(*puItems) PCUITEMID_CHILD **pppidl, _Out_ UINT *puItems) PURE;
|
||||
STDMETHOD(IsDropOnSource) (THIS_ _In_opt_ IDropTarget *pDropTarget) PURE;
|
||||
STDMETHOD(GetDragPoint) (THIS_ _Out_ POINT *ppt) PURE;
|
||||
STDMETHOD(GetDropPoint) (THIS_ _Out_ POINT *ppt) PURE;
|
||||
|
||||
@@ -1862,6 +1862,40 @@ HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,struct IStream**);
|
||||
|
||||
#endif /* NO_SHLWAPI_STREAM */
|
||||
|
||||
#ifndef NO_SHLWAPI_SHARED
|
||||
|
||||
// These functions are only included in this file starting with the Windows 7 platform SDK
|
||||
|
||||
HANDLE
|
||||
WINAPI
|
||||
SHAllocShared(
|
||||
_In_opt_ const void *pvData,
|
||||
_In_ DWORD dwSize,
|
||||
_In_ DWORD dwDestinationProcessId
|
||||
);
|
||||
|
||||
PVOID
|
||||
WINAPI
|
||||
SHLockShared(
|
||||
_In_ HANDLE hData,
|
||||
_In_ DWORD dwProcessId
|
||||
);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SHUnlockShared(
|
||||
_In_ void *pvData
|
||||
);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SHFreeShared(
|
||||
_In_ HANDLE hData,
|
||||
_In_ DWORD dwProcessId
|
||||
);
|
||||
|
||||
#endif /* NO_SHLWAPI_SHARED */
|
||||
|
||||
/* SHAutoComplete flags */
|
||||
#define SHACF_DEFAULT 0x00000000
|
||||
#define SHACF_FILESYSTEM 0x00000001
|
||||
|
||||
@@ -4040,3 +4040,154 @@ library ShellObjects
|
||||
interface IShellItem2;
|
||||
}
|
||||
}
|
||||
|
||||
enum _OPPROGDLGF
|
||||
{
|
||||
OPPROGDLG_DEFAULT = 0,
|
||||
OPPROGDLG_ENABLEPAUSE = 0x80,
|
||||
OPPROGDLG_ALLOWUNDO = 0x100,
|
||||
OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x200,
|
||||
OPPROGDLG_DONTDISPLAYDESTPATH = 0x400,
|
||||
OPPROGDLG_NOMULTIDAYESTIMATES = 0x800,
|
||||
OPPROGDLG_DONTDISPLAYLOCATIONS = 0x1000
|
||||
};
|
||||
typedef DWORD OPPROGDLGF;
|
||||
|
||||
enum _PDMODE
|
||||
{
|
||||
PDM_DEFAULT = 0,
|
||||
PDM_RUN = 0x1,
|
||||
PDM_PREFLIGHT = 0x2,
|
||||
PDM_UNDOING = 0x4,
|
||||
PDM_ERRORSBLOCKING = 0x8,
|
||||
PDM_INDETERMINATE = 0x10
|
||||
};
|
||||
typedef DWORD PDMODE;
|
||||
|
||||
typedef enum PDOPSTATUS
|
||||
{
|
||||
PDOPS_RUNNING = 1,
|
||||
PDOPS_PAUSED = 2,
|
||||
PDOPS_CANCELLED = 3,
|
||||
PDOPS_STOPPED = 4,
|
||||
PDOPS_ERRORS = 5
|
||||
} PDOPSTATUS;
|
||||
|
||||
typedef enum _SPACTION
|
||||
{
|
||||
SPACTION_NONE = 0,
|
||||
SPACTION_MOVING = 1,
|
||||
SPACTION_COPYING = 2,
|
||||
SPACTION_RECYCLING = 3,
|
||||
SPACTION_APPLYINGATTRIBS = 4,
|
||||
SPACTION_DOWNLOADING = 5,
|
||||
SPACTION_SEARCHING_INTERNET = 6,
|
||||
SPACTION_CALCULATING = 7,
|
||||
SPACTION_UPLOADING = 8,
|
||||
SPACTION_SEARCHING_FILES = 9,
|
||||
SPACTION_DELETING = 10,
|
||||
SPACTION_RENAMING = 11,
|
||||
SPACTION_FORMATTING = 12,
|
||||
SPACTION_COPY_MOVING = 13
|
||||
} SPACTION;
|
||||
|
||||
[
|
||||
uuid(0C9FB851-E5C9-43EB-A370-F0677B13874C),
|
||||
object,
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IOperationsProgressDialog : IUnknown
|
||||
{
|
||||
HRESULT StartProgressDialog(
|
||||
[in] HWND hwndOwner,
|
||||
[in] OPPROGDLGF flags);
|
||||
HRESULT StopProgressDialog();
|
||||
HRESULT SetOperation(
|
||||
[in] SPACTION action);
|
||||
HRESULT SetMode(
|
||||
[in] PDMODE mode);
|
||||
HRESULT UpdateProgress(
|
||||
[in] ULONGLONG ullPointsCurrent,
|
||||
[in] ULONGLONG ullPointsTotal,
|
||||
[in] ULONGLONG ullSizeCurrent,
|
||||
[in] ULONGLONG ullSizeTotal,
|
||||
[in] ULONGLONG ullItemsCurrent,
|
||||
[in] ULONGLONG ullItemsTotal);
|
||||
HRESULT UpdateLocations(
|
||||
[in, optional] IShellItem *psiSource,
|
||||
[in, optional] IShellItem *psiTarget,
|
||||
[in, optional] IShellItem *psiItem);
|
||||
HRESULT ResetTimer();
|
||||
HRESULT PauseTimer();
|
||||
HRESULT ResumeTimer();
|
||||
HRESULT GetMilliseconds(
|
||||
[out] ULONGLONG *pullElapsed,
|
||||
[out] ULONGLONG *pullRemaining);
|
||||
HRESULT GetOperationStatus(
|
||||
[out] PDOPSTATUS *popstatus);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8),
|
||||
object,
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IFileOperation : IUnknown
|
||||
{
|
||||
HRESULT Advise(
|
||||
[in] IFileOperationProgressSink *pfops,
|
||||
[out] DWORD *pdwCookie);
|
||||
HRESULT Unadvise(
|
||||
[in] DWORD dwCookie);
|
||||
HRESULT SetOperationFlags(
|
||||
[in] DWORD dwOperationFlags);
|
||||
HRESULT SetProgressMessage(
|
||||
[in] LPCWSTR pszMessage);
|
||||
HRESULT SetProgressDialog(
|
||||
[in] IOperationsProgressDialog *popd);
|
||||
HRESULT SetProperties(
|
||||
[in] IPropertyChangeArray *pproparray);
|
||||
HRESULT SetOwnerWindow(
|
||||
[in] HWND hwndOwner);
|
||||
HRESULT ApplyPropertiesToItem(
|
||||
[in] IShellItem *psiItem);
|
||||
HRESULT ApplyPropertiesToItems(
|
||||
[in] IUnknown *punkItems);
|
||||
HRESULT RenameItem(
|
||||
[in] IShellItem *psiItem,
|
||||
[in] LPCWSTR pszNewName,
|
||||
[in] IFileOperationProgressSink *pfopsItem);
|
||||
HRESULT RenameItems(
|
||||
[in] IUnknown *pUnkItems,
|
||||
[in] LPCWSTR pszNewName);
|
||||
HRESULT MoveItem(
|
||||
[in] IShellItem *psiItem,
|
||||
[in] IShellItem *psiDestinationFolder,
|
||||
[in] LPCWSTR pszNewName,
|
||||
[in] IFileOperationProgressSink *pfopsItem);
|
||||
HRESULT MoveItems(
|
||||
[in] IUnknown *punkItems,
|
||||
[in] IShellItem *psiDestinationFolder);
|
||||
HRESULT CopyItem(
|
||||
[in] IShellItem *psiItem,
|
||||
[in] IShellItem *psiDestinationFolder,
|
||||
[in] LPCWSTR pszCopyName,
|
||||
[in] IFileOperationProgressSink *pfopsItem);
|
||||
HRESULT CopyItems(
|
||||
[in] IUnknown *punkItems,
|
||||
[in] IShellItem *psiDestinationFolder);
|
||||
HRESULT DeleteItem(
|
||||
[in] IShellItem *psiItem,
|
||||
[in] IFileOperationProgressSink *pfopsItem);
|
||||
HRESULT DeleteItems(
|
||||
[in] IUnknown *punkItems);
|
||||
HRESULT NewItem(
|
||||
[in] IShellItem *psiDestinationFolder,
|
||||
[in] DWORD dwFileAttributes,
|
||||
[in] LPCWSTR pszName,
|
||||
[in] LPCWSTR pszTemplateName,
|
||||
[in] IFileOperationProgressSink *pfopsItem);
|
||||
HRESULT PerformOperations();
|
||||
HRESULT GetAnyOperationsAborted(
|
||||
[out] BOOL *pfAnyOperationsAborted);
|
||||
};
|
||||
|
||||
@@ -90,6 +90,9 @@
|
||||
#define AO_OPTION_UNBIND 37
|
||||
#define AO_OPTION_PROTECT 38
|
||||
|
||||
/* TCP connection options */
|
||||
#define TCP_SOCKET_NODELAY 1
|
||||
|
||||
typedef struct IFEntry
|
||||
{
|
||||
ULONG if_index;
|
||||
|
||||
@@ -262,6 +262,9 @@ typedef struct _TDI_PROVIDER_INFO {
|
||||
#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
|
||||
#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000
|
||||
#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000
|
||||
#define TDI_SERVICE_ADDRESS_SECURITY 0x00100000
|
||||
#define TDI_SERVICE_PREPOST_RECVS 0x00200000
|
||||
#define TDI_SERVICE_NO_PUSH 0x00400000
|
||||
|
||||
typedef struct _TDI_PROVIDER_RESOURCE_STATS {
|
||||
ULONG ResourceId;
|
||||
|
||||
@@ -43,6 +43,48 @@ typedef struct _PROFILEINFOW
|
||||
HANDLE hProfile;
|
||||
} PROFILEINFOW, *LPPROFILEINFOW;
|
||||
|
||||
#if (WINVER >= 0x0502)
|
||||
typedef enum _GPO_LINK {
|
||||
GPLinkUnknown = 0,
|
||||
GPLinkMachine,
|
||||
GPLinkSite,
|
||||
GPLinkDomain,
|
||||
GPLinkOrganizationalUnit
|
||||
} GPO_LINK, *PGPO_LINK;
|
||||
|
||||
typedef struct _GROUP_POLICY_OBJECTA {
|
||||
DWORD dwOptions;
|
||||
DWORD dwVersion;
|
||||
LPSTR lpDSPath;
|
||||
LPSTR lpFileSysPath;
|
||||
LPSTR lpDisplayName;
|
||||
CHAR szGPOName[50];
|
||||
GPO_LINK GPOLink;
|
||||
LPARAM lParam;
|
||||
struct _GROUP_POLICY_OBJECTA *pNext;
|
||||
struct _GROUP_POLICY_OBJECTA *pPrev;
|
||||
LPSTR lpExtensions;
|
||||
LPARAM lParam2;
|
||||
LPSTR lpLink;
|
||||
} GROUP_POLICY_OBJECTA, *PGROUP_POLICY_OBJECTA;
|
||||
|
||||
typedef struct _GROUP_POLICY_OBJECTW {
|
||||
DWORD dwOptions;
|
||||
DWORD dwVersion;
|
||||
LPWSTR lpDSPath;
|
||||
LPWSTR lpFileSysPath;
|
||||
LPWSTR lpDisplayName;
|
||||
WCHAR szGPOName[50];
|
||||
GPO_LINK GPOLink;
|
||||
LPARAM lParam;
|
||||
struct _GROUP_POLICY_OBJECTW *pNext;
|
||||
struct _GROUP_POLICY_OBJECTW *pPrev;
|
||||
LPWSTR lpExtensions;
|
||||
LPARAM lParam2;
|
||||
LPWSTR lpLink;
|
||||
} GROUP_POLICY_OBJECTW, *PGROUP_POLICY_OBJECTW;
|
||||
#endif
|
||||
|
||||
/* begin private */
|
||||
BOOL WINAPI InitializeProfiles (VOID);
|
||||
BOOL WINAPI CreateUserProfileA (PSID, LPCSTR);
|
||||
@@ -85,6 +127,27 @@ BOOL WINAPI ExpandEnvironmentStringsForUserA (HANDLE, LPCSTR, LPSTR, DWORD);
|
||||
BOOL WINAPI ExpandEnvironmentStringsForUserW (HANDLE, LPCWSTR, LPWSTR, DWORD);
|
||||
#endif
|
||||
|
||||
#if (WINVER >= 0x0502)
|
||||
DWORD
|
||||
WINAPI
|
||||
GetAppliedGPOListA(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ LPCSTR pMachineName,
|
||||
_In_ PSID pSidUser,
|
||||
_In_ GUID *pGuidExtension,
|
||||
_Out_ PGROUP_POLICY_OBJECTA *ppGPOList
|
||||
);
|
||||
DWORD
|
||||
WINAPI
|
||||
GetAppliedGPOListW(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ LPCWSTR pMachineName,
|
||||
_In_ PSID pSidUser,
|
||||
_In_ GUID *pGuidExtension,
|
||||
_Out_ PGROUP_POLICY_OBJECTW *ppGPOList
|
||||
);
|
||||
#endif
|
||||
|
||||
HANDLE WINAPI EnterCriticalPolicySection (BOOL);
|
||||
BOOL WINAPI LeaveCriticalPolicySection (HANDLE);
|
||||
BOOL WINAPI RefreshPolicy (BOOL);
|
||||
@@ -115,6 +178,11 @@ typedef LPPROFILEINFOW LPPROFILEINFO;
|
||||
#if (WINVER >= 0x0500)
|
||||
#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserW
|
||||
#endif
|
||||
#if (WINVER >= 0x0502)
|
||||
typedef GROUP_POLICY_OBJECTW GROUP_POLICY_OBJECT;
|
||||
typedef PGROUP_POLICY_OBJECTW PGROUP_POLICY_OBJECT;
|
||||
#define GetAppliedGPOList GetAppliedGPOListW
|
||||
#endif
|
||||
#else
|
||||
typedef PROFILEINFOA PROFILEINFO;
|
||||
typedef LPPROFILEINFOA LPPROFILEINFO;
|
||||
@@ -136,6 +204,11 @@ typedef LPPROFILEINFOA LPPROFILEINFO;
|
||||
#if (WINVER >= 0x0500)
|
||||
#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserA
|
||||
#endif
|
||||
#if (WINVER >= 0x0502)
|
||||
typedef GROUP_POLICY_OBJECTA GROUP_POLICY_OBJECT;
|
||||
typedef PGROUP_POLICY_OBJECTA PGROUP_POLICY_OBJECT;
|
||||
#define GetAppliedGPOList GetAppliedGPOListA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1277,6 +1277,12 @@ typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
|
||||
#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
|
||||
#endif
|
||||
|
||||
typedef DWORD
|
||||
(WINAPI *PFE_IMPORT_FUNC)(
|
||||
_Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
|
||||
_In_opt_ PVOID pvCallbackContext,
|
||||
_Inout_ PULONG ulLength);
|
||||
|
||||
/* Functions */
|
||||
#ifndef UNDER_CE
|
||||
int APIENTRY WinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPSTR, _In_ int);
|
||||
@@ -2718,6 +2724,8 @@ BOOL WINAPI MoveFileA(_In_ LPCSTR, _In_ LPCSTR);
|
||||
BOOL WINAPI MoveFileW(_In_ LPCWSTR, _In_ LPCWSTR);
|
||||
BOOL WINAPI MoveFileExA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD);
|
||||
BOOL WINAPI MoveFileExW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD);
|
||||
BOOL WINAPI MoveFileWithProgressA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
|
||||
BOOL WINAPI MoveFileWithProgressW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
|
||||
int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
|
||||
BOOL WINAPI NotifyChangeEventLog(_In_ HANDLE, _In_ HANDLE);
|
||||
BOOL WINAPI ObjectCloseAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL);
|
||||
@@ -3142,6 +3150,7 @@ BOOL WINAPI WinLoadTrustProvider(GUID*);
|
||||
BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
|
||||
BOOLEAN WINAPI Wow64EnableWow64FsRedirection(_In_ BOOLEAN);
|
||||
BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
|
||||
DWORD WINAPI WriteEncryptedFileRaw(_In_ PFE_IMPORT_FUNC, _In_opt_ PVOID, _In_ PVOID);
|
||||
BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
|
||||
BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
|
||||
BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
|
||||
@@ -3371,6 +3380,7 @@ typedef PCACTCTXW PCACTCTX;
|
||||
#define lstrlen lstrlenW
|
||||
#define MoveFile MoveFileW
|
||||
#define MoveFileEx MoveFileExW
|
||||
#define MoveFileWithProgress MoveFileWithProgressW
|
||||
#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
|
||||
#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
|
||||
#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
|
||||
@@ -3578,6 +3588,7 @@ typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC;
|
||||
#define lstrlen lstrlenA
|
||||
#define MoveFile MoveFileA
|
||||
#define MoveFileEx MoveFileExA
|
||||
#define MoveFileWithProgress MoveFileWithProgressA
|
||||
#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
|
||||
#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
|
||||
#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
|
||||
|
||||
+15
-7
@@ -228,7 +228,7 @@ typedef struct _KEY_EVENT_RECORD {
|
||||
WORD wVirtualScanCode;
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
CHAR AsciiChar;
|
||||
} uChar;
|
||||
DWORD dwControlKeyState;
|
||||
}
|
||||
@@ -236,18 +236,26 @@ typedef struct _KEY_EVENT_RECORD {
|
||||
/* gcc's alignment is not what win32 expects */
|
||||
PACKED
|
||||
#endif
|
||||
KEY_EVENT_RECORD;
|
||||
KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
|
||||
|
||||
typedef struct _MOUSE_EVENT_RECORD {
|
||||
COORD dwMousePosition;
|
||||
DWORD dwButtonState;
|
||||
DWORD dwControlKeyState;
|
||||
DWORD dwEventFlags;
|
||||
} MOUSE_EVENT_RECORD;
|
||||
} MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
|
||||
|
||||
typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
|
||||
typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
|
||||
typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
|
||||
typedef struct _WINDOW_BUFFER_SIZE_RECORD {
|
||||
COORD dwSize;
|
||||
} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
|
||||
|
||||
typedef struct _MENU_EVENT_RECORD {
|
||||
UINT dwCommandId;
|
||||
} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
|
||||
|
||||
typedef struct _FOCUS_EVENT_RECORD {
|
||||
BOOL bSetFocus;
|
||||
} FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
|
||||
|
||||
typedef struct _INPUT_RECORD {
|
||||
WORD EventType;
|
||||
@@ -258,7 +266,7 @@ typedef struct _INPUT_RECORD {
|
||||
MENU_EVENT_RECORD MenuEvent;
|
||||
FOCUS_EVENT_RECORD FocusEvent;
|
||||
} Event;
|
||||
} INPUT_RECORD,*PINPUT_RECORD;
|
||||
} INPUT_RECORD, *PINPUT_RECORD;
|
||||
|
||||
#if (_WIN32_WINNT >= 0x0600)
|
||||
typedef struct _CONSOLE_HISTORY_INFO {
|
||||
|
||||
@@ -1959,6 +1959,22 @@ static const WCHAR MS_ENH_RSA_AES_PROV_W[] = { 'M','i','c','r','o','s'
|
||||
#endif
|
||||
#define MS_ENH_RSA_AES_PROV WINELIB_NAME_AW(MS_ENH_RSA_AES_PROV_)
|
||||
|
||||
#define MS_ENH_RSA_AES_PROV_XP_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
|
||||
#if defined(__GNUC__)
|
||||
# define MS_ENH_RSA_AES_PROV_XP_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',' ', \
|
||||
'E','n','h','a','n','c','e','d',' ','R','S','A',' ','a','n','d',' ','A','E','S',' ',\
|
||||
'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',' ',\
|
||||
'(','P','r','o','t','o','t','y','p','e',')',0 }
|
||||
#elif defined(_MSC_VER)
|
||||
# define MS_ENH_RSA_AES_PROV_XP_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
|
||||
#else
|
||||
static const WCHAR MS_ENH_RSA_AES_PROV_XP_W[] = { 'M','i','c','r','o','s','o','f','t',' ',
|
||||
'E','n','h','a','n','c','e','d',' ','R','S','A',' ','a','n','d',' ','A','E','S',' ',
|
||||
'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',' ',
|
||||
'(','P','r','o','t','o','t','y','p','e',')',0 };
|
||||
#endif
|
||||
#define MS_ENH_RSA_AES_PROV_XP WINELIB_NAME_AW(MS_ENH_RSA_AES_PROV_XP_)
|
||||
|
||||
/* Key Specs*/
|
||||
#define AT_KEYEXCHANGE 1
|
||||
#define AT_SIGNATURE 2
|
||||
|
||||
+655
-29
File diff suppressed because it is too large
Load Diff
@@ -1786,6 +1786,16 @@ HttpQueryInfoW(
|
||||
|
||||
#define HttpQueryInfo WINELIB_NAME_AW(HttpQueryInfo)
|
||||
|
||||
typedef enum {
|
||||
COOKIE_STATE_UNKNOWN,
|
||||
COOKIE_STATE_ACCEPT,
|
||||
COOKIE_STATE_PROMPT,
|
||||
COOKIE_STATE_LEASH,
|
||||
COOKIE_STATE_DOWNGRADE,
|
||||
COOKIE_STATE_REJECT,
|
||||
COOKIE_STATE_MAX = COOKIE_STATE_REJECT
|
||||
} InternetCookieState;
|
||||
|
||||
BOOLAPI InternetClearAllPerSiteCookieDecisions(VOID);
|
||||
|
||||
BOOLAPI
|
||||
@@ -1814,6 +1824,7 @@ InternetEnumPerSiteCookieDecisionW(
|
||||
#define INTERNET_COOKIE_IS_RESTRICTED 0x00000200
|
||||
#define INTERNET_COOKIE_IE6 0x00000400
|
||||
#define INTERNET_COOKIE_IS_LEGACY 0x00000800
|
||||
#define INTERNET_COOKIE_HTTPONLY 0x00002000
|
||||
|
||||
BOOLAPI
|
||||
InternetGetCookieExA(
|
||||
@@ -2559,6 +2570,31 @@ InternetGetConnectedStateExW(
|
||||
|
||||
#define InternetGetConnectedStateEx WINELIB_NAME_AW(InternetGetConnectedStateEx)
|
||||
|
||||
typedef struct AutoProxyHelperVtbl
|
||||
{
|
||||
BOOL (WINAPI *IsResolvable)(LPSTR);
|
||||
DWORD (WINAPI *GetIPAddress)(LPSTR, LPDWORD);
|
||||
DWORD (WINAPI *ResolveHostName)(LPSTR, LPSTR, LPDWORD);
|
||||
BOOL (WINAPI *IsInNet)(LPSTR, LPSTR, LPSTR);
|
||||
BOOL (WINAPI *IsResolvableEx)(LPSTR);
|
||||
DWORD (WINAPI *GetIPAddressEx)(LPSTR, LPDWORD);
|
||||
DWORD (WINAPI *ResolveHostNameEx)(LPSTR, LPSTR, LPDWORD);
|
||||
BOOL (WINAPI *IsInNetEx)(LPSTR, LPSTR);
|
||||
DWORD (WINAPI *SortIpList)(LPSTR, LPSTR, LPDWORD);
|
||||
} AutoProxyHelperVtbl;
|
||||
|
||||
typedef struct AutoProxyHelperFunctions
|
||||
{
|
||||
const struct AutoProxyHelperVtbl *lpVtbl;
|
||||
} AutoProxyHelperFunctions;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwStructSize;
|
||||
LPSTR lpszScriptBuffer;
|
||||
DWORD dwScriptBufferSize;
|
||||
} AUTO_PROXY_SCRIPT_BUFFER, *LPAUTO_PROXY_SCRIPT_BUFFER;
|
||||
|
||||
BOOLAPI InternetInitializeAutoProxyDll(_In_ DWORD);
|
||||
|
||||
BOOLAPI
|
||||
|
||||
@@ -90,6 +90,7 @@ extern "C" {
|
||||
#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA)
|
||||
#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA)
|
||||
#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM,26,METHOD_BUFFERED,FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,28,METHOD_NEITHER,FILE_ANY_ACCESS)
|
||||
#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_ANY_ACCESS)
|
||||
@@ -556,6 +557,19 @@ typedef struct {
|
||||
LARGE_INTEGER MftZoneStart;
|
||||
LARGE_INTEGER MftZoneEnd;
|
||||
} NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
|
||||
typedef struct {
|
||||
ULONG ByteCount;
|
||||
USHORT MajorVersion;
|
||||
USHORT MinorVersion;
|
||||
} NTFS_EXTENDED_VOLUME_DATA, *PNTFS_EXTENDED_VOLUME_DATA;
|
||||
typedef struct {
|
||||
LARGE_INTEGER FileReferenceNumber;
|
||||
} NTFS_FILE_RECORD_INPUT_BUFFER, *PNTFS_FILE_RECORD_INPUT_BUFFER;
|
||||
typedef struct {
|
||||
LARGE_INTEGER FileReferenceNumber;
|
||||
ULONG FileRecordLength;
|
||||
UCHAR FileRecordBuffer[1];
|
||||
} NTFS_FILE_RECORD_OUTPUT_BUFFER, *PNTFS_FILE_RECORD_OUTPUT_BUFFER;
|
||||
|
||||
#define IsRecognizedPartition(t)\
|
||||
(((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_12))||\
|
||||
|
||||
+19
-12
@@ -260,6 +260,8 @@ extern "C" {
|
||||
#define C3_LEXICAL 1024
|
||||
#define C3_ALPHA 32768
|
||||
#define C3_NOTAPPLICABLE 0
|
||||
#define C3_HIGHSURROGATE 0x0800
|
||||
#define C3_LOWSURROGATE 0x1000
|
||||
#define TIME_NOMINUTESORSECONDS 1
|
||||
#define TIME_NOSECONDS 2
|
||||
#define TIME_NOTIMEMARKER 4
|
||||
@@ -528,18 +530,23 @@ enum SYSGEOCLASS {
|
||||
GEOCLASS_NATION = 16,
|
||||
GEOCLASS_REGION = 14
|
||||
};
|
||||
enum SYSGEOTYPE {
|
||||
GEO_NATION = 0x0001,
|
||||
GEO_LATITUDE = 0x0002,
|
||||
GEO_LONGITUDE = 0x0003,
|
||||
GEO_ISO2 = 0x0004,
|
||||
GEO_ISO3 = 0x0005,
|
||||
GEO_RFC1766 = 0x0006,
|
||||
GEO_LCID = 0x0007,
|
||||
GEO_FRIENDLYNAME = 0x0008,
|
||||
GEO_OFFICIALNAME = 0x0009,
|
||||
GEO_TIMEZONES = 0x000a,
|
||||
GEO_OFFICIALLANGUAGES = 0x000b
|
||||
|
||||
/* Geographic Information types */
|
||||
enum SYSGEOTYPE
|
||||
{
|
||||
GEO_NATION = 1,
|
||||
GEO_LATITUDE,
|
||||
GEO_LONGITUDE,
|
||||
GEO_ISO2,
|
||||
GEO_ISO3,
|
||||
GEO_RFC1766,
|
||||
GEO_LCID,
|
||||
GEO_FRIENDLYNAME,
|
||||
GEO_OFFICIALNAME,
|
||||
GEO_TIMEZONES,
|
||||
GEO_OFFICIALLANGUAGES,
|
||||
GEO_ISO_UN_NUMBER,
|
||||
GEO_PARENT
|
||||
};
|
||||
|
||||
typedef struct _cpinfo {
|
||||
|
||||
+34
-20
@@ -729,6 +729,26 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define RTL_CONST_CAST(type) (type)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE) \
|
||||
extern "C++" { \
|
||||
inline _ENUMTYPE operator|(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) | ((int)b)); } \
|
||||
inline _ENUMTYPE &operator|=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) |= ((int)b)); } \
|
||||
inline _ENUMTYPE operator&(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) & ((int)b)); } \
|
||||
inline _ENUMTYPE &operator&=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) &= ((int)b)); } \
|
||||
inline _ENUMTYPE operator~(_ENUMTYPE a) { return _ENUMTYPE(~((int)a)); } \
|
||||
inline _ENUMTYPE operator^(_ENUMTYPE a, _ENUMTYPE b) { return _ENUMTYPE(((int)a) ^ ((int)b)); } \
|
||||
inline _ENUMTYPE &operator^=(_ENUMTYPE &a, _ENUMTYPE b) { return (_ENUMTYPE &)(((int &)a) ^= ((int)b)); } \
|
||||
}
|
||||
#else
|
||||
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE)
|
||||
#endif
|
||||
|
||||
#define COMPILETIME_OR_2FLAGS(a,b) ((UINT)(a)|(UINT)(b))
|
||||
#define COMPILETIME_OR_3FLAGS(a,b,c) ((UINT)(a)|(UINT)(b)|(UINT)(c))
|
||||
#define COMPILETIME_OR_4FLAGS(a,b,c,d) ((UINT)(a)|(UINT)(b)|(UINT)(c)|(UINT)(d))
|
||||
#define COMPILETIME_OR_5FLAGS(a,b,c,d,e) ((UINT)(a)|(UINT)(b)|(UINT)(c)|(UINT)(d)|(UINT)(e))
|
||||
|
||||
/* Type Limits */
|
||||
#define MINCHAR 0x80
|
||||
#define MAXCHAR 0x7f
|
||||
@@ -741,10 +761,15 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define MAXDWORD 0xffffffff
|
||||
#define MAXLONGLONG (0x7fffffffffffffffLL)
|
||||
|
||||
/* Multiplication and Shift Operations. Note: we don't use inline
|
||||
asm functions, the compiler can optimize this better. */
|
||||
#define Int32x32To64(a,b) (((__int64)(long)(a))*((__int64)(long)(b)))
|
||||
#define UInt32x32To64(a,b) ((unsigned __int64)(unsigned int)(a)*(unsigned __int64)(unsigned int)(b))
|
||||
/* 32 to 64 bit multiplication. GCC is really bad at optimizing the native math */
|
||||
#if defined(_M_IX86) && defined(__GNUC__) && \
|
||||
!defined(MIDL_PASS)&& !defined(RC_INVOKED) && !defined(_M_CEE_PURE)
|
||||
#define Int32x32To64(a,b) __emul(a,b)
|
||||
#define UInt32x32To64(a,b) __emulu(a,b)
|
||||
#else
|
||||
#define Int32x32To64(a,b) (((__int64)(long)(a))*((__int64)(long)(b)))
|
||||
#define UInt32x32To64(a,b) ((unsigned __int64)(unsigned int)(a)*(unsigned __int64)(unsigned int)(b))
|
||||
#endif
|
||||
|
||||
#if defined(MIDL_PASS)|| defined(RC_INVOKED) || defined(_M_CEE_PURE)
|
||||
/* Use native math */
|
||||
@@ -1424,21 +1449,6 @@ typedef struct _GROUP_AFFINITY {
|
||||
#define ACE_OBJECT_TYPE_PRESENT 0x00000001
|
||||
#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
|
||||
extern "C++" { \
|
||||
inline ENUMTYPE operator | (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a)|((int)b)); } \
|
||||
inline ENUMTYPE operator |= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) |= ((int)b)); } \
|
||||
inline ENUMTYPE operator & (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a)&((int)b)); } \
|
||||
inline ENUMTYPE operator &= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) &= ((int)b)); } \
|
||||
inline ENUMTYPE operator ~ (ENUMTYPE a) { return (ENUMTYPE)(~((int)a)); } \
|
||||
inline ENUMTYPE operator ^ (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a)^((int)b)); } \
|
||||
inline ENUMTYPE operator ^= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) ^= ((int)b)); } \
|
||||
}
|
||||
#else
|
||||
# define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) /* */
|
||||
#endif
|
||||
|
||||
/* also in ddk/ntifs.h */
|
||||
#define COMPRESSION_FORMAT_NONE (0x0000)
|
||||
#define COMPRESSION_FORMAT_DEFAULT (0x0001)
|
||||
@@ -1704,6 +1714,10 @@ extern "C++" { \
|
||||
#define THREAD_BASE_PRIORITY_MAX 2
|
||||
#define THREAD_BASE_PRIORITY_MIN (-2)
|
||||
#define THREAD_BASE_PRIORITY_IDLE (-15)
|
||||
|
||||
#define PROCESS_SET_LIMITED_INFORMATION 0x2000
|
||||
#define THREAD_RESUME 0x1000
|
||||
|
||||
/*
|
||||
* To prevent gcc compiler warnings, bracket these defines when initialising
|
||||
* a SID_IDENTIFIER_AUTHORITY, eg.
|
||||
@@ -2969,7 +2983,7 @@ typedef struct _FLOATING_SAVE_AREA {
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[80];
|
||||
BYTE RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||
DWORD Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
|
||||
|
||||
+11
-1
@@ -595,6 +595,11 @@ typedef struct _FILE_MAILSLOT_SET_INFORMATION {
|
||||
LARGE_INTEGER ReadTimeout;
|
||||
} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;
|
||||
|
||||
typedef struct _FILE_PIPE_INFORMATION {
|
||||
ULONG ReadMode;
|
||||
ULONG CompletionMode;
|
||||
} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION;
|
||||
|
||||
typedef struct _FILE_PIPE_LOCAL_INFORMATION {
|
||||
ULONG NamedPipeType;
|
||||
ULONG NamedPipeConfiguration;
|
||||
@@ -2172,7 +2177,7 @@ ULONG WINAPI RtlFindSetBitsAndClear(PRTL_BITMAP,ULONG,ULONG);
|
||||
ULONG WINAPI RtlFindSetRuns(PCRTL_BITMAP,PRTL_BITMAP_RUN,ULONG,BOOLEAN);
|
||||
BOOLEAN WINAPI RtlFirstFreeAce(PACL,PACE_HEADER *);
|
||||
NTSTATUS WINAPI RtlFormatCurrentUserKeyPath(PUNICODE_STRING);
|
||||
NTSTATUS WINAPI RtlFormatMessage(LPWSTR,UCHAR,BOOLEAN,BOOLEAN,BOOLEAN,va_list *,LPWSTR,ULONG);
|
||||
NTSTATUS WINAPI RtlFormatMessage(PWSTR,ULONG,BOOLEAN,BOOLEAN,BOOLEAN,va_list *,PWSTR,ULONG,PULONG);
|
||||
void WINAPI RtlFreeAnsiString(PANSI_STRING);
|
||||
BOOLEAN WINAPI RtlFreeHandle(RTL_HANDLE_TABLE *,RTL_HANDLE *);
|
||||
BOOLEAN WINAPI RtlFreeHeap(HANDLE,ULONG,PVOID);
|
||||
@@ -2305,7 +2310,12 @@ BOOLEAN WINAPI RtlTimeToSecondsSince1970(const LARGE_INTEGER *,LPDWORD);
|
||||
BOOLEAN WINAPI RtlTimeToSecondsSince1980(const LARGE_INTEGER *,LPDWORD);
|
||||
BOOL WINAPI RtlTryEnterCriticalSection(RTL_CRITICAL_SECTION *);
|
||||
|
||||
#ifdef __REACTOS__
|
||||
ULONGLONG __fastcall RtlUlonglongByteSwap(ULONGLONG);
|
||||
#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))
|
||||
#else
|
||||
ULONGLONG __cdecl RtlUlonglongByteSwap(ULONGLONG);
|
||||
#endif
|
||||
DWORD WINAPI RtlUnicodeStringToAnsiSize(const UNICODE_STRING*);
|
||||
NTSTATUS WINAPI RtlUnicodeStringToAnsiString(PANSI_STRING,PCUNICODE_STRING,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlUnicodeStringToInteger(const UNICODE_STRING *,ULONG,ULONG *);
|
||||
|
||||
@@ -4280,8 +4280,6 @@ BOOL WINAPI DragDetect(_In_ HWND, _In_ POINT);
|
||||
DWORD WINAPI DragObject(_In_ HWND, _In_ HWND, _In_ UINT, _In_ ULONG_PTR, _In_opt_ HCURSOR);
|
||||
BOOL WINAPI DrawAnimatedRects(_In_opt_ HWND, _In_ int, _In_ LPCRECT, _In_ LPCRECT);
|
||||
BOOL WINAPI DrawCaption(_In_ HWND, _In_ HDC, _In_ LPCRECT, _In_ UINT);
|
||||
BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
|
||||
BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
|
||||
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT);
|
||||
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT);
|
||||
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT);
|
||||
@@ -5434,7 +5432,6 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
|
||||
#define DlgDirListComboBox DlgDirListComboBoxW
|
||||
#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
|
||||
#define DlgDirSelectEx DlgDirSelectExW
|
||||
#define DrawCaptionTemp DrawCaptionTempW
|
||||
#define DrawState DrawStateW
|
||||
#define DrawText DrawTextW
|
||||
#define DrawTextEx DrawTextExW
|
||||
@@ -5601,7 +5598,6 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
|
||||
#define DlgDirListComboBox DlgDirListComboBoxA
|
||||
#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
|
||||
#define DlgDirSelectEx DlgDirSelectExA
|
||||
#define DrawCaptionTemp DrawCaptionTempA
|
||||
#define DrawState DrawStateA
|
||||
#define DrawText DrawTextA
|
||||
#define DrawTextEx DrawTextExA
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* ReactOS shlwapi
|
||||
*
|
||||
* Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __BROWSEUI_UNDOC_H
|
||||
#define __BROWSEUI_UNDOC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
typedef struct IEThreadParamBlock
|
||||
{
|
||||
long offset0;
|
||||
DWORD dwFlags;
|
||||
long offset8;
|
||||
IUnknown * offsetC;
|
||||
long offset10;
|
||||
IUnknown * offset14;
|
||||
LPITEMIDLIST directoryPIDL; // 0x18
|
||||
char offset1C[0x70-0x1C]; // unknown contents -- 0x1C..0x6c
|
||||
IUnknown * offset70;
|
||||
long offset74; // unknown contents
|
||||
IUnknown * offset78;
|
||||
LPITEMIDLIST offset7C;
|
||||
LPITEMIDLIST offset80;
|
||||
LONG offset84;
|
||||
LONG offset88;
|
||||
LONG offset8C;
|
||||
LONG offset90;
|
||||
LONG offset94;
|
||||
LONG offset98;
|
||||
LONG offset9C;
|
||||
LONG offsetA0;
|
||||
char offsetA4[0xD8-0xA4]; // unknown contents -- 0xA4..0xD8
|
||||
LONG offsetD8;
|
||||
char offsetDC[0xF8-0xDC]; // unknown contents -- 0xDC..0xF8
|
||||
IUnknown * offsetF8; // instance explorer
|
||||
LONG offsetFC; // unknown contents
|
||||
} IE_THREAD_PARAM_BLOCK, *PIE_THREAD_PARAM_BLOCK;
|
||||
|
||||
typedef struct ExplorerCommandLineParseResults
|
||||
{
|
||||
LPWSTR strPath;
|
||||
LPITEMIDLIST pidlPath;
|
||||
DWORD dwFlags;
|
||||
DWORD offsetC;
|
||||
DWORD offset10;
|
||||
DWORD offset14;
|
||||
DWORD offset18;
|
||||
DWORD offset1C;
|
||||
LPITEMIDLIST pidlRoot;
|
||||
DWORD offset24;
|
||||
DWORD offset28;
|
||||
DWORD offset2C;
|
||||
DWORD offset30;
|
||||
GUID guidInproc;
|
||||
} EXPLORER_CMDLINE_PARSE_RESULTS, *PEXPLORER_CMDLINE_PARSE_RESULTS;
|
||||
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_ONE 0x00000001
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_S 0x00000002
|
||||
// unknown/unused 0x00000004
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_E 0x00000008
|
||||
// unknown/unused 0x00000010
|
||||
// unknown/unused 0x00000020
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_SELECT 0x00000040
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_EMBED 0x00000080
|
||||
// unknown/unused 0x00000100
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_IDLIST 0x00000200
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_INPROC 0x00000400
|
||||
// unknown/unused 0x00000800
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_NOUI 0x00001000
|
||||
// unknown/unused 0x00002000
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_N 0x00004000
|
||||
// unknown/unused 0x00008000
|
||||
// unknown/unused 0x00010000
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_SEPARATE 0x00020000
|
||||
// unknown/unused 0x00040000
|
||||
// unknown/unused 0x00080000
|
||||
// unknown/unused 0x00100000
|
||||
// unknown/unused 0x00200000
|
||||
// unknown/unused 0x00400000
|
||||
// unknown/unused 0x00800000
|
||||
// unknown/unused 0x01000000
|
||||
#define SH_EXPLORER_CMDLINE_FLAG_STRING 0x02000000
|
||||
|
||||
#define WM_EXPLORER_OPEN_NEW_WINDOW (WM_USER+11)
|
||||
#define WM_EXPLORER_1037 (WM_USER+13)
|
||||
|
||||
void WINAPI InitOCHostClass(long param8);
|
||||
long WINAPI SHOpenFolderWindow(PIE_THREAD_PARAM_BLOCK parameters);
|
||||
void WINAPI SHCreateSavedWindows(void);
|
||||
BOOL WINAPI SHCreateFromDesktop(PEXPLORER_CMDLINE_PARSE_RESULTS parseResults);
|
||||
UINT WINAPI SHExplorerParseCmdLine(PEXPLORER_CMDLINE_PARSE_RESULTS pParseResults);
|
||||
void WINAPI UEMRegisterNotify(long param8, long paramC);
|
||||
HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10);
|
||||
HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14);
|
||||
long WINAPI IDataObject_GetDeskBandState(long param8);
|
||||
PIE_THREAD_PARAM_BLOCK WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14);
|
||||
PIE_THREAD_PARAM_BLOCK WINAPI SHCloneIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param);
|
||||
long WINAPI SHParseIECommandLine(long param8, long paramC);
|
||||
void WINAPI SHDestroyIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param);
|
||||
BOOL WINAPI SHOnCWMCommandLine(HANDLE hSharedInfo);
|
||||
LPITEMIDLIST WINAPI Channel_GetFolderPidl(void);
|
||||
IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl);
|
||||
HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8);
|
||||
HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC);
|
||||
HRESULT WINAPI Channel_QuickLaunch(void);
|
||||
HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14);
|
||||
HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax);
|
||||
HRESULT WINAPI SHEnumClassesOfCategories(long param8, long paramC, long param10, long param14, long param18);
|
||||
HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20);
|
||||
BOOL WINAPI SHIsExplorerBrowser();
|
||||
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __BROWSEUI_UNDOC_H */
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* ReactOS undocumented shell interface
|
||||
*
|
||||
* Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
|
||||
* Copyright 2013 Dominik Hornung
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __COMCTL32_UNDOC__H
|
||||
#define __COMCTL32_UNDOC__H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
typedef struct tagCREATEMRULISTA
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD nMaxItems;
|
||||
DWORD dwFlags;
|
||||
HKEY hKey;
|
||||
LPCSTR lpszSubKey;
|
||||
PROC lpfnCompare;
|
||||
} CREATEMRULISTA, *LPCREATEMRULISTA;
|
||||
typedef struct tagCREATEMRULISTW
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD nMaxItems;
|
||||
DWORD dwFlags;
|
||||
HKEY hKey;
|
||||
LPCWSTR lpszSubKey;
|
||||
PROC lpfnCompare;
|
||||
} CREATEMRULISTW, *LPCREATEMRULISTW;
|
||||
|
||||
#define MRU_STRING 0x0
|
||||
#define MRU_BINARY 0x1
|
||||
#define MRU_CACHEWRITE 0x2
|
||||
|
||||
HANDLE WINAPI CreateMRUListW(LPCREATEMRULISTW);
|
||||
HANDLE WINAPI CreateMRUListA(LPCREATEMRULISTA);
|
||||
INT WINAPI AddMRUData(HANDLE,LPCVOID,DWORD);
|
||||
INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT);
|
||||
VOID WINAPI FreeMRUList(HANDLE);
|
||||
|
||||
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString);
|
||||
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
|
||||
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
|
||||
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
|
||||
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
|
||||
HANDLE WINAPI CreateMRUListLazyW(const CREATEMRULISTW *lpcml, DWORD dwParam2,
|
||||
DWORD dwParam3, DWORD dwParam4);
|
||||
HANDLE WINAPI CreateMRUListLazyA(const CREATEMRULISTA *lpcml, DWORD dwParam2,
|
||||
DWORD dwParam3, DWORD dwParam4);
|
||||
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||
DWORD nBufferSize);
|
||||
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||
DWORD nBufferSize);
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef CREATEMRULISTW CREATEMRULIST, *PCREATEMRULIST;
|
||||
#define CreateMRUList CreateMRUListW
|
||||
#else
|
||||
typedef CREATEMRULISTA CREATEMRULIST, *PCREATEMRULIST;
|
||||
#define CreateMRUList CreateMRUListA
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif // __COMCTL32_UNDOC__H
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* newdevp.h
|
||||
*
|
||||
* Private header for newdev.dll
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __NEWDEVP__H
|
||||
#define __NEWDEVP__H
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DevInstallW(
|
||||
IN HWND hWndParent,
|
||||
IN HINSTANCE hInstance,
|
||||
IN LPCWSTR InstanceId,
|
||||
IN INT Show);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
InstallDevInst(
|
||||
IN HWND hWndParent,
|
||||
IN LPCWSTR InstanceId,
|
||||
IN BOOL bUpdate,
|
||||
OUT LPDWORD lpReboot);
|
||||
|
||||
#endif /* __NEWDEVP__H */
|
||||
@@ -15,11 +15,11 @@
|
||||
CTL_CODE(FILE_DEVICE_KSEC, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
// 3: 0x39000E - called from SystemFunction040 aka RtlEncryptMemory with OptionFlags == 0
|
||||
#define IOCTL_KSEC_ENCRYPT_PROCESS \
|
||||
#define IOCTL_KSEC_ENCRYPT_SAME_PROCESS \
|
||||
CTL_CODE(FILE_DEVICE_KSEC, 0x03, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
|
||||
|
||||
// 4: 0x390012 - called from SystemFunction041 aka RtlDecryptMemory with OptionFlags == 0
|
||||
#define IOCTL_KSEC_DECRYPT_PROCESS \
|
||||
#define IOCTL_KSEC_DECRYPT_SAME_PROCESS \
|
||||
CTL_CODE(FILE_DEVICE_KSEC, 0x04, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
|
||||
|
||||
// 5: 0x390016 - called from SystemFunction040 aka RtlEncryptMemory with OptionFlags == 1
|
||||
|
||||
+195
-65
@@ -261,42 +261,58 @@ typedef struct _DEVPROPKEY {
|
||||
interface pnp
|
||||
{
|
||||
/* Function 0 */
|
||||
DWORD PNP_Disconnect(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_Disconnect(
|
||||
[in] handle_t hBinding); /* FIXME */
|
||||
|
||||
/* Function 1 */
|
||||
DWORD PNP_Connect(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_Connect(
|
||||
[in] handle_t hBinding); /* FIXME */
|
||||
|
||||
/* Function 2 */
|
||||
DWORD PNP_GetVersion(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetVersion(
|
||||
[in] handle_t hBinding,
|
||||
[out] WORD *pVersion);
|
||||
|
||||
/* Function 3 */
|
||||
DWORD PNP_GetGlobalState(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetGlobalState(
|
||||
[in] handle_t hBinding,
|
||||
[out] DWORD *pulState,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 4 */
|
||||
DWORD PNP_InitDetection(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_InitDetection(
|
||||
[in] handle_t hBinding);
|
||||
|
||||
/* Function 5 */
|
||||
DWORD PNP_ReportLogOn(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_ReportLogOn(
|
||||
[in] handle_t hBinding,
|
||||
[in] BOOL Admin,
|
||||
[in] DWORD ProcessId);
|
||||
|
||||
/* Function 6 */
|
||||
DWORD PNP_ValidateDeviceInstance(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_ValidateDeviceInstance(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 7 */
|
||||
DWORD PNP_GetRootDeviceInstance(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetRootDeviceInstance(
|
||||
[in] handle_t hBinding,
|
||||
[out, string, size_is(ulLength)] LPWSTR pDeviceID,
|
||||
[in] PNP_RPC_STRING_LEN ulLength);
|
||||
@@ -305,7 +321,9 @@ interface pnp
|
||||
cpp_quote("#define PNP_GET_PARENT_DEVICE_INSTANCE 0x1")
|
||||
cpp_quote("#define PNP_GET_CHILD_DEVICE_INSTANCE 0x2")
|
||||
cpp_quote("#define PNP_GET_SIBLING_DEVICE_INSTANCE 0x3")
|
||||
DWORD PNP_GetRelatedDeviceInstance(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetRelatedDeviceInstance(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulRelationship,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
@@ -316,7 +334,9 @@ interface pnp
|
||||
/* Function 9 */
|
||||
cpp_quote("#define PNP_ENUMERATOR_SUBKEYS 0x1")
|
||||
cpp_quote("#define PNP_CLASS_SUBKEYS 0x2")
|
||||
DWORD PNP_EnumerateSubKeys(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_EnumerateSubKeys(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulBranch,
|
||||
[in] DWORD ulIndex,
|
||||
@@ -326,7 +346,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 10 */
|
||||
DWORD PNP_GetDeviceList(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetDeviceList(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pszFilter,
|
||||
[out, size_is(*pulLength), length_is(*pulLength)] LPWSTR Buffer,
|
||||
@@ -334,21 +356,27 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 11 */
|
||||
DWORD PNP_GetDeviceListSize(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetDeviceListSize(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pszFilter,
|
||||
[out] PNP_RPC_BUFFER_SIZE *pulLen,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 12 */
|
||||
DWORD PNP_GetDepth(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetDepth(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszDeviceID,
|
||||
[out] DWORD *pulDepth,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 13 */
|
||||
DWORD PNP_GetDeviceRegProp(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetDeviceRegProp(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulProperty,
|
||||
@@ -359,7 +387,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 14 */
|
||||
DWORD PNP_SetDeviceRegProp(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_SetDeviceRegProp(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceId,
|
||||
[in] DWORD ulProperty,
|
||||
@@ -369,21 +399,27 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 15 */
|
||||
DWORD PNP_GetClassInstance(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetClassInstance(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceId,
|
||||
[out, string, size_is(ulLength)] LPWSTR pszClassInstance,
|
||||
[in] PNP_RPC_STRING_LEN ulLength);
|
||||
|
||||
/* Function 16 */
|
||||
DWORD PNP_CreateKey(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_CreateKey(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszSubKey,
|
||||
[in] DWORD samDesired,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 17 */
|
||||
DWORD PNP_DeleteRegistryKey(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_DeleteRegistryKey(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszDeviceID,
|
||||
[in, string, ref] LPWSTR pszParentKey,
|
||||
@@ -391,13 +427,17 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 18 */
|
||||
DWORD PNP_GetClassCount(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetClassCount(
|
||||
[in] handle_t hBinding,
|
||||
[out] DWORD *pulClassCount,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 19 */
|
||||
DWORD PNP_GetClassName(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetClassName(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszClassGuid,
|
||||
[out, string, size_is(*pulLength)] LPWSTR Buffer,
|
||||
@@ -405,13 +445,17 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 20 */
|
||||
DWORD PNP_DeleteClassKey(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_DeleteClassKey(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszClassGuid,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 21 */
|
||||
DWORD PNP_GetInterfaceDeviceAlias(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetInterfaceDeviceAlias(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszInterfaceDevice,
|
||||
[in] GUID *AliasInterfaceGuid,
|
||||
@@ -421,7 +465,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 22 */
|
||||
DWORD PNP_GetInterfaceDeviceList(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetInterfaceDeviceList(
|
||||
[in] handle_t hBinding,
|
||||
[in] GUID *InterfaceGuid,
|
||||
[in, string, unique] LPWSTR pszDeviceID,
|
||||
@@ -430,7 +476,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 23 */
|
||||
DWORD PNP_GetInterfaceDeviceListSize(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetInterfaceDeviceListSize(
|
||||
[in] handle_t hBinding,
|
||||
[out] PNP_RPC_BUFFER_SIZE *pulLen,
|
||||
[in] GUID *InterfaceGuid,
|
||||
@@ -438,7 +486,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 24 */
|
||||
DWORD PNP_RegisterDeviceClassAssociation(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RegisterDeviceClassAssociation(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pszDeviceID,
|
||||
[in] GUID *InterfaceGuid,
|
||||
@@ -449,13 +499,17 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 25 */
|
||||
DWORD PNP_UnregisterDeviceClassAssociation(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_UnregisterDeviceClassAssociation(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pszInterfaceDevice,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 26 */
|
||||
DWORD PNP_GetClassRegProp(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetClassRegProp(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszClassGuid,
|
||||
[in] DWORD ulProperty,
|
||||
@@ -466,7 +520,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 27 */
|
||||
DWORD PNP_SetClassRegProp(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_SetClassRegProp(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszClassGuid,
|
||||
[in] DWORD ulProperty,
|
||||
@@ -476,7 +532,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 28 */
|
||||
DWORD PNP_CreateDevInst(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_CreateDevInst(
|
||||
[in] handle_t hBinding,
|
||||
[in, out, string, size_is(ulLength)] LPWSTR pszDeviceID,
|
||||
[in, string, ref] LPWSTR pszParentDeviceID,
|
||||
@@ -489,7 +547,9 @@ interface pnp
|
||||
cpp_quote("#define PNP_DEVINST_ENABLE 0x4")
|
||||
cpp_quote("#define PNP_DEVINST_DISABLE 0x5")
|
||||
cpp_quote("#define PNP_DEVINST_REENUMERATE 0x7")
|
||||
DWORD PNP_DeviceInstanceAction(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_DeviceInstanceAction(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulAction,
|
||||
[in] DWORD ulFlags,
|
||||
@@ -497,7 +557,9 @@ interface pnp
|
||||
[in, string, unique] LPWSTR pszDeviceInstance2);
|
||||
|
||||
/* Function 30 */
|
||||
DWORD PNP_GetDeviceStatus(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetDeviceStatus(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pDeviceID,
|
||||
[out] DWORD *pulStatus,
|
||||
@@ -505,14 +567,18 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 31 */
|
||||
DWORD PNP_SetDeviceProblem(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_SetDeviceProblem(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pDeviceID,
|
||||
[in] DWORD ulProblem,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 32 */
|
||||
DWORD PNP_DisableDevInst(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_DisableDevInst(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pDeviceID,
|
||||
[in, out, unique] PPNP_VETO_TYPE pVetoType,
|
||||
@@ -521,26 +587,34 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 33 */
|
||||
DWORD PNP_UninstallDevInst(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_UninstallDevInst(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pDeviceID,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 34 */
|
||||
DWORD PNP_AddID(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_AddID(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, unique] LPWSTR pszDeviceID,
|
||||
[in, string, ref] LPWSTR pszID,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 35 */
|
||||
DWORD PNP_RegisterDriver(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RegisterDriver(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszDeviceID,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 36 */
|
||||
DWORD PNP_QueryRemove(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_QueryRemove(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszDeviceID,
|
||||
[in, out, unique] PPNP_VETO_TYPE pVetoType,
|
||||
@@ -549,7 +623,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 37 */
|
||||
DWORD PNP_RequestDeviceEject(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RequestDeviceEject(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pszDeviceID,
|
||||
[in, out, unique] PPNP_VETO_TYPE pVetoType,
|
||||
@@ -558,18 +634,24 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 38 */
|
||||
DWORD PNP_IsDockStationPresent(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_IsDockStationPresent(
|
||||
[in] handle_t hBinding,
|
||||
[in, out, unique] BOOL *Present);
|
||||
|
||||
/* Function 39 */
|
||||
DWORD PNP_RequestEjectPC(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RequestEjectPC(
|
||||
[in] handle_t hBinding);
|
||||
|
||||
/* Function 40 */
|
||||
cpp_quote("#define PNP_GET_HWPROFFLAGS 0x1")
|
||||
cpp_quote("#define PNP_SET_HWPROFFLAGS 0x2")
|
||||
DWORD PNP_HwProfFlags(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_HwProfFlags(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulAction,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
@@ -581,7 +663,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 41 */
|
||||
DWORD PNP_GetHwProfInfo(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetHwProfInfo(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulIndex,
|
||||
[in, out, ref] HWPROFILEINFO *pHWProfileInfo,
|
||||
@@ -590,7 +674,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 42 */
|
||||
DWORD PNP_AddEmptyLogConf(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_AddEmptyLogConf(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulPriority,
|
||||
@@ -598,7 +684,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 43 */
|
||||
DWORD PNP_FreeLogConf(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_FreeLogConf(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfType,
|
||||
@@ -606,7 +694,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 44 */
|
||||
DWORD PNP_GetFirstLogConf(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetFirstLogConf(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfType,
|
||||
@@ -614,7 +704,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 45 */
|
||||
DWORD PNP_GetNextLogConf(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetNextLogConf(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfType,
|
||||
@@ -623,7 +715,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 46 */
|
||||
DWORD PNP_GetLogConfPriority(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetLogConfPriority(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulType,
|
||||
@@ -632,7 +726,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 47 */
|
||||
DWORD PNP_AddResDes(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_AddResDes(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -644,7 +740,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 48 */
|
||||
DWORD PNP_FreeResDes(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_FreeResDes(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -656,7 +754,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 49 */
|
||||
DWORD PNP_GetNextResDes(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetNextResDes(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -668,7 +768,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 50 */
|
||||
DWORD PNP_GetResDesData(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetResDesData(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -680,7 +782,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 51 */
|
||||
DWORD PNP_GetResDesDataSize(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetResDesDataSize(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -691,7 +795,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 52 */
|
||||
DWORD PNP_ModifyResDes(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_ModifyResDes(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] DWORD ulLogConfTag,
|
||||
@@ -704,7 +810,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 53 */
|
||||
DWORD PNP_DetectResourceConflict(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_DetectResourceConflict(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] RESOURCEID ResourceID,
|
||||
@@ -714,7 +822,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 54 */
|
||||
DWORD PNP_QueryResConfList(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_QueryResConfList(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in] RESOURCEID ResourceID,
|
||||
@@ -725,13 +835,17 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 55 */
|
||||
DWORD PNP_SetHwProf(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_SetHwProf(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulHardwareProfile,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 56 */
|
||||
DWORD PNP_QueryArbitratorFreeData(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_QueryArbitratorFreeData(
|
||||
[in] handle_t hBinding,
|
||||
[out,size_is(DataLen)] BYTE *pData,
|
||||
[in] DWORD DataLen,
|
||||
@@ -740,7 +854,9 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 57 */
|
||||
DWORD PNP_QueryArbitratorFreeSize(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_QueryArbitratorFreeSize(
|
||||
[in] handle_t hBinding,
|
||||
[out] DWORD *pulSize,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
@@ -748,22 +864,30 @@ interface pnp
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 58 */
|
||||
DWORD PNP_RunDetection(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RunDetection(
|
||||
[in] handle_t hBinding,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 59 */
|
||||
DWORD PNP_RegisterNotification(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_RegisterNotification(
|
||||
[in] handle_t hBinding);
|
||||
|
||||
/* Function 60 */
|
||||
DWORD PNP_UnregisterNotification(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_UnregisterNotification(
|
||||
[in] handle_t hBinding);
|
||||
|
||||
cpp_quote("#if _WIN32_WINNT >= 0x0501")
|
||||
|
||||
/* Function 61 */
|
||||
DWORD PNP_GetCustomDevProp(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetCustomDevProp(
|
||||
[in] handle_t hBinding,
|
||||
[in, string, ref] LPWSTR pDeviceID,
|
||||
[in, string, ref] LPWSTR CustomPropName,
|
||||
@@ -774,12 +898,16 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 62 */
|
||||
DWORD PNP_GetVersionInternal(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetVersionInternal(
|
||||
[in] handle_t hBinding,
|
||||
[in, out] WORD *pwVersion);
|
||||
|
||||
/* Function 63 */
|
||||
DWORD PNP_GetBlockedDriverInfo(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetBlockedDriverInfo(
|
||||
[in] handle_t hBinding,
|
||||
[out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer,
|
||||
[out] PNP_RPC_BUFFER_SIZE *pulTransferLen,
|
||||
@@ -787,7 +915,9 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
/* Function 64 */
|
||||
DWORD PNP_GetServerSideDeviceInstallFlags(
|
||||
DWORD
|
||||
__stdcall
|
||||
PNP_GetServerSideDeviceInstallFlags(
|
||||
[in] handle_t hBinding,
|
||||
[out] DWORD *pulSSDIFlags,
|
||||
[in] DWORD ulFlags);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[
|
||||
explicit_handle
|
||||
]
|
||||
interface winreg
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,363 @@
|
||||
/*
|
||||
* Directory Service Setup interface definition
|
||||
*/
|
||||
|
||||
#include <ms-dtyp.idl>
|
||||
|
||||
typedef [context_handle] HANDLE RPC_HKEY;
|
||||
typedef RPC_HKEY *PRPC_HKEY;
|
||||
|
||||
typedef [handle] PWCHAR PREGISTRY_SERVER_NAME;
|
||||
|
||||
typedef struct value_ent
|
||||
{
|
||||
PRPC_UNICODE_STRING ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
LPDWORD ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} RVALENT, *PRVALENT;
|
||||
|
||||
typedef ULONG REGSAM;
|
||||
|
||||
typedef struct _RPC_SECURITY_DESCRIPTOR
|
||||
{
|
||||
[size_is(cbInSecurityDescriptor), length_is(cbOutSecurityDescriptor)] PBYTE lpSecurityDescriptor;
|
||||
DWORD cbInSecurityDescriptor;
|
||||
DWORD cbOutSecurityDescriptor;
|
||||
} RPC_SECURITY_DESCRIPTOR, *PRPC_SECURITY_DESCRIPTOR;
|
||||
|
||||
typedef struct _RPC_SECURITY_ATTRIBUTES
|
||||
{
|
||||
DWORD nLength;
|
||||
RPC_SECURITY_DESCRIPTOR RpcSecurityDescriptor;
|
||||
BOOLEAN bInheritHandle;
|
||||
} RPC_SECURITY_ATTRIBUTES, *PRPC_SECURITY_ATTRIBUTES;
|
||||
|
||||
[
|
||||
uuid(338CD001-2244-31F1-AAAA-900038001003),
|
||||
version(1.0),
|
||||
pointer_default(unique),
|
||||
endpoint("ncacn_np:[\\pipe\\winreg]")
|
||||
#ifndef __midl
|
||||
,explicit_handle
|
||||
#endif
|
||||
]
|
||||
interface winreg
|
||||
{
|
||||
/* Function 0 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenClassesRoot(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 1 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenCurrentUser(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 2 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenLocalMachine(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 3 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenPerformanceData(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 4 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenUsers(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 5 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegCloseKey(
|
||||
[in, out] PRPC_HKEY hKey);
|
||||
|
||||
/* Function 6 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegCreateKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey,
|
||||
[in] PRPC_UNICODE_STRING lpClass,
|
||||
[in] DWORD dwOptions,
|
||||
[in] REGSAM samDesired,
|
||||
[in, unique] PRPC_SECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
[out] PRPC_HKEY phkResult,
|
||||
[in, out, unique] LPDWORD lpdwDisposition);
|
||||
|
||||
/* Function 7 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegDeleteKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey);
|
||||
|
||||
/* Function 8 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegDeleteValue(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpValueName);
|
||||
|
||||
/* Function 9 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegEnumKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] DWORD dwIndex,
|
||||
[in] PRPC_UNICODE_STRING lpNameIn,
|
||||
[out] PRPC_UNICODE_STRING lpNameOut,
|
||||
[in, unique] PRPC_UNICODE_STRING lpClassIn,
|
||||
[out] PRPC_UNICODE_STRING *lplpClassOut,
|
||||
[in, out, unique] PFILETIME lpftLastWriteTime);
|
||||
|
||||
/* Function 10 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegEnumValue(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] DWORD dwIndex,
|
||||
[in] PRPC_UNICODE_STRING lpValueNameIn,
|
||||
[out] PRPC_UNICODE_STRING lpValueNameOut,
|
||||
[in, out, unique] LPDWORD lpType,
|
||||
[in, out, unique, size_is(lpcbData ? *lpcbData : 0), length_is(lpcbLen ? *lpcbLen : 0)] LPBYTE lpData, /* range(0, 0x4000000) */
|
||||
[in, out, unique] LPDWORD lpcbData,
|
||||
[in, out, unique] LPDWORD lpcbLen);
|
||||
|
||||
/* Function 11 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegFlushKey(
|
||||
[in] RPC_HKEY hKey);
|
||||
|
||||
/* Function 12 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegGetKeySecurity(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] SECURITY_INFORMATION SecurityInformation,
|
||||
[in] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorIn,
|
||||
[out] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorOut);
|
||||
|
||||
/* Function 13 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegLoadKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey,
|
||||
[in] PRPC_UNICODE_STRING lpFile);
|
||||
|
||||
/* Function 14 */
|
||||
void
|
||||
__stdcall
|
||||
Opnum14NotImplemented(void);
|
||||
|
||||
/* Function 15 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegOpenKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey,
|
||||
[in] DWORD dwOptions,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phkResult);
|
||||
|
||||
/* Function 16 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegQueryInfoKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpClassIn,
|
||||
[out] PRPC_UNICODE_STRING lpClassOut,
|
||||
[out] LPDWORD lpcSubKeys,
|
||||
[out] LPDWORD lpcbMaxSubKeyLen,
|
||||
[out] LPDWORD lpcbMaxClassLen,
|
||||
[out] LPDWORD lpcValues,
|
||||
[out] LPDWORD lpcbMaxValueNameLen,
|
||||
[out] LPDWORD lpcbMaxValueLen,
|
||||
[out] LPDWORD lpcbSecurityDescriptor,
|
||||
[out] PFILETIME lpftLastWriteTime);
|
||||
|
||||
/* Function 17 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegQueryValue(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpValueName,
|
||||
[in, out, unique] LPDWORD lpType,
|
||||
[in, out, unique, size_is(lpcbData ? *lpcbData : 0), length_is(lpcbLen ? *lpcbLen : 0)] LPBYTE lpData, /* range(0, 0x4000000) */
|
||||
[in, out, unique] LPDWORD lpcbData,
|
||||
[in, out, unique] LPDWORD lpcbLen);
|
||||
|
||||
/* Function 18 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegReplaceKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey,
|
||||
[in] PRPC_UNICODE_STRING lpNewFile,
|
||||
[in] PRPC_UNICODE_STRING lpOldFile);
|
||||
|
||||
/* Function 19 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegRestoreKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpFile,
|
||||
[in] DWORD Flags);
|
||||
|
||||
/* Function 20 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegSaveKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpFile,
|
||||
[in, unique] PRPC_SECURITY_ATTRIBUTES pSecurityAttributes);
|
||||
|
||||
/* Function 21 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegSetKeySecurity(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] SECURITY_INFORMATION SecurityInformation,
|
||||
[in] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptor);
|
||||
|
||||
/* Function 22 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegSetValue(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpValueName,
|
||||
[in] DWORD dwType,
|
||||
[in, size_is(cbData)] LPBYTE lpData,
|
||||
[in] DWORD cbData);
|
||||
|
||||
/* Function 23 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegUnLoadKey(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey);
|
||||
|
||||
/* Function 24 */
|
||||
ULONG
|
||||
__stdcall
|
||||
BaseInitiateSystemShutdown(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in, unique] PRPC_UNICODE_STRING lpMessage,
|
||||
[in] ULONG dwTimeout,
|
||||
[in] BOOLEAN bForceAppsClosed,
|
||||
[in] BOOLEAN bRebootAfterShutdown);
|
||||
|
||||
/* Function 25 */
|
||||
ULONG
|
||||
__stdcall
|
||||
BaseAbortSystemShutdown(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName);
|
||||
|
||||
/* Function 26 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegGetVersion(
|
||||
[in] RPC_HKEY hKey,
|
||||
[out] LPDWORD lpdwVersion);
|
||||
|
||||
/* Function 27 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenCurrentConfig(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 28 */
|
||||
void
|
||||
__stdcall
|
||||
Opnum28NotImplemented(void);
|
||||
|
||||
/* Function 29 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegQueryMultipleValues(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in, size_is(num_vals), length_is(num_vals)] PRVALENT val_listIn,
|
||||
[out, size_is(num_vals), length_is(num_vals)] PRVALENT val_listOut,
|
||||
[in] DWORD num_vals,
|
||||
[in, out, unique, size_is(*ldwTotsize), length_is(*ldwTotsize)] char *lpvalueBuf,
|
||||
[in, out, ref] LPDWORD ldwTotsize);
|
||||
|
||||
/* Function 30 */
|
||||
ULONG
|
||||
__stdcall
|
||||
BaseInitiateSystemShutdownEx(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in, unique] PRPC_UNICODE_STRING lpMessage,
|
||||
[in] ULONG dwTimeout,
|
||||
[in] BOOLEAN bForceAppsClosed,
|
||||
[in] BOOLEAN bRebootAfterShutdown,
|
||||
[in] ULONG dwReason);
|
||||
|
||||
/* Function 31 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegSaveKeyEx(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpFile,
|
||||
[in, unique] PRPC_SECURITY_ATTRIBUTES pSecurityAttributes,
|
||||
[in] DWORD Flags);
|
||||
|
||||
/* Function 32 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenPerformanceText(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 33 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
OpenPerformanceNlsText(
|
||||
[in, unique] PREGISTRY_SERVER_NAME ServerName,
|
||||
[in] REGSAM samDesired,
|
||||
[out] PRPC_HKEY phKey);
|
||||
|
||||
/* Function 34 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegQueryMultipleValues2(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in, size_is(num_vals), length_is(num_vals)] PRVALENT val_listIn,
|
||||
[out, size_is(num_vals), length_is(num_vals)] PRVALENT val_listOut,
|
||||
[in] DWORD num_vals,
|
||||
[in, out, unique, size_is(*ldwTotsize), length_is(*ldwTotsize)] char *lpvalueBuf,
|
||||
[in] LPDWORD ldwTotsize,
|
||||
[out] LPDWORD ldwRequiredSize);
|
||||
|
||||
/* Function 35 */
|
||||
error_status_t
|
||||
__stdcall
|
||||
BaseRegDeleteKeyEx(
|
||||
[in] RPC_HKEY hKey,
|
||||
[in] PRPC_UNICODE_STRING lpSubKey,
|
||||
[in] REGSAM AccessMask,
|
||||
[in] DWORD Reserved);
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
typedef [context_handle] PVOID WLANSVC_RPC_HANDLE;
|
||||
typedef WLANSVC_RPC_HANDLE* LPWLANSVC_RPC_HANDLE;
|
||||
typedef [handle] LPWSTR WLANSVC_HANDLE;
|
||||
typedef [handle, string] LPWSTR WLANSVC_HANDLE;
|
||||
|
||||
/* FIXME */
|
||||
typedef struct struct_C {
|
||||
@@ -49,8 +49,8 @@ interface wlansvc_interface
|
||||
DWORD _RpcOpenHandle(
|
||||
[in] WLANSVC_HANDLE szMachineName,
|
||||
[in] DWORD dwClientVersion,
|
||||
[in, out] DWORD* pdwNegotiatedVersion,
|
||||
[in, out] LPWLANSVC_RPC_HANDLE phClientHandle);
|
||||
[out] DWORD* pdwNegotiatedVersion,
|
||||
[out] LPWLANSVC_RPC_HANDLE phClientHandle);
|
||||
|
||||
/* Function: 0x01 */
|
||||
DWORD _RpcCloseHandle(
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Fast486 386/486 CPU Emulation Library
|
||||
* fast486.h
|
||||
*
|
||||
* Copyright (C) 2013 Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
|
||||
* Copyright (C) 2014 Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
@@ -75,14 +75,15 @@
|
||||
#define FAST486_DR4_RESERVED 0xFFFF1FF0
|
||||
#define FAST486_DR5_RESERVED 0x0000DC00
|
||||
|
||||
#define FAST486_IDT_TASK_GATE 0x5
|
||||
#define FAST486_IDT_INT_GATE 0x6
|
||||
#define FAST486_IDT_TRAP_GATE 0x7
|
||||
#define FAST486_IDT_INT_GATE_32 0xE
|
||||
#define FAST486_IDT_TRAP_GATE_32 0xF
|
||||
|
||||
#define FAST486_LDT_SIGNATURE 0x02
|
||||
#define FAST486_TSS_SIGNATURE 0x09
|
||||
#define FAST486_LDT_SIGNATURE 0x02
|
||||
#define FAST486_TASK_GATE_SIGNATURE 0x05
|
||||
#define FAST486_IDT_INT_GATE 0x06
|
||||
#define FAST486_IDT_TRAP_GATE 0x07
|
||||
#define FAST486_TSS_SIGNATURE 0x09
|
||||
#define FAST486_BUSY_TSS_SIGNATURE 0x0B
|
||||
#define FAST486_CALL_GATE_SIGNATURE 0x0C
|
||||
#define FAST486_IDT_INT_GATE_32 0x0E
|
||||
#define FAST486_IDT_TRAP_GATE_32 0x0F
|
||||
|
||||
#define FAST486_PREFIX_SEG (1 << 0)
|
||||
#define FAST486_PREFIX_OPSIZE (1 << 1)
|
||||
@@ -91,6 +92,20 @@
|
||||
#define FAST486_PREFIX_REPNZ (1 << 4)
|
||||
#define FAST486_PREFIX_REP (1 << 5)
|
||||
|
||||
#define FAST486_FPU_DEFAULT_CONTROL 0x037F
|
||||
|
||||
#define FAST486_PAGE_SIZE 4096
|
||||
#define FAST486_CACHE_SIZE 32
|
||||
|
||||
/*
|
||||
* These are condiciones sine quibus non that should be respected, because
|
||||
* otherwise when fetching DWORDs you would read extra garbage bytes
|
||||
* (by reading outside of the prefetch buffer). The prefetch cache must
|
||||
* also not cross a page boundary.
|
||||
*/
|
||||
C_ASSERT((FAST486_CACHE_SIZE >= sizeof(DWORD))
|
||||
&& (FAST486_CACHE_SIZE <= FAST486_PAGE_SIZE));
|
||||
|
||||
struct _FAST486_STATE;
|
||||
typedef struct _FAST486_STATE FAST486_STATE, *PFAST486_STATE;
|
||||
|
||||
@@ -155,14 +170,6 @@ typedef enum _FAST486_EXCEPTIONS
|
||||
FAST486_EXCEPTION_MC = 0x12
|
||||
} FAST486_EXCEPTIONS, *PFAST486_EXCEPTIONS;
|
||||
|
||||
typedef enum _FAST486_INT_STATUS
|
||||
{
|
||||
FAST486_INT_NONE = 0,
|
||||
FAST486_INT_EXECUTE = 1,
|
||||
FAST486_INT_SIGNAL = 2,
|
||||
FAST486_INT_DELAYED = 3
|
||||
} FAST486_INT_STATUS, *PFAST486_INT_STATUS;
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(NTAPI *FAST486_MEM_READ_PROC)
|
||||
@@ -188,7 +195,7 @@ VOID
|
||||
(NTAPI *FAST486_IO_READ_PROC)
|
||||
(
|
||||
PFAST486_STATE State,
|
||||
ULONG Port,
|
||||
USHORT Port,
|
||||
PVOID Buffer,
|
||||
ULONG DataCount,
|
||||
UCHAR DataSize
|
||||
@@ -199,19 +206,12 @@ VOID
|
||||
(NTAPI *FAST486_IO_WRITE_PROC)
|
||||
(
|
||||
PFAST486_STATE State,
|
||||
ULONG Port,
|
||||
USHORT Port,
|
||||
PVOID Buffer,
|
||||
ULONG DataCount,
|
||||
UCHAR DataSize
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(NTAPI *FAST486_IDLE_PROC)
|
||||
(
|
||||
PFAST486_STATE State
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(NTAPI *FAST486_BOP_PROC)
|
||||
@@ -259,22 +259,21 @@ typedef struct _FAST486_SEG_REG
|
||||
ULONG Base;
|
||||
} FAST486_SEG_REG, *PFAST486_SEG_REG;
|
||||
|
||||
typedef struct
|
||||
typedef struct _FAST486_LDT_REG
|
||||
{
|
||||
USHORT Selector;
|
||||
ULONG Base;
|
||||
ULONG Limit;
|
||||
} FAST486_LDT_REG;
|
||||
} FAST486_LDT_REG, *PFAST486_LDT_REG;
|
||||
|
||||
typedef struct
|
||||
typedef struct _FAST486_TASK_REG
|
||||
{
|
||||
USHORT Selector;
|
||||
ULONG Base;
|
||||
ULONG Limit;
|
||||
BOOLEAN Busy;
|
||||
} FAST486_TASK_REG, *PFAST486_TASK_REG;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
#include <pshpack1.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -348,7 +347,7 @@ typedef struct
|
||||
/* Verify the structure size */
|
||||
C_ASSERT(sizeof(FAST486_IDT_ENTRY) == sizeof(ULONGLONG));
|
||||
|
||||
#pragma pack(pop)
|
||||
#include <poppack.h>
|
||||
|
||||
typedef struct _FAST486_TABLE_REG
|
||||
{
|
||||
@@ -420,6 +419,7 @@ typedef struct _FAST486_FPU_DATA_REG
|
||||
{
|
||||
ULONGLONG Mantissa;
|
||||
USHORT Exponent;
|
||||
UCHAR Sign;
|
||||
} FAST486_FPU_DATA_REG, *PFAST486_FPU_DATA_REG;
|
||||
|
||||
typedef union _FAST486_FPU_STATUS_REG
|
||||
@@ -471,7 +471,6 @@ struct _FAST486_STATE
|
||||
FAST486_MEM_WRITE_PROC MemWriteCallback;
|
||||
FAST486_IO_READ_PROC IoReadCallback;
|
||||
FAST486_IO_WRITE_PROC IoWriteCallback;
|
||||
FAST486_IDLE_PROC IdleCallback;
|
||||
FAST486_BOP_PROC BopCallback;
|
||||
FAST486_INT_ACK_PROC IntAckCallback;
|
||||
FAST486_REG GeneralRegs[FAST486_NUM_GEN_REGS];
|
||||
@@ -487,13 +486,21 @@ struct _FAST486_STATE
|
||||
ULONG ExceptionCount;
|
||||
ULONG PrefixFlags;
|
||||
FAST486_SEG_REGS SegmentOverride;
|
||||
FAST486_INT_STATUS IntStatus;
|
||||
UCHAR PendingIntNum;
|
||||
BOOLEAN Halted;
|
||||
BOOLEAN IntSignaled;
|
||||
BOOLEAN DoNotInterrupt;
|
||||
PULONG Tlb;
|
||||
#ifndef FAST486_NO_PREFETCH
|
||||
BOOLEAN PrefetchValid;
|
||||
ULONG PrefetchAddress;
|
||||
UCHAR PrefetchCache[FAST486_CACHE_SIZE];
|
||||
#endif
|
||||
#ifndef FAST486_NO_FPU
|
||||
FAST486_FPU_DATA_REG FpuRegisters[FAST486_NUM_FPU_REGS];
|
||||
FAST486_FPU_STATUS_REG FpuStatus;
|
||||
FAST486_FPU_CONTROL_REG FpuControl;
|
||||
USHORT FpuTag;
|
||||
#endif
|
||||
};
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
@@ -505,7 +512,6 @@ Fast486Initialize(PFAST486_STATE State,
|
||||
FAST486_MEM_WRITE_PROC MemWriteCallback,
|
||||
FAST486_IO_READ_PROC IoReadCallback,
|
||||
FAST486_IO_WRITE_PROC IoWriteCallback,
|
||||
FAST486_IDLE_PROC IdleCallback,
|
||||
FAST486_BOP_PROC BopCallback,
|
||||
FAST486_INT_ACK_PROC IntAckCallback,
|
||||
PULONG Tlb);
|
||||
@@ -534,10 +540,6 @@ VOID
|
||||
NTAPI
|
||||
Fast486DumpState(PFAST486_STATE State);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
Fast486Interrupt(PFAST486_STATE State, UCHAR Number);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
Fast486InterruptSignal(PFAST486_STATE State);
|
||||
|
||||
@@ -98,7 +98,9 @@ XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartDocument (void *ctx);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EndDocument (void *ctx);
|
||||
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
|
||||
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
|
||||
defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
|
||||
defined(LIBXML_LEGACY_ENABLED)
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartElement (void *ctx,
|
||||
const xmlChar *fullname,
|
||||
@@ -106,7 +108,7 @@ XMLPUBFUN void XMLCALL
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2EndElement (void *ctx,
|
||||
const xmlChar *name);
|
||||
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
|
||||
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSAX2StartElementNs (void *ctx,
|
||||
const xmlChar *localname,
|
||||
|
||||
@@ -57,7 +57,7 @@ struct _xmlEntity {
|
||||
const xmlChar *URI; /* the full URI as computed */
|
||||
int owner; /* does the entity own the childrens */
|
||||
int checked; /* was the entity content checked */
|
||||
/* this is also used to count entites
|
||||
/* this is also used to count entities
|
||||
* references done from that entity
|
||||
* and if it contains '<' */
|
||||
};
|
||||
@@ -103,7 +103,7 @@ XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetPredefinedEntity (const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetDocEntity (xmlDocPtr doc,
|
||||
xmlGetDocEntity (const xmlDoc *doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlEntityPtr XMLCALL
|
||||
xmlGetDtdEntity (xmlDocPtr doc,
|
||||
@@ -120,7 +120,7 @@ XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlEncodeEntitiesReentrant(xmlDocPtr doc,
|
||||
const xmlChar *input);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlEncodeSpecialChars (xmlDocPtr doc,
|
||||
xmlEncodeSpecialChars (const xmlDoc *doc,
|
||||
const xmlChar *input);
|
||||
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
|
||||
xmlCreateEntitiesTable (void);
|
||||
|
||||
@@ -39,7 +39,9 @@ XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
|
||||
* Returns the new xmlParserInputBufferPtr in case of success or NULL if no
|
||||
* method was found.
|
||||
*/
|
||||
typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
|
||||
typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
|
||||
xmlCharEncoding enc);
|
||||
|
||||
|
||||
/**
|
||||
* xmlOutputBufferCreateFilenameFunc:
|
||||
@@ -52,7 +54,9 @@ typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const
|
||||
* Returns the new xmlOutputBufferPtr in case of success or NULL if no
|
||||
* method was found.
|
||||
*/
|
||||
typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
|
||||
typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
|
||||
xmlCharEncodingHandlerPtr encoder,
|
||||
int compression);
|
||||
|
||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
|
||||
XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
|
||||
@@ -185,7 +189,8 @@ XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregi
|
||||
XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
|
||||
xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
|
||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
|
||||
xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
|
||||
xmlThrDefParserInputBufferCreateFilenameDefault(
|
||||
xmlParserInputBufferCreateFilenameFunc func);
|
||||
|
||||
/** DOC_DISABLE */
|
||||
/*
|
||||
@@ -297,7 +302,8 @@ XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
|
||||
#else
|
||||
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
|
||||
#endif
|
||||
XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
|
||||
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
|
||||
xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
|
||||
|
||||
XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
|
||||
#ifdef LIBXML_THREAD_ENABLED
|
||||
@@ -479,7 +485,8 @@ XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
|
||||
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
|
||||
#endif
|
||||
|
||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
|
||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
|
||||
__xmlParserInputBufferCreateFilenameValue(void);
|
||||
#ifdef LIBXML_THREAD_ENABLED
|
||||
#define xmlParserInputBufferCreateFilenameValue \
|
||||
(*(__xmlParserInputBufferCreateFilenameValue()))
|
||||
|
||||
@@ -32,7 +32,9 @@ typedef xmlRelaxNG *xmlRelaxNGPtr;
|
||||
*
|
||||
* Signature of an error callback from a Relax-NG validation
|
||||
*/
|
||||
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
|
||||
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
|
||||
const char *msg,
|
||||
...) LIBXML_ATTR_FORMAT(2,3);
|
||||
|
||||
/**
|
||||
* xmlRelaxNGValidityWarningFunc:
|
||||
@@ -42,7 +44,9 @@ typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg
|
||||
*
|
||||
* Signature of a warning callback from a Relax-NG validation
|
||||
*/
|
||||
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
|
||||
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
|
||||
const char *msg,
|
||||
...) LIBXML_ATTR_FORMAT(2,3);
|
||||
|
||||
/**
|
||||
* A schemas validation context
|
||||
|
||||
@@ -116,8 +116,8 @@ typedef xmlBuf *xmlBufPtr;
|
||||
* A few public routines for xmlBuf. As those are expected to be used
|
||||
* mostly internally the bulk of the routines are internal in buf.h
|
||||
*/
|
||||
XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBufPtr buf);
|
||||
XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (const xmlBufPtr buf);
|
||||
XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBuf* buf);
|
||||
XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (xmlBufPtr buf);
|
||||
XMLPUBFUN size_t XMLCALL xmlBufUse (const xmlBufPtr buf);
|
||||
XMLPUBFUN size_t XMLCALL xmlBufShrink (xmlBufPtr buf, size_t len);
|
||||
|
||||
@@ -654,7 +654,11 @@ struct _xmlDOMWrapCtxt {
|
||||
/*
|
||||
* Some helper functions
|
||||
*/
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
|
||||
defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
|
||||
defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
|
||||
defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
|
||||
defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlValidateNCName (const xmlChar *value,
|
||||
int space);
|
||||
@@ -731,14 +735,14 @@ XMLPUBFUN int XMLCALL
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlBufferEmpty (xmlBufferPtr buf);
|
||||
XMLPUBFUN const xmlChar* XMLCALL
|
||||
xmlBufferContent (const xmlBufferPtr buf);
|
||||
xmlBufferContent (const xmlBuffer *buf);
|
||||
XMLPUBFUN xmlChar* XMLCALL
|
||||
xmlBufferDetach (xmlBufferPtr buf);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlBufferSetAllocationScheme(xmlBufferPtr buf,
|
||||
xmlBufferAllocationScheme scheme);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlBufferLength (const xmlBufferPtr buf);
|
||||
xmlBufferLength (const xmlBuffer *buf);
|
||||
|
||||
/*
|
||||
* Creating/freeing new structures.
|
||||
@@ -754,7 +758,7 @@ XMLPUBFUN xmlDtdPtr XMLCALL
|
||||
const xmlChar *ExternalID,
|
||||
const xmlChar *SystemID);
|
||||
XMLPUBFUN xmlDtdPtr XMLCALL
|
||||
xmlGetIntSubset (xmlDocPtr doc);
|
||||
xmlGetIntSubset (const xmlDoc *doc);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlFreeDtd (xmlDtdPtr cur);
|
||||
#ifdef LIBXML_LEGACY_ENABLED
|
||||
@@ -842,7 +846,7 @@ XMLPUBFUN xmlNodePtr XMLCALL
|
||||
const xmlChar *content);
|
||||
#endif
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNewDocText (xmlDocPtr doc,
|
||||
xmlNewDocText (const xmlDoc *doc,
|
||||
const xmlChar *content);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNewText (const xmlChar *content);
|
||||
@@ -873,20 +877,20 @@ XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNewCharRef (xmlDocPtr doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNewReference (xmlDocPtr doc,
|
||||
xmlNewReference (const xmlDoc *doc,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlCopyNode (const xmlNodePtr node,
|
||||
xmlCopyNode (xmlNodePtr node,
|
||||
int recursive);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlDocCopyNode (const xmlNodePtr node,
|
||||
xmlDocCopyNode (xmlNodePtr node,
|
||||
xmlDocPtr doc,
|
||||
int recursive);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlDocCopyNodeList (xmlDocPtr doc,
|
||||
const xmlNodePtr node);
|
||||
xmlNodePtr node);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlCopyNodeList (const xmlNodePtr node);
|
||||
xmlCopyNodeList (xmlNodePtr node);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNewTextChild (xmlNodePtr parent,
|
||||
@@ -906,19 +910,19 @@ XMLPUBFUN xmlNodePtr XMLCALL
|
||||
* Navigating.
|
||||
*/
|
||||
XMLPUBFUN long XMLCALL
|
||||
xmlGetLineNo (xmlNodePtr node);
|
||||
xmlGetLineNo (const xmlNode *node);
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlGetNodePath (xmlNodePtr node);
|
||||
xmlGetNodePath (const xmlNode *node);
|
||||
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlDocGetRootElement (xmlDocPtr doc);
|
||||
xmlDocGetRootElement (const xmlDoc *doc);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlGetLastChild (xmlNodePtr parent);
|
||||
xmlGetLastChild (const xmlNode *parent);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNodeIsText (xmlNodePtr node);
|
||||
xmlNodeIsText (const xmlNode *node);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlIsBlankNode (xmlNodePtr node);
|
||||
xmlIsBlankNode (const xmlNode *node);
|
||||
|
||||
/*
|
||||
* Changing the structure.
|
||||
@@ -945,7 +949,7 @@ XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlNodePtr cur);
|
||||
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
|
||||
defined(LIBXML_SCHEMAS_ENABLED)
|
||||
defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlAddPrevSibling (xmlNodePtr cur,
|
||||
xmlNodePtr elem);
|
||||
@@ -986,10 +990,11 @@ XMLPUBFUN xmlNsPtr XMLCALL
|
||||
xmlSearchNsByHref (xmlDocPtr doc,
|
||||
xmlNodePtr node,
|
||||
const xmlChar *href);
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
|
||||
defined(LIBXML_SCHEMAS_ENABLED)
|
||||
XMLPUBFUN xmlNsPtr * XMLCALL
|
||||
xmlGetNsList (xmlDocPtr doc,
|
||||
xmlNodePtr node);
|
||||
xmlGetNsList (const xmlDoc *doc,
|
||||
const xmlNode *node);
|
||||
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
|
||||
|
||||
XMLPUBFUN void XMLCALL
|
||||
@@ -1003,7 +1008,8 @@ XMLPUBFUN xmlNsPtr XMLCALL
|
||||
/*
|
||||
* Changing the content.
|
||||
*/
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
|
||||
defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
|
||||
XMLPUBFUN xmlAttrPtr XMLCALL
|
||||
xmlSetProp (xmlNodePtr node,
|
||||
const xmlChar *name,
|
||||
@@ -1013,39 +1019,40 @@ XMLPUBFUN xmlAttrPtr XMLCALL
|
||||
xmlNsPtr ns,
|
||||
const xmlChar *name,
|
||||
const xmlChar *value);
|
||||
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
|
||||
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
|
||||
defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlGetNoNsProp (xmlNodePtr node,
|
||||
xmlGetNoNsProp (const xmlNode *node,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlGetProp (xmlNodePtr node,
|
||||
xmlGetProp (const xmlNode *node,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlAttrPtr XMLCALL
|
||||
xmlHasProp (xmlNodePtr node,
|
||||
xmlHasProp (const xmlNode *node,
|
||||
const xmlChar *name);
|
||||
XMLPUBFUN xmlAttrPtr XMLCALL
|
||||
xmlHasNsProp (xmlNodePtr node,
|
||||
xmlHasNsProp (const xmlNode *node,
|
||||
const xmlChar *name,
|
||||
const xmlChar *nameSpace);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlGetNsProp (xmlNodePtr node,
|
||||
xmlGetNsProp (const xmlNode *node,
|
||||
const xmlChar *name,
|
||||
const xmlChar *nameSpace);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlStringGetNodeList (xmlDocPtr doc,
|
||||
xmlStringGetNodeList (const xmlDoc *doc,
|
||||
const xmlChar *value);
|
||||
XMLPUBFUN xmlNodePtr XMLCALL
|
||||
xmlStringLenGetNodeList (xmlDocPtr doc,
|
||||
xmlStringLenGetNodeList (const xmlDoc *doc,
|
||||
const xmlChar *value,
|
||||
int len);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNodeListGetString (xmlDocPtr doc,
|
||||
xmlNodePtr list,
|
||||
const xmlNode *list,
|
||||
int inLine);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNodeListGetRawString (xmlDocPtr doc,
|
||||
xmlNodePtr list,
|
||||
xmlNodeListGetRawString (const xmlDoc *doc,
|
||||
const xmlNode *list,
|
||||
int inLine);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN void XMLCALL
|
||||
@@ -1065,19 +1072,19 @@ XMLPUBFUN void XMLCALL
|
||||
const xmlChar *content,
|
||||
int len);
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNodeGetContent (xmlNodePtr cur);
|
||||
xmlNodeGetContent (const xmlNode *cur);
|
||||
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNodeBufGetContent (xmlBufferPtr buffer,
|
||||
xmlNodePtr cur);
|
||||
const xmlNode *cur);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlBufGetNodeContent (xmlBufPtr buf,
|
||||
xmlNodePtr cur);
|
||||
const xmlNode *cur);
|
||||
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNodeGetLang (xmlNodePtr cur);
|
||||
xmlNodeGetLang (const xmlNode *cur);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlNodeGetSpacePreserve (xmlNodePtr cur);
|
||||
xmlNodeGetSpacePreserve (const xmlNode *cur);
|
||||
#ifdef LIBXML_TREE_ENABLED
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNodeSetLang (xmlNodePtr cur,
|
||||
@@ -1087,8 +1094,8 @@ XMLPUBFUN void XMLCALL
|
||||
int val);
|
||||
#endif /* LIBXML_TREE_ENABLED */
|
||||
XMLPUBFUN xmlChar * XMLCALL
|
||||
xmlNodeGetBase (xmlDocPtr doc,
|
||||
xmlNodePtr cur);
|
||||
xmlNodeGetBase (const xmlDoc *doc,
|
||||
const xmlNode *cur);
|
||||
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlNodeSetBase (xmlNodePtr cur,
|
||||
@@ -1234,7 +1241,7 @@ XMLPUBFUN int XMLCALL
|
||||
* Compression.
|
||||
*/
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlGetDocCompressMode (xmlDocPtr doc);
|
||||
xmlGetDocCompressMode (const xmlDoc *doc);
|
||||
XMLPUBFUN void XMLCALL
|
||||
xmlSetDocCompressMode (xmlDocPtr doc,
|
||||
int mode);
|
||||
|
||||
@@ -209,7 +209,7 @@ XMLPUBFUN int XMLCALL
|
||||
|
||||
xmlParserInputBufferPtr
|
||||
__xmlParserInputBufferCreateFilename(const char *URI,
|
||||
xmlCharEncoding enc);
|
||||
xmlCharEncoding enc);
|
||||
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
/*
|
||||
|
||||
@@ -86,7 +86,7 @@ struct _xmlError {
|
||||
char *str2; /* extra string information */
|
||||
char *str3; /* extra string information */
|
||||
int int1; /* extra number information */
|
||||
int int2; /* column number of the error or 0 if N/A (todo: rename this field when we would break ABI) */
|
||||
int int2; /* error column # or 0 if N/A (todo: rename field when we would brk ABI) */
|
||||
void *ctxt; /* the parser context if available */
|
||||
void *node; /* the node in the tree */
|
||||
};
|
||||
|
||||
@@ -29,21 +29,21 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
|
||||
*
|
||||
* the version string like "1.2.3"
|
||||
*/
|
||||
#define LIBXML_DOTTED_VERSION "2.9.1"
|
||||
#define LIBXML_DOTTED_VERSION "2.9.2"
|
||||
|
||||
/**
|
||||
* LIBXML_VERSION:
|
||||
*
|
||||
* the version number: 1.2.3 value is 10203
|
||||
*/
|
||||
#define LIBXML_VERSION 20901
|
||||
#define LIBXML_VERSION 20902
|
||||
|
||||
/**
|
||||
* LIBXML_VERSION_STRING:
|
||||
*
|
||||
* the version number string, 1.2.3 value is "10203"
|
||||
*/
|
||||
#define LIBXML_VERSION_STRING "20901"
|
||||
#define LIBXML_VERSION_STRING "20902"
|
||||
|
||||
/**
|
||||
* LIBXML_VERSION_EXTRA:
|
||||
@@ -58,7 +58,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
|
||||
* Macro to check that the libxml version in use is compatible with
|
||||
* the version the software has been compiled against
|
||||
*/
|
||||
#define LIBXML_TEST_VERSION xmlCheckVersion(20901);
|
||||
#define LIBXML_TEST_VERSION xmlCheckVersion(20902);
|
||||
|
||||
#ifndef VMS
|
||||
#if 0
|
||||
|
||||
@@ -1128,7 +1128,7 @@ Language=English
|
||||
Run a system diagnostic utility supplied by your hardware manufacturer.
|
||||
In particular, run a memory check, and check for faulty or mismatched
|
||||
memory. Try changing video adapters.
|
||||
|
||||
|
||||
Disable or remove any newly installed hardware and drivers. Disable or
|
||||
remove any newly installed software. If you need to use Safe Mode to
|
||||
remove or disable components, restart your computer, press F8 to select
|
||||
@@ -1322,7 +1322,7 @@ Facility=System
|
||||
SymbolicName=DRIVER_CORRUPTED_EXPOOL
|
||||
Language=English
|
||||
A device driver has pool.
|
||||
|
||||
|
||||
Check to make sure any new hardware or software is properly installed.
|
||||
If this is a new installation, ask your hardware or software manufacturer
|
||||
for any ReactOS updates you might need.
|
||||
@@ -1374,6 +1374,22 @@ Language=English
|
||||
DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
|
||||
.
|
||||
|
||||
MessageId=0xCC
|
||||
Severity=Success
|
||||
Facility=System
|
||||
SymbolicName=PAGE_FAULT_IN_FREED_SPECIAL_POOL
|
||||
Language=English
|
||||
PAGE_FAULT_IN_FREED_SPECIAL_POOL
|
||||
.
|
||||
|
||||
MessageId=0xCD
|
||||
Severity=Success
|
||||
Facility=System
|
||||
SymbolicName=PAGE_FAULT_BEYOND_END_OF_ALLOCATION
|
||||
Language=English
|
||||
PAGE_FAULT_BEYOND_END_OF_ALLOCATION
|
||||
.
|
||||
|
||||
MessageId=0xCE
|
||||
Severity=Success
|
||||
Facility=System
|
||||
@@ -1406,6 +1422,22 @@ Language=English
|
||||
The driver mistakenly marked a part of its image pageable instead of non-pageable.
|
||||
.
|
||||
|
||||
MessageId=0xD5
|
||||
Severity=Success
|
||||
Facility=System
|
||||
SymbolicName=DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL
|
||||
Language=English
|
||||
DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL
|
||||
.
|
||||
|
||||
MessageId=0xD6
|
||||
Severity=Success
|
||||
Facility=System
|
||||
SymbolicName=DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
|
||||
Language=English
|
||||
DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
|
||||
.
|
||||
|
||||
MessageId=0xD7
|
||||
Severity=Success
|
||||
Facility=System
|
||||
@@ -1478,7 +1510,7 @@ If Parameter1 == 0, an executive worker item was found in memory which
|
||||
must not contain such items. Usually this is memory being freed. This
|
||||
is usually caused by a device driver that has not cleaned up properly
|
||||
before freeing memory.
|
||||
|
||||
|
||||
If Parameter1 == 1, an attempt was made to queue an executive worker item
|
||||
with a usermode execution routine.
|
||||
.
|
||||
@@ -1570,3 +1602,11 @@ SymbolicName=ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
|
||||
Language=English
|
||||
An attempt was made to execute to non-executable memory.
|
||||
.
|
||||
|
||||
MessageId=0x139
|
||||
Severity=Success
|
||||
Facility=System
|
||||
SymbolicName=KERNEL_SECURITY_CHECK_FAILURE
|
||||
Language=English
|
||||
A critical kernel security check failed.
|
||||
.
|
||||
|
||||
@@ -180,7 +180,7 @@ Language=English
|
||||
The %1 service depends on the following nonexistent service: %2
|
||||
.
|
||||
|
||||
MessageId=7004
|
||||
MessageId=7005
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_CALL_TO_FUNCTION_FAILED
|
||||
@@ -188,7 +188,7 @@ Language=English
|
||||
The %1 call failed with the following error: %n%2
|
||||
.
|
||||
|
||||
MessageId=7005
|
||||
MessageId=7006
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_CALL_TO_FUNCTION_FAILED_II
|
||||
@@ -196,7 +196,7 @@ Language=English
|
||||
The %1 call failed for %2 with the following error: %n%3
|
||||
.
|
||||
|
||||
MessageId=7006
|
||||
MessageId=7007
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_REVERTED_TO_LASTKNOWNGOOD
|
||||
@@ -204,7 +204,7 @@ Language=English
|
||||
The system reverted to its last known good configuration. The system is restarting....
|
||||
.
|
||||
|
||||
MessageId=7007
|
||||
MessageId=7008
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_BAD_ACCOUNT_NAME
|
||||
@@ -212,7 +212,7 @@ Language=English
|
||||
No backslash is in the account name.
|
||||
.
|
||||
|
||||
MessageId=7008
|
||||
MessageId=7009
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_CONNECTION_TIMEOUT
|
||||
@@ -220,7 +220,7 @@ Language=English
|
||||
Timeout (%1 milliseconds) waiting for the %2 service to connect.
|
||||
.
|
||||
|
||||
MessageId=7009
|
||||
MessageId=7010
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_READFILE_TIMEOUT
|
||||
@@ -228,7 +228,7 @@ Language=English
|
||||
Timeout (%1 milliseconds) waiting for ReadFile.
|
||||
.
|
||||
|
||||
MessageId=7010
|
||||
MessageId=7011
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_TRANSACT_TIMEOUT
|
||||
@@ -236,7 +236,7 @@ Language=English
|
||||
Timeout (%1 milliseconds) waiting for a transaction response from the %2 service.
|
||||
.
|
||||
|
||||
MessageId=7011
|
||||
MessageId=7012
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_TRANSACT_INVALID
|
||||
@@ -244,7 +244,7 @@ Language=English
|
||||
Message returned in transaction has incorrect size.
|
||||
.
|
||||
|
||||
MessageId=7012
|
||||
MessageId=7013
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_FIRST_LOGON_FAILED
|
||||
@@ -252,7 +252,7 @@ Language=English
|
||||
Logon attempt with current password failed with the following error: %n%1
|
||||
.
|
||||
|
||||
MessageId=7013
|
||||
MessageId=7014
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SECOND_LOGON_FAILED
|
||||
@@ -260,7 +260,7 @@ Language=English
|
||||
Second logon attempt with old password also failed with the following error: %n%1
|
||||
.
|
||||
|
||||
MessageId=7014
|
||||
MessageId=7015
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_INVALID_DRIVER_DEPENDENCY
|
||||
@@ -268,7 +268,7 @@ Language=English
|
||||
Boot-start or system-start driver (%1) must not depend on a service.
|
||||
.
|
||||
|
||||
MessageId=7015
|
||||
MessageId=7016
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_BAD_SERVICE_STATE
|
||||
@@ -276,7 +276,7 @@ Language=English
|
||||
The %1 service has reported an invalid current state %2.
|
||||
.
|
||||
|
||||
MessageId=7016
|
||||
MessageId=7017
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_CIRCULAR_DEPENDENCY_DEMAND
|
||||
@@ -284,7 +284,7 @@ Language=English
|
||||
Detected circular dependencies demand starting %1.
|
||||
.
|
||||
|
||||
MessageId=7017
|
||||
MessageId=7018
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_CIRCULAR_DEPENDENCY_AUTO
|
||||
@@ -292,7 +292,7 @@ Language=English
|
||||
Detected circular dependencies auto-starting services.
|
||||
.
|
||||
|
||||
MessageId=7018
|
||||
MessageId=7019
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_DEPEND_ON_LATER_SERVICE
|
||||
@@ -300,7 +300,7 @@ Language=English
|
||||
Circular dependency: The %1 service depends on a service in a group which starts later.
|
||||
.
|
||||
|
||||
MessageId=7019
|
||||
MessageId=7020
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_DEPEND_ON_LATER_GROUP
|
||||
@@ -308,7 +308,7 @@ Language=English
|
||||
Circular dependency: The %1 service depends on a group which starts later.
|
||||
.
|
||||
|
||||
MessageId=7020
|
||||
MessageId=7021
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SEVERE_SERVICE_FAILED
|
||||
@@ -316,7 +316,7 @@ Language=English
|
||||
About to revert to the last known good configuration because the %1 service failed to start.
|
||||
.
|
||||
|
||||
MessageId=7021
|
||||
MessageId=7022
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_START_HUNG
|
||||
@@ -324,7 +324,7 @@ Language=English
|
||||
The %1 service hung on starting.
|
||||
.
|
||||
|
||||
MessageId=7022
|
||||
MessageId=7023
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_EXIT_FAILED
|
||||
@@ -332,7 +332,7 @@ Language=English
|
||||
The %1 service terminated with the following error: %n%2
|
||||
.
|
||||
|
||||
MessageId=7023
|
||||
MessageId=7024
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_EXIT_FAILED_SPECIFIC
|
||||
@@ -340,7 +340,7 @@ Language=English
|
||||
The %1 service terminated with service-specific error %2.
|
||||
.
|
||||
|
||||
MessageId=7024
|
||||
MessageId=7025
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_START_AT_BOOT_FAILED
|
||||
@@ -348,7 +348,7 @@ Language=English
|
||||
At least one service or driver failed during system startup. Use Event Viewer to examine the event log for details.
|
||||
.
|
||||
|
||||
MessageId=7025
|
||||
MessageId=7026
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_BOOT_SYSTEM_DRIVERS_FAILED
|
||||
@@ -356,7 +356,7 @@ Language=English
|
||||
The following boot-start or system-start driver(s) failed to load: %1
|
||||
.
|
||||
|
||||
MessageId=7026
|
||||
MessageId=7027
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_RUNNING_LASTKNOWNGOOD
|
||||
@@ -364,7 +364,7 @@ Language=English
|
||||
ReactOS could not be started as configured. A previous working configuration was used instead.
|
||||
.
|
||||
|
||||
MessageId=7027
|
||||
MessageId=7028
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_TAKE_OWNERSHIP
|
||||
@@ -372,7 +372,7 @@ Language=English
|
||||
The %1 Registry key denied access to SYSTEM account programs so the Service Control Manager took ownership of the Registry key.
|
||||
.
|
||||
|
||||
MessageId=7028
|
||||
MessageId=7029
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=TITLE_SC_MESSAGE_BOX
|
||||
@@ -380,7 +380,7 @@ Language=English
|
||||
Service Control Manager %0
|
||||
.
|
||||
|
||||
MessageId=7029
|
||||
MessageId=7030
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_NOT_INTERACTIVE
|
||||
@@ -388,7 +388,7 @@ Language=English
|
||||
The %1 service is marked as an interactive service. However, the system is configured to not allow interactive services. This service may not function properly.
|
||||
.
|
||||
|
||||
MessageId=7030
|
||||
MessageId=7031
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_CRASH
|
||||
@@ -396,7 +396,7 @@ Language=English
|
||||
The %1 service terminated unexpectedly. It has done this %2 time(s). The following corrective action will be taken in %3 milliseconds: %5.
|
||||
.
|
||||
|
||||
MessageId=7031
|
||||
MessageId=7032
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_RECOVERY_FAILED
|
||||
@@ -404,7 +404,7 @@ Language=English
|
||||
The Service Control Manager tried to take a corrective action (%2) after the unexpected termination of the %3 service, but this action failed with the following error: %n%4
|
||||
.
|
||||
|
||||
MessageId=7032
|
||||
MessageId=7033
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_SCESRV_FAILED
|
||||
@@ -414,7 +414,7 @@ configuration server (scesrv.dll) failed to initialize with error %1. The
|
||||
system is restarting...
|
||||
.
|
||||
|
||||
MessageId=7033
|
||||
MessageId=7034
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_CRASH_NO_ACTION
|
||||
@@ -422,7 +422,7 @@ Language=English
|
||||
The %1 service terminated unexpectedly. It has done this %2 time(s).
|
||||
.
|
||||
|
||||
MessageId=7034
|
||||
MessageId=7035
|
||||
Severity=Informational
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_CONTROL_SUCCESS
|
||||
@@ -430,15 +430,15 @@ Language=English
|
||||
The %1 service was successfully sent a %2 control.
|
||||
.
|
||||
|
||||
MessageId=7035
|
||||
MessageId=7036
|
||||
Severity=Informational
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_STATUS_SUCCESS
|
||||
Language=English
|
||||
Service Control Manager %0
|
||||
The %1 service entered the %2 state.
|
||||
.
|
||||
|
||||
MessageId=7036
|
||||
MessageId=7037
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_CONFIG_BACKOUT_FAILED
|
||||
@@ -451,7 +451,7 @@ service or may encounter other errors. To ensure that the service is configured
|
||||
properly, use the Services snap-in in Microsoft Management Console (MMC).
|
||||
.
|
||||
|
||||
MessageId=7037
|
||||
MessageId=7038
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_FIRST_LOGON_FAILED_II
|
||||
@@ -462,6 +462,65 @@ configured properly, use the Services snap-in in Microsoft Management
|
||||
Console (MMC).
|
||||
.
|
||||
|
||||
MessageId=7039
|
||||
Severity=Warning
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_DIFFERENT_PID_CONNECTED
|
||||
Language=English
|
||||
A service process other than the one launched by the Service Control Manager
|
||||
connected when starting the %1 service. The Service Control Manager launched
|
||||
process %2 and process %3 connected instead.%n%n
|
||||
|
||||
Note that if this service is configured to start under a debugger, this behavior is expected.
|
||||
.
|
||||
|
||||
MessageId=7040
|
||||
Severity=Informational
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_START_TYPE_CHANGED
|
||||
Language=English
|
||||
The start type of the %1 service was changed from %2 to %3.
|
||||
.
|
||||
|
||||
MessageId=7041
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_LOGON_TYPE_NOT_GRANTED
|
||||
Language=English
|
||||
The %1 service was unable to log on as %2 with the currently configured password due to the following error:%n
|
||||
Logon failure: the user has not been granted the requested logon type at this computer.%n%n
|
||||
Service: %1%n
|
||||
Domain and account: %2%n%n
|
||||
This service account does not have the necessary user right "Log on as a service."%n%n
|
||||
User Action%n%n
|
||||
Assign "Log on as a service" to the service account on this computer. You can
|
||||
use Local Security Settings (Secpol.msc) to do this. If this computer is a
|
||||
node in a cluster, check that this user right is assigned to the Cluster
|
||||
service account on all nodes in the cluster.%n%n
|
||||
If you have already assigned this user right to the service account, and the
|
||||
user right appears to be removed, a Group Policy object associated with this
|
||||
node might be removing the right. Check with your domain administrator to find
|
||||
out if this is happening.
|
||||
.
|
||||
|
||||
MessageId=7042
|
||||
Severity=Informational
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_STOP_SUCCESS_WITH_REASON
|
||||
Language=English
|
||||
The %1 service was successfully sent a %2 control.%n%n
|
||||
The reason specified was: %3 [%4]%n%n
|
||||
Comment: %5
|
||||
.
|
||||
|
||||
MessageId=7043
|
||||
Severity=Error
|
||||
Facility=System
|
||||
SymbolicName=EVENT_SERVICE_SHUTDOWN_FAILED
|
||||
Language=English
|
||||
The %1 service did not shut down properly after receiving a preshutdown control.
|
||||
.
|
||||
|
||||
|
||||
;
|
||||
; transport events 9000-9499
|
||||
|
||||
@@ -0,0 +1,396 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
class CListView: public CWindow
|
||||
{
|
||||
public:
|
||||
|
||||
HWND Create(HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName = NULL, DWORD dwStyle = 0,
|
||||
DWORD dwExStyle = 0, _U_MENUorID MenuOrID = 0U, LPVOID lpCreateParam = NULL)
|
||||
{
|
||||
m_hWnd = ::CreateWindowEx(dwExStyle,
|
||||
WC_LISTVIEW,
|
||||
szWindowName,
|
||||
dwStyle,
|
||||
rect.m_lpRect->left,
|
||||
rect.m_lpRect->top,
|
||||
rect.m_lpRect->right - rect.m_lpRect->left,
|
||||
rect.m_lpRect->bottom - rect.m_lpRect->top,
|
||||
hWndParent,
|
||||
MenuOrID.m_hMenu,
|
||||
_AtlBaseModule.GetModuleInstance(),
|
||||
lpCreateParam);
|
||||
|
||||
return m_hWnd;
|
||||
}
|
||||
|
||||
void SetRedraw(BOOL redraw)
|
||||
{
|
||||
SendMessage(WM_SETREDRAW, redraw);
|
||||
}
|
||||
|
||||
BOOL SetTextBkColor(COLORREF cr)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_SETTEXTBKCOLOR, 0, cr);
|
||||
}
|
||||
|
||||
BOOL SetBkColor(COLORREF cr)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_SETBKCOLOR, 0, cr);
|
||||
}
|
||||
|
||||
BOOL SetTextColor(COLORREF cr)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_SETTEXTCOLOR, 0, cr);
|
||||
}
|
||||
|
||||
DWORD SetExtendedListViewStyle(DWORD dw, DWORD dwMask = 0)
|
||||
{
|
||||
return (DWORD)SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw);
|
||||
}
|
||||
|
||||
int InsertColumn(int iCol, LV_COLUMN* pcol)
|
||||
{
|
||||
return (int)SendMessage(LVM_INSERTCOLUMN, iCol, reinterpret_cast<LPARAM>(pcol));
|
||||
}
|
||||
|
||||
int InsertColumn(int iCol, LPWSTR pszText, int fmt, int width = -1, int iSubItem = -1, int iImage = -1, int iOrder = -1)
|
||||
{
|
||||
LV_COLUMN column = {0};
|
||||
column.mask = LVCF_TEXT|LVCF_FMT;
|
||||
column.pszText = pszText;
|
||||
column.fmt = fmt;
|
||||
if(width != -1)
|
||||
{
|
||||
column.mask |= LVCF_WIDTH;
|
||||
column.cx = width;
|
||||
}
|
||||
if(iSubItem != -1)
|
||||
{
|
||||
column.mask |= LVCF_SUBITEM;
|
||||
column.iSubItem = iSubItem;
|
||||
}
|
||||
if(iImage != -1)
|
||||
{
|
||||
column.mask |= LVCF_IMAGE;
|
||||
column.iImage = iImage;
|
||||
}
|
||||
if(iOrder != -1)
|
||||
{
|
||||
column.mask |= LVCF_ORDER;
|
||||
column.iOrder = iOrder;
|
||||
}
|
||||
return InsertColumn(iCol, &column);
|
||||
}
|
||||
|
||||
int GetColumnWidth(int iCol)
|
||||
{
|
||||
return (int)SendMessage(LVM_GETCOLUMNWIDTH, iCol);
|
||||
}
|
||||
|
||||
HIMAGELIST SetImageList(HIMAGELIST himl, int iImageList)
|
||||
{
|
||||
return (HIMAGELIST)SendMessage(LVM_SETIMAGELIST, iImageList, reinterpret_cast<LPARAM>(himl));
|
||||
}
|
||||
|
||||
int InsertItem(const LV_ITEM * pitem)
|
||||
{
|
||||
return (int)SendMessage(LVM_INSERTITEM, 0, reinterpret_cast<LPARAM>(pitem));
|
||||
}
|
||||
|
||||
BOOL DeleteItem(int i)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_DELETEITEM, i, 0);
|
||||
}
|
||||
|
||||
BOOL GetItem(LV_ITEM* pitem)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_GETITEM, 0, reinterpret_cast<LPARAM>(pitem));
|
||||
}
|
||||
|
||||
BOOL SetItem(const LV_ITEM * pitem)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_SETITEM, 0, reinterpret_cast<LPARAM>(pitem));
|
||||
}
|
||||
|
||||
int GetItemCount()
|
||||
{
|
||||
return SendMessage(LVM_GETITEMCOUNT);
|
||||
}
|
||||
|
||||
BOOL DeleteAllItems()
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_DELETEALLITEMS);
|
||||
}
|
||||
|
||||
BOOL Update(int i)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_UPDATE, i, 0);
|
||||
}
|
||||
|
||||
UINT GetSelectedCount()
|
||||
{
|
||||
return (UINT)SendMessage(LVM_GETSELECTEDCOUNT);
|
||||
}
|
||||
|
||||
BOOL SortItems(PFNLVCOMPARE pfnCompare, PVOID lParam)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_SORTITEMS, (WPARAM)lParam, (LPARAM) pfnCompare);
|
||||
}
|
||||
|
||||
BOOL EnsureVisible(int i, BOOL fPartialOK)
|
||||
{
|
||||
return (BOOL)SendMessage(LVM_ENSUREVISIBLE, i, MAKELPARAM((fPartialOK),0));
|
||||
}
|
||||
|
||||
HWND EditLabel(int i)
|
||||
{
|
||||
return (HWND)SendMessage(LVM_EDITLABEL, i, 0);
|
||||
}
|
||||
|
||||
int GetSelectionMark()
|
||||
{
|
||||
return (int)SendMessage(LVM_GETSELECTIONMARK);
|
||||
}
|
||||
|
||||
int GetNextItem(int i, WORD flags)
|
||||
{
|
||||
return (int)SendMessage(LVM_GETNEXTITEM, i, MAKELPARAM((flags),0));
|
||||
}
|
||||
|
||||
void GetItemSpacing(SIZE& spacing, BOOL bSmallIconView = FALSE)
|
||||
{
|
||||
DWORD ret = SendMessage(LVM_GETITEMSPACING, bSmallIconView);
|
||||
spacing.cx = LOWORD(ret);
|
||||
spacing.cy = HIWORD(ret);
|
||||
}
|
||||
|
||||
void SetItemState(int i, UINT state, UINT mask)
|
||||
{
|
||||
LV_ITEM item;
|
||||
item.stateMask = mask;
|
||||
item.state = state;
|
||||
SendMessage(LVM_SETITEMSTATE, i, reinterpret_cast<LPARAM>(&item));
|
||||
}
|
||||
|
||||
int HitTest(LV_HITTESTINFO * phtInfo)
|
||||
{
|
||||
return (int)SendMessage(LVM_HITTEST, 0, reinterpret_cast<LPARAM>(&phtInfo));
|
||||
}
|
||||
|
||||
DWORD_PTR GetItemData(int i)
|
||||
{
|
||||
LVITEMW lvItem;
|
||||
lvItem.iItem = i;
|
||||
lvItem.mask = LVIF_PARAM;
|
||||
BOOL ret = GetItem(&lvItem);
|
||||
return (DWORD_PTR)(ret ? lvItem.lParam : NULL);
|
||||
}
|
||||
|
||||
BOOL GetSelectedItem(LV_ITEM* pItem)
|
||||
{
|
||||
pItem->iItem = GetNextItem(-1, LVNI_ALL | LVNI_SELECTED);
|
||||
if (pItem->iItem == -1)
|
||||
return FALSE;
|
||||
return GetItem(pItem);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
template<typename TItemData = DWORD_PTR>
|
||||
class CToolbar :
|
||||
public CWindowImplBaseT<CWindow>
|
||||
{
|
||||
public: // Configuration methods
|
||||
|
||||
HWND Create(HWND hWndParent, DWORD dwStyles = 0, DWORD dwExStyles = 0)
|
||||
{
|
||||
if (!dwStyles)
|
||||
{
|
||||
dwStyles = WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN;
|
||||
}
|
||||
|
||||
if (!dwExStyles)
|
||||
{
|
||||
dwExStyles = WS_EX_TOOLWINDOW;
|
||||
}
|
||||
|
||||
m_hWnd = CreateWindowExW(dwExStyles,
|
||||
TOOLBARCLASSNAME,
|
||||
NULL,
|
||||
dwStyles,
|
||||
0, 0, 0, 0, hWndParent,
|
||||
NULL,
|
||||
_AtlBaseModule.GetModuleInstance(),
|
||||
NULL);
|
||||
|
||||
if (!m_hWnd)
|
||||
return NULL;
|
||||
|
||||
/* Identify the version we're using */
|
||||
SetButtonStructSize();
|
||||
|
||||
return m_hWnd;
|
||||
}
|
||||
|
||||
DWORD SetButtonStructSize()
|
||||
{
|
||||
return SendMessageW(TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
|
||||
}
|
||||
|
||||
HWND GetTooltip()
|
||||
{
|
||||
return (HWND)SendMessageW(TB_GETTOOLTIPS);
|
||||
}
|
||||
|
||||
DWORD SetTooltip(HWND hWndTooltip)
|
||||
{
|
||||
return SendMessageW(TB_SETTOOLTIPS, hWndTooltip, 0);
|
||||
}
|
||||
|
||||
INT GetHotItem()
|
||||
{
|
||||
return SendMessageW(TB_GETHOTITEM);
|
||||
}
|
||||
|
||||
DWORD SetHotItem(INT item)
|
||||
{
|
||||
return SendMessageW(TB_SETHOTITEM, item);
|
||||
}
|
||||
|
||||
public: // Button list management methods
|
||||
int GetButtonCount()
|
||||
{
|
||||
return SendMessageW(TB_BUTTONCOUNT);
|
||||
}
|
||||
|
||||
DWORD GetButton(int index, TBBUTTON * btn)
|
||||
{
|
||||
return SendMessageW(TB_GETBUTTON, index, reinterpret_cast<LPARAM>(btn));
|
||||
}
|
||||
|
||||
DWORD AddButton(TBBUTTON * btn)
|
||||
{
|
||||
return SendMessageW(TB_ADDBUTTONS, 1, reinterpret_cast<LPARAM>(btn));
|
||||
}
|
||||
|
||||
DWORD AddButtons(int count, TBBUTTON * buttons)
|
||||
{
|
||||
return SendMessageW(TB_ADDBUTTONS, count, reinterpret_cast<LPARAM>(buttons));
|
||||
}
|
||||
|
||||
DWORD InsertButton(int insertAt, TBBUTTON * btn)
|
||||
{
|
||||
return SendMessageW(TB_INSERTBUTTON, insertAt, reinterpret_cast<LPARAM>(btn));
|
||||
}
|
||||
|
||||
DWORD MoveButton(int oldIndex, int newIndex)
|
||||
{
|
||||
return SendMessageW(TB_MOVEBUTTON, oldIndex, newIndex);
|
||||
}
|
||||
|
||||
DWORD DeleteButton(int index)
|
||||
{
|
||||
return SendMessageW(TB_DELETEBUTTON, index, 0);
|
||||
}
|
||||
|
||||
DWORD GetButtonInfo(int cmdId, TBBUTTONINFO * info)
|
||||
{
|
||||
return SendMessageW(TB_GETBUTTONINFO, cmdId, reinterpret_cast<LPARAM>(info));
|
||||
}
|
||||
|
||||
DWORD SetButtonInfo(int cmdId, TBBUTTONINFO * info)
|
||||
{
|
||||
return SendMessageW(TB_SETBUTTONINFO, cmdId, reinterpret_cast<LPARAM>(info));
|
||||
}
|
||||
|
||||
DWORD CheckButton(int cmdId, BOOL bCheck)
|
||||
{
|
||||
return SendMessageW(TB_CHECKBUTTON, cmdId, MAKELPARAM(bCheck, 0));
|
||||
}
|
||||
|
||||
public: // Layout management methods
|
||||
DWORD GetButtonSize()
|
||||
{
|
||||
return SendMessageW(TB_GETBUTTONSIZE);
|
||||
}
|
||||
|
||||
DWORD SetButtonSize(int w, int h)
|
||||
{
|
||||
return SendMessageW(TB_SETBUTTONSIZE, 0, MAKELPARAM(w, h));
|
||||
}
|
||||
|
||||
DWORD AutoSize()
|
||||
{
|
||||
return SendMessageW(TB_AUTOSIZE);
|
||||
}
|
||||
|
||||
DWORD GetMaxSize(LPSIZE size)
|
||||
{
|
||||
return SendMessageW(TB_GETMAXSIZE, 0, reinterpret_cast<LPARAM>(size));
|
||||
}
|
||||
|
||||
DWORD GetIdealSize(BOOL useHeight, LPSIZE size)
|
||||
{
|
||||
return SendMessageW(TB_GETIDEALSIZE, useHeight, reinterpret_cast<LPARAM>(size));
|
||||
}
|
||||
|
||||
DWORD GetMetrics(TBMETRICS * tbm)
|
||||
{
|
||||
return SendMessageW(TB_GETMETRICS, 0, reinterpret_cast<LPARAM>(tbm));
|
||||
}
|
||||
|
||||
DWORD SetMetrics(TBMETRICS * tbm)
|
||||
{
|
||||
return SendMessageW(TB_SETMETRICS, 0, reinterpret_cast<LPARAM>(tbm));
|
||||
}
|
||||
|
||||
DWORD GetItemRect(int index, LPRECT prcItem)
|
||||
{
|
||||
return SendMessageW(TB_GETITEMRECT, index, reinterpret_cast<LPARAM>(prcItem));
|
||||
}
|
||||
|
||||
DWORD SetRedraw(BOOL bEnable)
|
||||
{
|
||||
return SendMessageW(WM_SETREDRAW, bEnable);
|
||||
}
|
||||
|
||||
DWORD GetPadding()
|
||||
{
|
||||
return SendMessageW(TB_GETPADDING);
|
||||
}
|
||||
|
||||
DWORD SetPadding(int x, int y)
|
||||
{
|
||||
return SendMessageW(TB_SETPADDING, 0, MAKELPARAM(x, y));
|
||||
}
|
||||
|
||||
public: // Image list management methods
|
||||
DWORD SetImageList(HIMAGELIST himl)
|
||||
{
|
||||
return SendMessageW(TB_SETIMAGELIST, 0, reinterpret_cast<LPARAM>(himl));
|
||||
}
|
||||
|
||||
public: // Other methods
|
||||
INT HitTest(PPOINT ppt)
|
||||
{
|
||||
return (INT) SendMessageW(TB_HITTEST, 0, reinterpret_cast<LPARAM>(ppt));
|
||||
}
|
||||
|
||||
public: // Utility methods
|
||||
TItemData * GetItemData(int index)
|
||||
{
|
||||
TBBUTTON btn;
|
||||
GetButton(index, &btn);
|
||||
return (TItemData*) btn.dwData;
|
||||
}
|
||||
|
||||
DWORD SetItemData(int index, TItemData * data)
|
||||
{
|
||||
TBBUTTONINFOW info = { 0 };
|
||||
info.cbSize = sizeof(info);
|
||||
info.dwMask = TBIF_BYINDEX | TBIF_LPARAM;
|
||||
info.lParam = (DWORD_PTR) data;
|
||||
return SetButtonInfo(index, &info);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,397 @@
|
||||
/*
|
||||
* Copyright 1999, 2000 Juergen Schmied
|
||||
*
|
||||
* 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 __ROS_SHELL_UTILS_H
|
||||
#define __ROS_SHELL_UTILS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
# define IID_PPV_ARG(Itype, ppType) IID_##Itype, reinterpret_cast<void**>((static_cast<Itype**>(ppType)))
|
||||
# define IID_NULL_PPV_ARG(Itype, ppType) IID_##Itype, NULL, reinterpret_cast<void**>((static_cast<Itype**>(ppType)))
|
||||
#else
|
||||
# define IID_PPV_ARG(Itype, ppType) IID_##Itype, (void**)(ppType)
|
||||
# define IID_NULL_PPV_ARG(Itype, ppType) IID_##Itype, NULL, (void**)(ppType)
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define FAILED_UNEXPECTEDLY(hr) (FAILED(hr) && (DbgPrint("Unexpected failure %08x.\n", hr), TRUE))
|
||||
#else
|
||||
#define FAILED_UNEXPECTEDLY(hr) FAILED(hr)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
template <class Base>
|
||||
class CComDebugObject : public Base
|
||||
{
|
||||
public:
|
||||
CComDebugObject(void * = NULL)
|
||||
{
|
||||
#if DEBUG_CCOMOBJECT_CREATION
|
||||
DbgPrint("%S, this=%08p\n", __FUNCTION__, static_cast<Base*>(this));
|
||||
#endif
|
||||
_pAtlModule->Lock();
|
||||
}
|
||||
|
||||
virtual ~CComDebugObject()
|
||||
{
|
||||
this->FinalRelease();
|
||||
_pAtlModule->Unlock();
|
||||
}
|
||||
|
||||
STDMETHOD_(ULONG, AddRef)()
|
||||
{
|
||||
int rc = this->InternalAddRef();
|
||||
#if DEBUG_CCOMOBJECT_REFCOUNTING
|
||||
DbgPrint("%s, RefCount is now %d(--)! \n", __FUNCTION__, rc);
|
||||
#endif
|
||||
return rc;
|
||||
}
|
||||
|
||||
STDMETHOD_(ULONG, Release)()
|
||||
{
|
||||
int rc = this->InternalRelease();
|
||||
|
||||
#if DEBUG_CCOMOBJECT_REFCOUNTING
|
||||
DbgPrint("%s, RefCount is now %d(--)! \n", __FUNCTION__, rc);
|
||||
#endif
|
||||
|
||||
if (rc == 0)
|
||||
{
|
||||
#if DEBUG_CCOMOBJECT_DESTRUCTION
|
||||
DbgPrint("%s, RefCount reached 0 Deleting!\n", __FUNCTION__);
|
||||
#endif
|
||||
delete this;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
STDMETHOD(QueryInterface)(REFIID iid, void **ppvObject)
|
||||
{
|
||||
return this->_InternalQueryInterface(iid, ppvObject);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI CreateInstance(CComDebugObject<Base> **pp)
|
||||
{
|
||||
CComDebugObject<Base> *newInstance;
|
||||
HRESULT hResult;
|
||||
|
||||
ATLASSERT(pp != NULL);
|
||||
if (pp == NULL)
|
||||
return E_POINTER;
|
||||
|
||||
hResult = E_OUTOFMEMORY;
|
||||
newInstance = NULL;
|
||||
ATLTRY(newInstance = new CComDebugObject<Base>());
|
||||
if (newInstance != NULL)
|
||||
{
|
||||
newInstance->SetVoid(NULL);
|
||||
newInstance->InternalFinalConstructAddRef();
|
||||
hResult = newInstance->_AtlInitialConstruct();
|
||||
if (SUCCEEDED(hResult))
|
||||
hResult = newInstance->FinalConstruct();
|
||||
if (SUCCEEDED(hResult))
|
||||
hResult = newInstance->_AtlFinalConstruct();
|
||||
newInstance->InternalFinalConstructRelease();
|
||||
if (hResult != S_OK)
|
||||
{
|
||||
delete newInstance;
|
||||
newInstance = NULL;
|
||||
}
|
||||
}
|
||||
*pp = newInstance;
|
||||
return hResult;
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef DEBUG_CCOMOBJECT
|
||||
# define _CComObject CComDebugObject
|
||||
#else
|
||||
# define _CComObject CComObject
|
||||
#endif
|
||||
|
||||
template<class T>
|
||||
void ReleaseCComPtrExpectZero(CComPtr<T>& cptr, BOOL forceRelease = FALSE)
|
||||
{
|
||||
if (cptr.p != NULL)
|
||||
{
|
||||
int nrc = cptr->Release();
|
||||
if (nrc > 0)
|
||||
{
|
||||
DbgPrint("WARNING: Unexpected RefCount > 0 (%d)!\n", nrc);
|
||||
if (forceRelease)
|
||||
{
|
||||
while (nrc > 0)
|
||||
{
|
||||
nrc = cptr->Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
cptr.Detach();
|
||||
}
|
||||
}
|
||||
|
||||
template<class T, class R>
|
||||
HRESULT inline ShellDebugObjectCreator(REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new CComDebugObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(ppv));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class R>
|
||||
HRESULT inline ShellObjectCreator(REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(ppv));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize();
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
HRESULT inline ShellObjectCreatorInit(REFIID riid, void ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<IUnknown> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize();
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, REFIID riid, void ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, ppv);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1, class T2, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, T2 initArg2, REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1, initArg2);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1, class T2, class T3, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, T2 initArg2, T3 initArg3, REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1, initArg2, initArg3);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1, class T2, class T3, class T4, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, T2 initArg2, T3 initArg3, T4 initArg4, REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1, initArg2, initArg3, initArg4);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
template<class T, class T1, class T2, class T3, class T4, class T5, class R>
|
||||
HRESULT inline ShellObjectCreatorInit(T1 initArg1, T2 initArg2, T3 initArg3, T4 initArg4, T5 initArg5, REFIID riid, R ** ppv)
|
||||
{
|
||||
CComPtr<T> obj;
|
||||
CComPtr<R> result;
|
||||
HRESULT hResult;
|
||||
|
||||
if (ppv == NULL)
|
||||
return E_POINTER;
|
||||
*ppv = NULL;
|
||||
ATLTRY(obj = new _CComObject<T>);
|
||||
if (obj.p == NULL)
|
||||
return E_OUTOFMEMORY;
|
||||
hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
hResult = obj->Initialize(initArg1, initArg2, initArg3, initArg4, initArg5);
|
||||
if (FAILED(hResult))
|
||||
return hResult;
|
||||
|
||||
*ppv = result.Detach();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __ROS_SHELL_UTILS_H */
|
||||
@@ -26,12 +26,6 @@
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define IID_PPV_ARG(Itype, ppType) IID_##Itype, reinterpret_cast<void**>((static_cast<Itype**>(ppType)))
|
||||
#else
|
||||
#define IID_PPV_ARG(Itype, ppType) IID_##Itype, (void**)(ppType)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* New shellstate structure
|
||||
*/
|
||||
@@ -715,353 +709,9 @@ DECLARE_INTERFACE_(ITrayPriv, IUnknown)
|
||||
#define ITrayPriv_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell32 resources
|
||||
*/
|
||||
// these resources are in shell32.dll
|
||||
#define IDB_GOBUTTON_NORMAL 0x0e6
|
||||
#define IDB_GOBUTTON_HOT 0x0e7
|
||||
|
||||
// band ids in internet toolbar
|
||||
#define ITBBID_MENUBAND 1
|
||||
#define ITBBID_BRANDBAND 5
|
||||
#define ITBBID_TOOLSBAND 2
|
||||
#define ITBBID_ADDRESSBAND 4
|
||||
|
||||
// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
|
||||
// there seems to be some support for hiding the menubar and an auto hide feature that are
|
||||
// unavailable in the UI
|
||||
#define ITID_TEXTLABELS 3
|
||||
#define ITID_TOOLBARBANDSHOWN 4
|
||||
#define ITID_ADDRESSBANDSHOWN 5
|
||||
#define ITID_LINKSBANDSHOWN 6
|
||||
#define ITID_MENUBANDSHOWN 12
|
||||
#define ITID_AUTOHIDEENABLED 13
|
||||
#define ITID_CUSTOMIZEENABLED 20
|
||||
#define ITID_TOOLBARLOCKED 27
|
||||
|
||||
// commands in the CGID_BrandCmdGroup command group handled by the brand band
|
||||
#define BBID_STARTANIMATION 1
|
||||
#define BBID_STOPANIMATION 2
|
||||
|
||||
// undocumented flags for IShellMenu::SetShellFolder
|
||||
#define SMSET_UNKNOWN08 0x08
|
||||
#define SMSET_UNKNOWN10 0x10
|
||||
|
||||
BOOL WINAPI ILGetDisplayNameEx(IShellFolder *psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type);
|
||||
|
||||
/* type parameter for ILGetDisplayNameEx() */
|
||||
#define ILGDN_FORPARSING 0
|
||||
#define ILGDN_NORMAL 1
|
||||
#define ILGDN_INFOLDER 2
|
||||
|
||||
BOOL WINAPI FileIconInit(BOOL bFullInit);
|
||||
void WINAPI ShellDDEInit(BOOL bInit);
|
||||
DWORD WINAPI WinList_Init(void);
|
||||
|
||||
HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
|
||||
BOOL WINAPI SHDesktopMessageLoop(HANDLE);
|
||||
|
||||
#define WM_GETISHELLBROWSER (WM_USER+7)
|
||||
BOOL WINAPI SetShellWindow(HWND);
|
||||
BOOL WINAPI SetShellWindowEx(HWND, HWND);
|
||||
BOOL WINAPI RegisterShellHook(HWND, DWORD);
|
||||
IStream* WINAPI SHGetViewStream(LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR);
|
||||
BOOL WINAPI SHIsEmptyStream(IStream*);
|
||||
|
||||
typedef struct tagCREATEMRULISTA
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD nMaxItems;
|
||||
DWORD dwFlags;
|
||||
HKEY hKey;
|
||||
LPCSTR lpszSubKey;
|
||||
PROC lpfnCompare;
|
||||
} CREATEMRULISTA, *LPCREATEMRULISTA;
|
||||
typedef struct tagCREATEMRULISTW
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD nMaxItems;
|
||||
DWORD dwFlags;
|
||||
HKEY hKey;
|
||||
LPCWSTR lpszSubKey;
|
||||
PROC lpfnCompare;
|
||||
} CREATEMRULISTW, *LPCREATEMRULISTW;
|
||||
|
||||
#define MRU_STRING 0x0
|
||||
#define MRU_BINARY 0x1
|
||||
#define MRU_CACHEWRITE 0x2
|
||||
|
||||
HANDLE WINAPI CreateMRUListW(LPCREATEMRULISTW);
|
||||
HANDLE WINAPI CreateMRUListA(LPCREATEMRULISTA);
|
||||
INT WINAPI AddMRUData(HANDLE,LPCVOID,DWORD);
|
||||
INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT);
|
||||
VOID WINAPI FreeMRUList(HANDLE);
|
||||
|
||||
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString);
|
||||
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
|
||||
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
|
||||
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
|
||||
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
|
||||
HANDLE WINAPI CreateMRUListLazyW(const CREATEMRULISTW *lpcml, DWORD dwParam2,
|
||||
DWORD dwParam3, DWORD dwParam4);
|
||||
HANDLE WINAPI CreateMRUListLazyA(const CREATEMRULISTA *lpcml, DWORD dwParam2,
|
||||
DWORD dwParam3, DWORD dwParam4);
|
||||
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||
DWORD nBufferSize);
|
||||
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||
DWORD nBufferSize);
|
||||
|
||||
#define DC_NOSENDMSG 0x2000
|
||||
BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
|
||||
BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef CREATEMRULISTW CREATEMRULIST, *PCREATEMRULIST;
|
||||
#define CreateMRUList CreateMRUListW
|
||||
#define DrawCaptionTemp DrawCaptionTempW
|
||||
#else
|
||||
typedef CREATEMRULISTA CREATEMRULIST, *PCREATEMRULIST;
|
||||
#define CreateMRUList CreateMRUListA
|
||||
#define DrawCaptionTemp DrawCaptionTempA
|
||||
#endif
|
||||
|
||||
HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
|
||||
|
||||
HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag*,LPCWSTR,POINTL*);
|
||||
|
||||
HRESULT WINAPI SHGetPerScreenResName(OUT LPWSTR lpResName,
|
||||
IN INT cchResName,
|
||||
IN DWORD dwReserved);
|
||||
|
||||
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag*,LPCWSTR,IStream**);
|
||||
|
||||
HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
|
||||
DWORD dwStyle, HMENU hMenu, LONG z);
|
||||
|
||||
HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
|
||||
DWORD dwStyle, HMENU hMenu, LONG z);
|
||||
#ifdef UNICODE
|
||||
#define SHCreateWorkerWindow SHCreateWorkerWindowW
|
||||
#else
|
||||
#define SHCreateWorkerWindow SHCreateWorkerWindowA
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell Link
|
||||
*/
|
||||
#include <pshpack1.h>
|
||||
|
||||
typedef struct tagSHELL_LINK_HEADER
|
||||
{
|
||||
/* The size of this structure (always 0x0000004C) */
|
||||
DWORD dwSize;
|
||||
/* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
|
||||
CLSID clsid;
|
||||
/* Flags (SHELL_LINK_DATA_FLAGS) */
|
||||
DWORD dwFlags;
|
||||
/* Informations about the link target: */
|
||||
DWORD dwFileAttributes;
|
||||
FILETIME ftCreationTime;
|
||||
FILETIME ftLastAccessTime;
|
||||
FILETIME ftLastWriteTime;
|
||||
DWORD nFileSizeLow; /* only the least significant 32 bits */
|
||||
/* The index of an icon (signed?) */
|
||||
DWORD nIconIndex;
|
||||
/* The expected window state of an application launched by the link */
|
||||
DWORD nShowCommand;
|
||||
/* The keystrokes used to launch the application */
|
||||
WORD wHotKey;
|
||||
/* Reserved (must be zero) */
|
||||
WORD wReserved1;
|
||||
DWORD dwReserved2;
|
||||
DWORD dwReserved3;
|
||||
} SHELL_LINK_HEADER, *LPSHELL_LINK_HEADER;
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFOA/W
|
||||
* If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
|
||||
* If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFOA
|
||||
{
|
||||
/* Size of the link info data */
|
||||
DWORD cbSize;
|
||||
/* Size of this structure (ANSI: = 0x0000001C) */
|
||||
DWORD cbHeaderSize;
|
||||
/* Specifies which fields are present/populated (SLI_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
|
||||
DWORD cbVolumeIDOffset;
|
||||
/* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathOffset;
|
||||
/* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
|
||||
DWORD cbCommonNetworkRelativeLinkOffset;
|
||||
/* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixOffset;
|
||||
} SHELL_LINK_INFOA, *LPSHELL_LINK_INFOA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFOW
|
||||
{
|
||||
/* Size of the link info data */
|
||||
DWORD cbSize;
|
||||
/* Size of this structure (Unicode: >= 0x00000024) */
|
||||
DWORD cbHeaderSize;
|
||||
/* Specifies which fields are present/populated (SLI_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
|
||||
DWORD cbVolumeIDOffset;
|
||||
/* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathOffset;
|
||||
/* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
|
||||
DWORD cbCommonNetworkRelativeLinkOffset;
|
||||
/* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixOffset;
|
||||
/* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathUnicodeOffset;
|
||||
/* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixUnicodeOffset;
|
||||
} SHELL_LINK_INFOW, *LPSHELL_LINK_INFOW;
|
||||
|
||||
/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
|
||||
#define SLI_VALID_LOCAL 0x00000001
|
||||
/* CommonNetworkRelativeLink is present */
|
||||
#define SLI_VALID_NETWORK 0x00000002
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFO_VOLUME_IDA/W
|
||||
* If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
|
||||
* SHELL_LINK_INFO_VOLUME_IDA
|
||||
* If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFO_VOLUME_IDA
|
||||
{
|
||||
/* Size of the VolumeID field (> 0x00000010) */
|
||||
DWORD cbSize;
|
||||
/* Drive type of the drive the link target is stored on (DRIVE_*) */
|
||||
DWORD dwDriveType;
|
||||
/* Serial number of the volume the link target is stored on */
|
||||
DWORD nDriveSerialNumber;
|
||||
/* Offset of the volume label (ANSI, NULL-terminated string).
|
||||
Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
|
||||
DWORD cbVolumeLabelOffset;
|
||||
} SHELL_LINK_INFO_VOLUME_IDA, *LPSHELL_LINK_INFO_VOLUME_IDA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFO_VOLUME_IDW
|
||||
{
|
||||
/* Size of the VolumeID field (> 0x00000010) */
|
||||
DWORD cbSize;
|
||||
/* Drive type of the drive the link target is stored on (DRIVE_*) */
|
||||
DWORD dwDriveType;
|
||||
/* Serial number of the volume the link target is stored on */
|
||||
DWORD nDriveSerialNumber;
|
||||
/* Offset of the volume label (ANSI, NULL-terminated string).
|
||||
If the value of this field is 0x00000014, ignore it and use
|
||||
cbVolumeLabelUnicodeOffset! */
|
||||
DWORD cbVolumeLabelOffset;
|
||||
/* Offset of the volume label (Unicode, NULL-terminated string).
|
||||
If the value of the VolumeLabelOffset field is not 0x00000014,
|
||||
this field must be ignored (==> it doesn't exists ==> ANSI). */
|
||||
DWORD cbVolumeLabelUnicodeOffset;
|
||||
} SHELL_LINK_INFO_VOLUME_IDW, *LPSHELL_LINK_INFO_VOLUME_IDW;
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
|
||||
* If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
|
||||
* If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFO_CNR_LINKA
|
||||
{
|
||||
/* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
|
||||
DWORD cbSize;
|
||||
/* Specifies which fields are present/populated (SLI_CNR_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the NetName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbNetNameOffset;
|
||||
/* Offset of the DeviceName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbDeviceNameOffset;
|
||||
/* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
|
||||
DWORD dwNetworkProviderType;
|
||||
} SHELL_LINK_INFO_CNR_LINKA, *LPSHELL_LINK_INFO_CNR_LINKA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFO_CNR_LINKW
|
||||
{
|
||||
/* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
|
||||
DWORD cbSize;
|
||||
/* Specifies which fields are present/populated (SLI_CNR_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the NetName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbNetNameOffset;
|
||||
/* Offset of the DeviceName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbDeviceNameOffset;
|
||||
/* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
|
||||
DWORD dwNetworkProviderType;
|
||||
/* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
|
||||
DWORD cbNetNameUnicodeOffset;
|
||||
/* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
|
||||
DWORD cbDeviceNameUnicodeOffset;
|
||||
} SHELL_LINK_INFO_CNR_LINKW, *LPSHELL_LINK_INFO_CNR_LINKW;
|
||||
|
||||
/* DeviceName is present */
|
||||
#define SLI_CNR_VALID_DEVICE 0x00000001
|
||||
/* NetworkProviderType is present */
|
||||
#define SLI_CNR_VALID_NET_TYPE 0x00000002
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell Link Extra Data (IShellLinkDataList)
|
||||
*/
|
||||
typedef struct tagEXP_TRACKER
|
||||
{
|
||||
/* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Length >= 0x00000058 */
|
||||
DWORD nLength;
|
||||
/* Must be 0x00000000 */
|
||||
DWORD nVersion;
|
||||
/* NetBIOS name (ANSI, unused bytes are set to zero) */
|
||||
CHAR szMachineID[16]; /* "variable" >= 16 (?) */
|
||||
/* Some GUIDs for the Link Tracking service (from the FS?) */
|
||||
GUID guidDroidVolume;
|
||||
GUID guidDroidObject;
|
||||
GUID guidDroidBirthVolume;
|
||||
GUID guidDroidBirthObject;
|
||||
} EXP_TRACKER, *LPEXP_TRACKER;
|
||||
|
||||
typedef struct tagEXP_SHIM
|
||||
{
|
||||
/* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
|
||||
WCHAR szwLayerName[64]; /* "variable" >= 64 */
|
||||
} EXP_SHIM, *LPEXP_SHIM;
|
||||
|
||||
typedef struct tagEXP_KNOWN_FOLDER
|
||||
{
|
||||
/* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* A GUID value that identifies a known folder */
|
||||
GUID guidKnownFolder;
|
||||
/* Specifies the location of the ItemID of the first child
|
||||
segment of the IDList specified by guidKnownFolder */
|
||||
DWORD cbOffset;
|
||||
} EXP_KNOWN_FOLDER, *LPEXP_KNOWN_FOLDER;
|
||||
|
||||
typedef struct tagEXP_VISTA_ID_LIST
|
||||
{
|
||||
/* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Specifies an alternate IDList that can be used instead
|
||||
of the "normal" IDList (SLDF_HAS_ID_LIST) */
|
||||
/* LPITEMIDLIST pIDList; (variable) */
|
||||
} EXP_VISTA_ID_LIST, *LPEXP_VISTA_ID_LIST;
|
||||
|
||||
#define EXP_TRACKER_SIG 0xa0000003
|
||||
#define EXP_SHIM_SIG 0xa0000008
|
||||
#define EXP_KNOWN_FOLDER_SIG 0xa000000b
|
||||
#define EXP_VISTA_ID_LIST_SIG 0xa000000c
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
@@ -25,26 +25,6 @@
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
struct IEThreadParamBlock
|
||||
{
|
||||
long offset0;
|
||||
long offset4;
|
||||
long offset8;
|
||||
IUnknown *offsetC;
|
||||
long offset10;
|
||||
IUnknown *offset14;
|
||||
LPITEMIDLIST directoryPIDL;
|
||||
char filler1[84]; // unknown contents
|
||||
IUnknown *offset70;
|
||||
long filler2; // unknown contents
|
||||
IUnknown *offset78;
|
||||
LPITEMIDLIST offset7C;
|
||||
LPITEMIDLIST offset80;
|
||||
char filler3[116]; // unknown contents
|
||||
IUnknown *offsetF8; // instance explorer
|
||||
long filler4; // unknown contents
|
||||
};
|
||||
|
||||
BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen);
|
||||
BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen);
|
||||
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText);
|
||||
@@ -58,6 +38,7 @@ HRESULT WINAPI IUnknown_SetOwner(IUnknown *pUnk, ULONG arg);
|
||||
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site);
|
||||
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId);
|
||||
HRESULT WINAPI IUnknown_QueryService(IUnknown* lpUnknown, REFGUID sid, REFIID riid, LPVOID *lppOut);
|
||||
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut);
|
||||
HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg);
|
||||
BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName);
|
||||
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend);
|
||||
@@ -81,31 +62,27 @@ HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGro
|
||||
HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds);
|
||||
BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild);
|
||||
|
||||
void WINAPI InitOCHostClass(long param8);
|
||||
long WINAPI SHOpenFolderWindow(IEThreadParamBlock *param8);
|
||||
void WINAPI SHCreateSavedWindows(void);
|
||||
long WINAPI SHCreateFromDesktop(long param8);
|
||||
long WINAPI SHExplorerParseCmdLine(LPCTSTR commandLine);
|
||||
void WINAPI UEMRegisterNotify(long param8, long paramC);
|
||||
HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10);
|
||||
HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14);
|
||||
long WINAPI IDataObject_GetDeskBandState(long param8);
|
||||
IEThreadParamBlock *WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14);
|
||||
IEThreadParamBlock *WINAPI SHCloneIETHREADPARAM(IEThreadParamBlock *param);
|
||||
long WINAPI SHParseIECommandLine(long param8, long paramC);
|
||||
void WINAPI SHDestroyIETHREADPARAM(IEThreadParamBlock *param);
|
||||
HRESULT WINAPI SHOnCWMCommandLine(long param8);
|
||||
LPITEMIDLIST WINAPI Channel_GetFolderPidl(void);
|
||||
IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl);
|
||||
HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8);
|
||||
HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC);
|
||||
HRESULT WINAPI Channel_QuickLaunch(void);
|
||||
HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14);
|
||||
HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax);
|
||||
HRESULT WINAPI SHEnumClassesOfCategories(long param8, long paramC, long param10, long param14, long param18);
|
||||
HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20);
|
||||
BOOL WINAPI SHIsExplorerBrowser();
|
||||
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, long param14);
|
||||
|
||||
BOOL WINAPI SHIsEmptyStream(IStream*);
|
||||
HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
|
||||
HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag*,LPCWSTR,POINTL*);
|
||||
|
||||
HRESULT WINAPI SHGetPerScreenResName(OUT LPWSTR lpResName,
|
||||
IN INT cchResName,
|
||||
IN DWORD dwReserved);
|
||||
|
||||
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag*,LPCWSTR,IStream**);
|
||||
|
||||
HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
|
||||
DWORD dwStyle, HMENU hMenu, LONG z);
|
||||
|
||||
HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
|
||||
DWORD dwStyle, HMENU hMenu, LONG z);
|
||||
#ifdef UNICODE
|
||||
#define SHCreateWorkerWindow SHCreateWorkerWindowW
|
||||
#else
|
||||
#define SHCreateWorkerWindow SHCreateWorkerWindowA
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
@@ -1,13 +1,19 @@
|
||||
#include <stdarg.h>
|
||||
#define WIN32_NO_STATUS
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
|
||||
#include <wine/config.h>
|
||||
#include <wine/exception.h>
|
||||
|
||||
ULONG __cdecl DbgPrint(_In_z_ _Printf_format_string_ PCSTR Format, ...);
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
RaiseException(_In_ DWORD dwExceptionCode,
|
||||
_In_ DWORD dwExceptionFlags,
|
||||
_In_ DWORD nNumberOfArguments,
|
||||
_In_ CONST ULONG_PTR *lpArguments OPTIONAL);
|
||||
|
||||
#define __wine_spec_unimplemented_stub(module, function) \
|
||||
{ \
|
||||
ULONG_PTR args[2]; \
|
||||
|
||||
@@ -21,6 +21,8 @@ typedef enum _LSA_API_NUMBER
|
||||
LSASS_REQUEST_DEREGISTER_LOGON_PROCESS,
|
||||
LSASS_REQUEST_LOGON_USER,
|
||||
LSASS_REQUEST_LOOKUP_AUTHENTICATION_PACKAGE,
|
||||
LSASS_REQUEST_ENUM_LOGON_SESSIONS,
|
||||
LSASS_REQUEST_GET_LOGON_SESSION_DATA,
|
||||
LSASS_REQUEST_MAXIMUM
|
||||
} LSA_API_NUMBER, *PLSA_API_NUMBER;
|
||||
|
||||
@@ -31,6 +33,7 @@ typedef struct _LSA_CONNECTION_INFO
|
||||
LSA_OPERATIONAL_MODE OperationalMode;
|
||||
ULONG Length;
|
||||
CHAR LogonProcessNameBuffer[LSASS_MAX_LOGON_PROCESS_NAME_LENGTH + 1];
|
||||
BOOL CreateContext;
|
||||
} LSA_CONNECTION_INFO, *PLSA_CONNECTION_INFO;
|
||||
|
||||
|
||||
@@ -69,21 +72,12 @@ typedef struct _LSA_CALL_AUTHENTICATION_PACKAGE_MSG
|
||||
{
|
||||
struct
|
||||
{
|
||||
#if 0
|
||||
ULONG AuthenticationPackage;
|
||||
ULONG InBufferLength;
|
||||
UCHAR InBuffer[0];
|
||||
#endif
|
||||
ULONG AuthenticationPackage;
|
||||
PVOID ProtocolSubmitBuffer;
|
||||
ULONG SubmitBufferLength;
|
||||
} Request;
|
||||
struct
|
||||
{
|
||||
#if 0
|
||||
ULONG OutBufferLength;
|
||||
UCHAR OutBuffer[0];
|
||||
#endif
|
||||
PVOID ProtocolReturnBuffer;
|
||||
ULONG ReturnBufferLength;
|
||||
NTSTATUS ProtocolStatus;
|
||||
@@ -125,6 +119,39 @@ typedef struct _LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG
|
||||
} LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG, *PLSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG;
|
||||
|
||||
|
||||
typedef struct _LSA_ENUM_LOGON_SESSIONS_MSG
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
ULONG Dummy;
|
||||
} Request;
|
||||
struct
|
||||
{
|
||||
ULONG LogonSessionCount;
|
||||
PVOID LogonSessionBuffer;
|
||||
} Reply;
|
||||
};
|
||||
} LSA_ENUM_LOGON_SESSIONS_MSG, *PLSA_ENUM_LOGON_SESSIONS_MSG;
|
||||
|
||||
|
||||
typedef struct _LSA_GET_LOGON_SESSION_DATA_MSG
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
LUID LogonId;
|
||||
} Request;
|
||||
struct
|
||||
{
|
||||
PVOID SessionDataBuffer;
|
||||
} Reply;
|
||||
};
|
||||
} LSA_GET_LOGON_SESSION_DATA_MSG, *PLSA_GET_LOGON_SESSION_DATA_MSG;
|
||||
|
||||
|
||||
typedef struct _LSA_API_MSG
|
||||
{
|
||||
PORT_MESSAGE h;
|
||||
@@ -141,6 +168,8 @@ typedef struct _LSA_API_MSG
|
||||
LSA_CALL_AUTHENTICATION_PACKAGE_MSG CallAuthenticationPackage;
|
||||
LSA_DEREGISTER_LOGON_PROCESS_MSG DeregisterLogonProcess;
|
||||
LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG LookupAuthenticationPackage;
|
||||
LSA_ENUM_LOGON_SESSIONS_MSG EnumLogonSessions;
|
||||
LSA_GET_LOGON_SESSION_DATA_MSG GetLogonSessionData;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -158,6 +158,13 @@ typedef struct _CONSOLE_PROPERTIES
|
||||
UINT uCodePage;
|
||||
} CONSOLE_PROPERTIES;
|
||||
|
||||
enum
|
||||
{
|
||||
INIT_SUCCESS, // STATUS_WAIT_0
|
||||
INIT_FAILURE, // STATUS_WAIT_1
|
||||
MAX_INIT_EVENTS
|
||||
};
|
||||
|
||||
typedef struct _CONSOLE_START_INFO
|
||||
{
|
||||
HANDLE ConsoleHandle;
|
||||
@@ -165,7 +172,7 @@ typedef struct _CONSOLE_START_INFO
|
||||
HANDLE InputHandle;
|
||||
HANDLE OutputHandle;
|
||||
HANDLE ErrorHandle;
|
||||
HANDLE Events[2];
|
||||
HANDLE InitEvents[MAX_INIT_EVENTS];
|
||||
|
||||
CONSOLE_PROPERTIES;
|
||||
} CONSOLE_START_INFO, *PCONSOLE_START_INFO;
|
||||
|
||||
@@ -36,18 +36,33 @@ typedef enum _USERSRV_API_NUMBER
|
||||
} USERSRV_API_NUMBER, *PUSERSRV_API_NUMBER;
|
||||
|
||||
|
||||
typedef struct
|
||||
typedef struct _USER_EXIT_REACTOS
|
||||
{
|
||||
UINT Flags;
|
||||
DWORD Reserved;
|
||||
DWORD LastError;
|
||||
UINT Flags;
|
||||
BOOL Success;
|
||||
} USER_EXIT_REACTOS, *PUSER_EXIT_REACTOS;
|
||||
|
||||
typedef struct
|
||||
typedef struct _USER_END_TASK
|
||||
{
|
||||
DWORD LastError;
|
||||
HWND WndHandle;
|
||||
BOOL Force;
|
||||
BOOL Success;
|
||||
} USER_END_TASK, *PUSER_END_TASK;
|
||||
|
||||
typedef struct _USER_GET_THREAD_CONSOLE_DESKTOP
|
||||
{
|
||||
ULONG_PTR ThreadId;
|
||||
HANDLE ConsoleDesktop;
|
||||
} USER_GET_THREAD_CONSOLE_DESKTOP, *PUSER_GET_THREAD_CONSOLE_DESKTOP;
|
||||
|
||||
typedef struct _USER_REGISTER_SERVICES_PROCESS
|
||||
{
|
||||
ULONG_PTR ProcessId;
|
||||
} USER_REGISTER_SERVICES_PROCESS, *PUSER_REGISTER_SERVICES_PROCESS;
|
||||
|
||||
typedef struct
|
||||
typedef struct _USER_REGISTER_LOGON_PROCESS
|
||||
{
|
||||
ULONG_PTR ProcessId;
|
||||
BOOL Register;
|
||||
@@ -65,6 +80,8 @@ typedef struct _USER_API_MESSAGE
|
||||
union
|
||||
{
|
||||
USER_EXIT_REACTOS ExitReactosRequest;
|
||||
USER_END_TASK EndTaskRequest;
|
||||
USER_GET_THREAD_CONSOLE_DESKTOP GetThreadConsoleDesktopRequest;
|
||||
USER_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest;
|
||||
USER_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest;
|
||||
} Data;
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Ioctl called by GetInterfaceInfo. Returns IP_INTERFACE_INFO structure. */
|
||||
#define IOCTL_IP_INTERFACE_INFO _TCP_CTL_CODE(0x10, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
@@ -0,0 +1,936 @@
|
||||
/*
|
||||
* Copyright 1999, 2000 Juergen Schmied
|
||||
*
|
||||
* 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_UNDOCSHELL_H
|
||||
#define __WINE_UNDOCSHELL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/****************************************************************************
|
||||
* Taskbar WM_COMMAND identifiers
|
||||
*/
|
||||
|
||||
#define TWM_DOEXITWINDOWS (WM_USER + 342)
|
||||
#define TWM_CYCLEFOCUS (WM_USER + 348)
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* IDList Functions
|
||||
*/
|
||||
BOOL WINAPI ILGetDisplayName(
|
||||
LPCITEMIDLIST pidl,
|
||||
LPVOID path);
|
||||
|
||||
/* type parameter for ILGetDisplayNameEx() */
|
||||
#define ILGDN_FORPARSING 0
|
||||
#define ILGDN_NORMAL 1
|
||||
#define ILGDN_INFOLDER 2
|
||||
|
||||
BOOL WINAPI ILGetDisplayNameEx(
|
||||
LPSHELLFOLDER psf,
|
||||
LPCITEMIDLIST pidl,
|
||||
LPVOID path,
|
||||
DWORD type);
|
||||
|
||||
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl);
|
||||
void WINAPI ILGlobalFree(LPITEMIDLIST pidl);
|
||||
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath); //FIXME
|
||||
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath);
|
||||
|
||||
HRESULT WINAPI SHILCreateFromPathA (
|
||||
LPCSTR path,
|
||||
LPITEMIDLIST * ppidl,
|
||||
DWORD *attributes);
|
||||
|
||||
HRESULT WINAPI SHILCreateFromPathW (
|
||||
LPCWSTR path,
|
||||
LPITEMIDLIST * ppidl,
|
||||
DWORD *attributes);
|
||||
|
||||
/*
|
||||
string functions
|
||||
*/
|
||||
BOOL WINAPI StrRetToStrNA(LPSTR,DWORD,LPSTRRET,const ITEMIDLIST*);
|
||||
BOOL WINAPI StrRetToStrNW(LPWSTR,DWORD,LPSTRRET,const ITEMIDLIST*);
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* SHChangeNotifyRegister API
|
||||
*/
|
||||
#define SHCNRF_InterruptLevel 0x0001
|
||||
#define SHCNRF_ShellLevel 0x0002
|
||||
#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
|
||||
#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Shell Common Dialogs
|
||||
*/
|
||||
|
||||
/* RunFileDlg flags */
|
||||
#define RFF_NOBROWSE 0x01
|
||||
#define RFF_NODEFAULT 0x02
|
||||
#define RFF_CALCDIRECTORY 0x04
|
||||
#define RFF_NOLABEL 0x08
|
||||
#define RFF_NOSEPARATEMEM 0x20 /* NT only */
|
||||
|
||||
#define DE_SAMEFILE 0x71
|
||||
#define DE_DESTSAMETREE 0x7D
|
||||
|
||||
/* RunFileFlg notification structure */
|
||||
typedef struct
|
||||
{
|
||||
NMHDR hdr;
|
||||
LPCSTR lpFile;
|
||||
LPCSTR lpDirectory;
|
||||
int nShow;
|
||||
} NM_RUNFILEDLG, * LPNM_RUNFILEDLG;
|
||||
|
||||
/* RunFileDlg notification return values */
|
||||
#define RF_OK 0x00
|
||||
#define RF_CANCEL 0x01
|
||||
#define RF_RETRY 0x02
|
||||
|
||||
void WINAPI RunFileDlg(
|
||||
HWND hwndOwner,
|
||||
HICON hIcon,
|
||||
LPCWSTR lpstrDirectory,
|
||||
LPCWSTR lpstrTitle,
|
||||
LPCWSTR lpstrDescription,
|
||||
UINT uFlags);
|
||||
|
||||
void WINAPI ExitWindowsDialog(HWND hwndOwner);
|
||||
|
||||
BOOL WINAPI SHFindComputer(
|
||||
LPCITEMIDLIST pidlRoot,
|
||||
LPCITEMIDLIST pidlSavedSearch);
|
||||
|
||||
void WINAPI SHHandleDiskFull(HWND hwndOwner,
|
||||
UINT uDrive);
|
||||
|
||||
int WINAPI SHOutOfMemoryMessageBox(
|
||||
HWND hwndOwner,
|
||||
LPCSTR lpCaption,
|
||||
UINT uType);
|
||||
|
||||
DWORD WINAPI SHNetConnectionDialog(
|
||||
HWND hwndOwner,
|
||||
LPCWSTR lpstrRemoteName,
|
||||
DWORD dwType);
|
||||
|
||||
/****************************************************************************
|
||||
* Cabinet Window Messages
|
||||
*/
|
||||
|
||||
#define CWM_SETPATH (WM_USER + 2)
|
||||
#define CWM_WANTIDLE (WM_USER + 3)
|
||||
#define CWM_GETSETCURRENTINFO (WM_USER + 4)
|
||||
#define CWM_SELECTITEM (WM_USER + 5)
|
||||
#define CWM_SELECTITEMSTR (WM_USER + 6)
|
||||
#define CWM_GETISHELLBROWSER (WM_USER + 7)
|
||||
#define CWM_TESTPATH (WM_USER + 9)
|
||||
#define CWM_STATECHANGE (WM_USER + 10)
|
||||
#define CWM_GETPATH (WM_USER + 12)
|
||||
|
||||
#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
|
||||
|
||||
/* CWM_TESTPATH types */
|
||||
#define CWTP_ISEQUAL 0
|
||||
#define CWTP_ISCHILD 1
|
||||
|
||||
/* CWM_TESTPATH structure */
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwType;
|
||||
ITEMIDLIST idl;
|
||||
} CWTESTPATHSTRUCT,* LPCWTESTPATHSTRUCT;
|
||||
|
||||
/****************************************************************************
|
||||
* System Imagelist Routines
|
||||
*/
|
||||
|
||||
int WINAPI Shell_GetCachedImageIndexA(
|
||||
LPCSTR lpszFileName,
|
||||
int nIconIndex,
|
||||
UINT bSimulateDoc);
|
||||
|
||||
BOOL WINAPI Shell_GetImageLists(
|
||||
HIMAGELIST *lphimlLarge,
|
||||
HIMAGELIST *lphimlSmall);
|
||||
|
||||
HICON WINAPI SHGetFileIcon(
|
||||
DWORD dwReserved,
|
||||
LPCSTR lpszPath,
|
||||
DWORD dwFileAttributes,
|
||||
UINT uFlags);
|
||||
|
||||
BOOL WINAPI FileIconInit(BOOL bFullInit);
|
||||
|
||||
/****************************************************************************
|
||||
* File Menu Routines
|
||||
*/
|
||||
/* FileMenu_Create nSelHeight constants */
|
||||
#define FM_DEFAULT_SELHEIGHT -1
|
||||
#define FM_FULL_SELHEIGHT 0
|
||||
|
||||
/* FileMenu_Create flags */
|
||||
#define FMF_SMALL_ICONS 0x00
|
||||
#define FMF_LARGE_ICONS 0x08
|
||||
#define FMF_NO_COLUMN_BREAK 0x10
|
||||
|
||||
HMENU WINAPI FileMenu_Create(
|
||||
COLORREF crBorderColor,
|
||||
int nBorderWidth,
|
||||
HBITMAP hBorderBmp,
|
||||
int nSelHeight,
|
||||
UINT uFlags);
|
||||
|
||||
void WINAPI FileMenu_Destroy(HMENU hMenu);
|
||||
|
||||
/* FileMenu_AppendItem constants */
|
||||
#define FM_SEPARATOR (LPCSTR)1
|
||||
#define FM_BLANK_ICON -1
|
||||
#define FM_DEFAULT_HEIGHT 0
|
||||
|
||||
BOOL WINAPI FileMenu_AppendItem(
|
||||
HMENU hMenu,
|
||||
LPCSTR lpszText,
|
||||
UINT uID,
|
||||
int iIcon,
|
||||
HMENU hMenuPopup,
|
||||
int nItemHeight);
|
||||
|
||||
/* FileMenu_InsertUsingPidl flags */
|
||||
#define FMF_NO_EMPTY_ITEM 0x01
|
||||
#define FMF_NO_PROGRAM_GROUPS 0x04
|
||||
|
||||
/* FileMenu_InsertUsingPidl callback function */
|
||||
typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
|
||||
|
||||
int WINAPI FileMenu_InsertUsingPidl(
|
||||
HMENU hMenu,
|
||||
UINT uID,
|
||||
LPCITEMIDLIST pidl,
|
||||
UINT uFlags,
|
||||
UINT uEnumFlags,
|
||||
LPFNFMCALLBACK lpfnCallback);
|
||||
|
||||
int WINAPI FileMenu_ReplaceUsingPidl(
|
||||
HMENU hMenu,
|
||||
UINT uID,
|
||||
LPCITEMIDLIST pidl,
|
||||
UINT uEnumFlags,
|
||||
LPFNFMCALLBACK lpfnCallback);
|
||||
|
||||
void WINAPI FileMenu_Invalidate(HMENU hMenu);
|
||||
|
||||
HMENU WINAPI FileMenu_FindSubMenuByPidl(
|
||||
HMENU hMenu,
|
||||
LPCITEMIDLIST pidl);
|
||||
|
||||
BOOL WINAPI FileMenu_TrackPopupMenuEx(
|
||||
HMENU hMenu,
|
||||
UINT uFlags,
|
||||
int x,
|
||||
int y,
|
||||
HWND hWnd,
|
||||
LPTPMPARAMS lptpm);
|
||||
|
||||
BOOL WINAPI FileMenu_GetLastSelectedItemPidls(
|
||||
UINT uReserved,
|
||||
LPCITEMIDLIST *ppidlFolder,
|
||||
LPCITEMIDLIST *ppidlItem);
|
||||
|
||||
LRESULT WINAPI FileMenu_MeasureItem(
|
||||
HWND hWnd,
|
||||
LPMEASUREITEMSTRUCT lpmis);
|
||||
|
||||
LRESULT WINAPI FileMenu_DrawItem(
|
||||
HWND hWnd,
|
||||
LPDRAWITEMSTRUCT lpdis);
|
||||
|
||||
BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu);
|
||||
|
||||
void WINAPI FileMenu_AbortInitMenu(void);
|
||||
|
||||
LRESULT WINAPI FileMenu_HandleMenuChar(
|
||||
HMENU hMenu,
|
||||
WPARAM wParam);
|
||||
|
||||
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu);
|
||||
|
||||
BOOL WINAPI FileMenu_DeleteItemByCmd(
|
||||
HMENU hMenu,
|
||||
UINT uID);
|
||||
|
||||
BOOL WINAPI FileMenu_DeleteItemByIndex(
|
||||
HMENU hMenu,
|
||||
UINT uPos);
|
||||
|
||||
BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(
|
||||
HMENU hMenu,
|
||||
UINT uID);
|
||||
|
||||
BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu);
|
||||
|
||||
BOOL WINAPI FileMenu_EnableItemByCmd(
|
||||
HMENU hMenu,
|
||||
UINT uID,
|
||||
BOOL bEnable);
|
||||
|
||||
DWORD WINAPI FileMenu_GetItemExtent(
|
||||
HMENU hMenu,
|
||||
UINT uPos);
|
||||
|
||||
int WINAPI FileMenu_AppendFilesForPidl(
|
||||
HMENU hMenu,
|
||||
LPCITEMIDLIST pidl,
|
||||
BOOL bAddSeparator);
|
||||
|
||||
int WINAPI FileMenu_AddFilesForPidl(
|
||||
HMENU hMenu,
|
||||
UINT uReserved,
|
||||
UINT uID,
|
||||
LPCITEMIDLIST pidl,
|
||||
UINT uFlags,
|
||||
UINT uEnumFlags,
|
||||
LPFNFMCALLBACK lpfnCallback);
|
||||
|
||||
/****************************************************************************
|
||||
* Drag And Drop Routines
|
||||
*/
|
||||
|
||||
HRESULT WINAPI SHRegisterDragDrop(
|
||||
HWND hWnd,
|
||||
LPDROPTARGET lpDropTarget);
|
||||
|
||||
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd);
|
||||
|
||||
BOOL WINAPI DAD_DragEnter(HWND hWnd);
|
||||
|
||||
BOOL WINAPI DAD_SetDragImageFromListView(
|
||||
HWND hWnd,
|
||||
POINT pt);
|
||||
|
||||
BOOL WINAPI DAD_ShowDragImage(BOOL bShow);
|
||||
|
||||
/****************************************************************************
|
||||
* Path Manipulation Routines
|
||||
*/
|
||||
|
||||
BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
|
||||
|
||||
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
|
||||
|
||||
LPVOID WINAPI PathAddBackslashAW(LPVOID path);
|
||||
|
||||
LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive);
|
||||
|
||||
LPVOID WINAPI PathFindExtensionAW(LPCVOID path);
|
||||
|
||||
LPVOID WINAPI PathFindFileNameAW(LPCVOID path);
|
||||
|
||||
LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
|
||||
|
||||
LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath);
|
||||
|
||||
void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
|
||||
|
||||
VOID WINAPI PathQuoteSpacesAW(LPVOID path);
|
||||
|
||||
void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathIsRootAW(LPCVOID x);
|
||||
|
||||
BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
|
||||
|
||||
BOOL WINAPI PathMakeUniqueNameAW(
|
||||
LPVOID lpszBuffer,
|
||||
DWORD dwBuffSize,
|
||||
LPCVOID lpszShortName,
|
||||
LPCVOID lpszLongName,
|
||||
LPCVOID lpszPathName);
|
||||
|
||||
BOOL WINAPI PathYetAnotherMakeUniqueName(
|
||||
LPWSTR lpszBuffer,
|
||||
LPCWSTR lpszPathName,
|
||||
LPCWSTR lpszShortName,
|
||||
LPCWSTR lpszLongName);
|
||||
|
||||
BOOL WINAPI PathQualifyAW(LPCVOID path);
|
||||
|
||||
|
||||
/* PathResolve flags */
|
||||
#define PRF_CHECKEXISTANCE 0x01
|
||||
#define PRF_EXECUTABLE 0x02
|
||||
#define PRF_QUALIFYONPATH 0x04
|
||||
#define PRF_WINDOWS31 0x08
|
||||
|
||||
BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
|
||||
|
||||
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath);
|
||||
|
||||
/* PathProcessCommand flags */
|
||||
#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
|
||||
#define PPCF_INCLUDEARGS 0x02
|
||||
//#define PPCF_NODIRECTORIES 0x10 move to shlobj
|
||||
#define PPCF_DONTRESOLVE 0x20
|
||||
#define PPCF_PATHISRELATIVE 0x40
|
||||
|
||||
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff,
|
||||
DWORD dwBuffSize, DWORD dwFlags);
|
||||
|
||||
void WINAPI PathStripPathAW(LPVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath);
|
||||
|
||||
void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
|
||||
|
||||
void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
|
||||
|
||||
int WINAPI PathParseIconLocationAW(LPVOID lpszPath);
|
||||
|
||||
BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
|
||||
|
||||
BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs);
|
||||
|
||||
/****************************************************************************
|
||||
* Shell Namespace Routines
|
||||
*/
|
||||
|
||||
/* Generic structure used by several messages */
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwReserved;
|
||||
DWORD dwReserved2;
|
||||
LPCITEMIDLIST pidl;
|
||||
LPDWORD lpdwUser;
|
||||
} SFVCBINFO, * LPSFVCBINFO;
|
||||
typedef const SFVCBINFO * LPCSFVCBINFO;
|
||||
|
||||
/* SFVCB_SELECTIONCHANGED structure */
|
||||
typedef struct
|
||||
{
|
||||
UINT uOldState;
|
||||
UINT uNewState;
|
||||
LPCITEMIDLIST pidl;
|
||||
LPDWORD lpdwUser;
|
||||
} SFVSELECTSTATE, * LPSFVSELECTSTATE;
|
||||
typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE;
|
||||
|
||||
/* SFVCB_COPYHOOKCALLBACK structure */
|
||||
typedef struct
|
||||
{
|
||||
HWND hwnd;
|
||||
UINT wFunc;
|
||||
UINT wFlags;
|
||||
LPCSTR pszSrcFile;
|
||||
DWORD dwSrcAttribs;
|
||||
LPCSTR pszDestFile;
|
||||
DWORD dwDestAttribs;
|
||||
} SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO;
|
||||
typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO;
|
||||
|
||||
/* SFVCB_GETDETAILSOF structure */
|
||||
typedef struct
|
||||
{
|
||||
LPCITEMIDLIST pidl;
|
||||
int fmt;
|
||||
int cx;
|
||||
STRRET lpText;
|
||||
} SFVCOLUMNINFO, * LPSFVCOLUMNINFO;
|
||||
|
||||
/****************************************************************************
|
||||
* Misc Stuff
|
||||
*/
|
||||
|
||||
/* SHWaitForFileToOpen flags */
|
||||
#define SHWFF_ADD 0x01
|
||||
#define SHWFF_REMOVE 0x02
|
||||
#define SHWFF_WAIT 0x04
|
||||
|
||||
BOOL WINAPI SHWaitForFileToOpen(
|
||||
LPCITEMIDLIST pidl,
|
||||
DWORD dwFlags,
|
||||
DWORD dwTimeout);
|
||||
|
||||
WORD WINAPI ArrangeWindows(
|
||||
HWND hwndParent,
|
||||
DWORD dwReserved,
|
||||
LPCRECT lpRect,
|
||||
WORD cKids,
|
||||
CONST HWND * lpKids);
|
||||
|
||||
/* RegisterShellHook types */
|
||||
#define RSH_DEREGISTER 0
|
||||
#define RSH_REGISTER 1
|
||||
#define RSH_REGISTER_PROGMAN 2
|
||||
#define RSH_REGISTER_TASKMAN 3
|
||||
|
||||
BOOL WINAPI RegisterShellHook(
|
||||
HWND hWnd,
|
||||
DWORD dwType);
|
||||
|
||||
/* SHCreateDefClassObject callback function */
|
||||
typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
|
||||
LPUNKNOWN pUnkOuter,
|
||||
REFIID riidObject,
|
||||
LPVOID *ppvObject);
|
||||
|
||||
HRESULT WINAPI SHCreateDefClassObject(
|
||||
REFIID riidFactory,
|
||||
LPVOID *ppvFactory,
|
||||
LPFNCDCOCALLBACK lpfnCallback,
|
||||
LPDWORD lpdwUsage,
|
||||
REFIID riidObject);
|
||||
|
||||
void WINAPI SHFreeUnusedLibraries(void);
|
||||
|
||||
/* SHCreateLinks flags */
|
||||
#define SHCLF_PREFIXNAME 0x01
|
||||
#define SHCLF_CREATEONDESKTOP 0x02
|
||||
|
||||
HRESULT WINAPI SHCreateLinks(
|
||||
HWND hWnd,
|
||||
LPCSTR lpszDir,
|
||||
LPDATAOBJECT lpDataObject,
|
||||
UINT uFlags,
|
||||
LPITEMIDLIST *lppidlLinks);
|
||||
|
||||
DWORD WINAPI CheckEscapesA(LPSTR string, DWORD len);
|
||||
DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len);
|
||||
|
||||
/* policy functions */
|
||||
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey);
|
||||
|
||||
#define CSIDL_FOLDER_MASK 0x00ff
|
||||
|
||||
/* Utility functions */
|
||||
#include <stdio.h>
|
||||
|
||||
#define SMC_EXEC 4
|
||||
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
|
||||
|
||||
static inline ULONG
|
||||
Win32DbgPrint(const char *filename, int line, const char *lpFormat, ...)
|
||||
{
|
||||
char szMsg[512];
|
||||
char *szMsgStart;
|
||||
const char *fname;
|
||||
va_list vl;
|
||||
ULONG uRet;
|
||||
|
||||
fname = strrchr(filename, '\\');
|
||||
if (fname == NULL)
|
||||
{
|
||||
fname = strrchr(filename, '/');
|
||||
if (fname != NULL)
|
||||
fname++;
|
||||
}
|
||||
else
|
||||
fname++;
|
||||
|
||||
if (fname == NULL)
|
||||
fname = filename;
|
||||
|
||||
szMsgStart = szMsg + sprintf(szMsg, "%s:%d: ", fname, line);
|
||||
|
||||
va_start(vl, lpFormat);
|
||||
uRet = (ULONG) vsprintf(szMsgStart, lpFormat, vl);
|
||||
va_end(vl);
|
||||
|
||||
OutputDebugStringA(szMsg);
|
||||
|
||||
return uRet;
|
||||
}
|
||||
|
||||
#define DbgPrint(fmt, ...) \
|
||||
Win32DbgPrint(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
|
||||
|
||||
static inline void DbgDumpMenuInternal(HMENU hmenu, char* padding, int padlevel)
|
||||
{
|
||||
WCHAR label[128];
|
||||
int i;
|
||||
int count = GetMenuItemCount(hmenu);
|
||||
|
||||
padding[padlevel] = '.';
|
||||
padding[padlevel + 1] = '.';
|
||||
padding[padlevel + 2] = 0;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
MENUITEMINFOW mii = { 0 };
|
||||
|
||||
mii.cbSize = sizeof(mii);
|
||||
mii.fMask = MIIM_STRING | MIIM_FTYPE | MIIM_SUBMENU | MIIM_STATE | MIIM_ID;
|
||||
mii.dwTypeData = label;
|
||||
mii.cch = _countof(label);
|
||||
|
||||
GetMenuItemInfo(hmenu, i, TRUE, &mii);
|
||||
|
||||
if (mii.fType & MFT_BITMAP)
|
||||
DbgPrint("%s%2d - %08x: BITMAP %08p (state=%d, has submenu=%s)\n", padding, i, mii.wID, mii.hbmpItem, mii.fState, mii.hSubMenu ? "TRUE" : "FALSE");
|
||||
else if (mii.fType & MFT_SEPARATOR)
|
||||
DbgPrint("%s%2d - %08x ---SEPARATOR---\n", padding, i, mii.wID);
|
||||
else
|
||||
DbgPrint("%s%2d - %08x: %S (state=%d, has submenu=%s)\n", padding, i, mii.wID, mii.dwTypeData, mii.fState, mii.hSubMenu ? "TRUE" : "FALSE");
|
||||
|
||||
if (mii.hSubMenu)
|
||||
DbgDumpMenuInternal(mii.hSubMenu, padding, padlevel + 2);
|
||||
|
||||
}
|
||||
|
||||
padding[padlevel] = 0;
|
||||
}
|
||||
|
||||
static __inline void DbgDumpMenu(HMENU hmenu)
|
||||
{
|
||||
char padding[128];
|
||||
DbgDumpMenuInternal(hmenu, padding, 0);
|
||||
}
|
||||
|
||||
|
||||
static inline
|
||||
void DumpIdList(LPCITEMIDLIST pcidl)
|
||||
{
|
||||
DbgPrint("Begin IDList Dump\n");
|
||||
|
||||
for (; pcidl != NULL; pcidl = ILGetNext(pcidl))
|
||||
{
|
||||
int i;
|
||||
int cb = pcidl->mkid.cb;
|
||||
BYTE * sh = (BYTE*) &(pcidl->mkid);
|
||||
if (cb == 0) // ITEMIDLISTs are terminatedwith a null SHITEMID.
|
||||
break;
|
||||
DbgPrint("Begin SHITEMID (cb=%d)\n", cb);
|
||||
if ((cb & 3) != 0)
|
||||
DbgPrint(" - WARNING: cb is not a multiple of 4\n");
|
||||
for (i = 0; (i + 4) <= cb; i += 4)
|
||||
{
|
||||
DbgPrint(" - abID[%08x]: %02x %02x %02x %02x\n",
|
||||
i,
|
||||
sh[i + 0],
|
||||
sh[i + 1],
|
||||
sh[i + 2],
|
||||
sh[i + 3]);
|
||||
}
|
||||
if (i < cb)
|
||||
{
|
||||
cb -= i;
|
||||
if (cb == 3)
|
||||
{
|
||||
DbgPrint(" - abID[%08x]: %02x %02x %02x --\n",
|
||||
i,
|
||||
sh[i + 0],
|
||||
sh[i + 1],
|
||||
sh[i + 2]);
|
||||
}
|
||||
else if (cb == 2)
|
||||
{
|
||||
DbgPrint(" - abID[%08x]: %02x %02x -- --\n",
|
||||
i,
|
||||
sh[i + 0],
|
||||
sh[i + 1]);
|
||||
}
|
||||
else if (cb == 1)
|
||||
{
|
||||
DbgPrint(" - abID[%08x]: %02x -- -- --\n",
|
||||
i,
|
||||
sh[i + 0]);
|
||||
}
|
||||
}
|
||||
DbgPrint("End SHITEMID\n");
|
||||
}
|
||||
DbgPrint("End IDList Dump.\n");
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell32 resources
|
||||
*/
|
||||
// these resources are in shell32.dll
|
||||
#define IDB_GOBUTTON_NORMAL 0x0e6
|
||||
#define IDB_GOBUTTON_HOT 0x0e7
|
||||
|
||||
// band ids in internet toolbar
|
||||
#define ITBBID_MENUBAND 1
|
||||
#define ITBBID_BRANDBAND 5
|
||||
#define ITBBID_TOOLSBAND 2
|
||||
#define ITBBID_ADDRESSBAND 4
|
||||
|
||||
// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
|
||||
// there seems to be some support for hiding the menubar and an auto hide feature that are
|
||||
// unavailable in the UI
|
||||
#define ITID_TEXTLABELS 3
|
||||
#define ITID_TOOLBARBANDSHOWN 4
|
||||
#define ITID_ADDRESSBANDSHOWN 5
|
||||
#define ITID_LINKSBANDSHOWN 6
|
||||
#define ITID_MENUBANDSHOWN 12
|
||||
#define ITID_AUTOHIDEENABLED 13
|
||||
#define ITID_CUSTOMIZEENABLED 20
|
||||
#define ITID_TOOLBARLOCKED 27
|
||||
|
||||
// commands in the CGID_BrandCmdGroup command group handled by the brand band
|
||||
#define BBID_STARTANIMATION 1
|
||||
#define BBID_STOPANIMATION 2
|
||||
|
||||
// undocumented flags for IShellMenu::SetShellFolder
|
||||
#define SMSET_UNKNOWN08 0x08
|
||||
#define SMSET_UNKNOWN10 0x10
|
||||
|
||||
void WINAPI ShellDDEInit(BOOL bInit);
|
||||
DWORD WINAPI WinList_Init(void);
|
||||
|
||||
IStream* WINAPI SHGetViewStream(LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR);
|
||||
|
||||
EXTERN_C HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey);
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell Link
|
||||
*/
|
||||
#include <pshpack1.h>
|
||||
|
||||
typedef struct tagSHELL_LINK_HEADER
|
||||
{
|
||||
/* The size of this structure (always 0x0000004C) */
|
||||
DWORD dwSize;
|
||||
/* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
|
||||
CLSID clsid;
|
||||
/* Flags (SHELL_LINK_DATA_FLAGS) */
|
||||
DWORD dwFlags;
|
||||
/* Informations about the link target: */
|
||||
DWORD dwFileAttributes;
|
||||
FILETIME ftCreationTime;
|
||||
FILETIME ftLastAccessTime;
|
||||
FILETIME ftLastWriteTime;
|
||||
DWORD nFileSizeLow; /* only the least significant 32 bits */
|
||||
/* The index of an icon (signed?) */
|
||||
DWORD nIconIndex;
|
||||
/* The expected window state of an application launched by the link */
|
||||
DWORD nShowCommand;
|
||||
/* The keystrokes used to launch the application */
|
||||
WORD wHotKey;
|
||||
/* Reserved (must be zero) */
|
||||
WORD wReserved1;
|
||||
DWORD dwReserved2;
|
||||
DWORD dwReserved3;
|
||||
} SHELL_LINK_HEADER, *LPSHELL_LINK_HEADER;
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFOA/W
|
||||
* If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
|
||||
* If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFOA
|
||||
{
|
||||
/* Size of the link info data */
|
||||
DWORD cbSize;
|
||||
/* Size of this structure (ANSI: = 0x0000001C) */
|
||||
DWORD cbHeaderSize;
|
||||
/* Specifies which fields are present/populated (SLI_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
|
||||
DWORD cbVolumeIDOffset;
|
||||
/* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathOffset;
|
||||
/* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
|
||||
DWORD cbCommonNetworkRelativeLinkOffset;
|
||||
/* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixOffset;
|
||||
} SHELL_LINK_INFOA, *LPSHELL_LINK_INFOA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFOW
|
||||
{
|
||||
/* Size of the link info data */
|
||||
DWORD cbSize;
|
||||
/* Size of this structure (Unicode: >= 0x00000024) */
|
||||
DWORD cbHeaderSize;
|
||||
/* Specifies which fields are present/populated (SLI_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
|
||||
DWORD cbVolumeIDOffset;
|
||||
/* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathOffset;
|
||||
/* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
|
||||
DWORD cbCommonNetworkRelativeLinkOffset;
|
||||
/* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixOffset;
|
||||
/* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
|
||||
DWORD cbLocalBasePathUnicodeOffset;
|
||||
/* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
|
||||
DWORD cbCommonPathSuffixUnicodeOffset;
|
||||
} SHELL_LINK_INFOW, *LPSHELL_LINK_INFOW;
|
||||
|
||||
/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
|
||||
#define SLI_VALID_LOCAL 0x00000001
|
||||
/* CommonNetworkRelativeLink is present */
|
||||
#define SLI_VALID_NETWORK 0x00000002
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFO_VOLUME_IDA/W
|
||||
* If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
|
||||
* SHELL_LINK_INFO_VOLUME_IDA
|
||||
* If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFO_VOLUME_IDA
|
||||
{
|
||||
/* Size of the VolumeID field (> 0x00000010) */
|
||||
DWORD cbSize;
|
||||
/* Drive type of the drive the link target is stored on (DRIVE_*) */
|
||||
DWORD dwDriveType;
|
||||
/* Serial number of the volume the link target is stored on */
|
||||
DWORD nDriveSerialNumber;
|
||||
/* Offset of the volume label (ANSI, NULL-terminated string).
|
||||
Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
|
||||
DWORD cbVolumeLabelOffset;
|
||||
} SHELL_LINK_INFO_VOLUME_IDA, *LPSHELL_LINK_INFO_VOLUME_IDA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFO_VOLUME_IDW
|
||||
{
|
||||
/* Size of the VolumeID field (> 0x00000010) */
|
||||
DWORD cbSize;
|
||||
/* Drive type of the drive the link target is stored on (DRIVE_*) */
|
||||
DWORD dwDriveType;
|
||||
/* Serial number of the volume the link target is stored on */
|
||||
DWORD nDriveSerialNumber;
|
||||
/* Offset of the volume label (ANSI, NULL-terminated string).
|
||||
If the value of this field is 0x00000014, ignore it and use
|
||||
cbVolumeLabelUnicodeOffset! */
|
||||
DWORD cbVolumeLabelOffset;
|
||||
/* Offset of the volume label (Unicode, NULL-terminated string).
|
||||
If the value of the VolumeLabelOffset field is not 0x00000014,
|
||||
this field must be ignored (==> it doesn't exists ==> ANSI). */
|
||||
DWORD cbVolumeLabelUnicodeOffset;
|
||||
} SHELL_LINK_INFO_VOLUME_IDW, *LPSHELL_LINK_INFO_VOLUME_IDW;
|
||||
|
||||
/*****************************************************************************
|
||||
* SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
|
||||
* If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
|
||||
* If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
|
||||
*/
|
||||
typedef struct tagSHELL_LINK_INFO_CNR_LINKA
|
||||
{
|
||||
/* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
|
||||
DWORD cbSize;
|
||||
/* Specifies which fields are present/populated (SLI_CNR_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the NetName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbNetNameOffset;
|
||||
/* Offset of the DeviceName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbDeviceNameOffset;
|
||||
/* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
|
||||
DWORD dwNetworkProviderType;
|
||||
} SHELL_LINK_INFO_CNR_LINKA, *LPSHELL_LINK_INFO_CNR_LINKA;
|
||||
|
||||
typedef struct tagSHELL_LINK_INFO_CNR_LINKW
|
||||
{
|
||||
/* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
|
||||
DWORD cbSize;
|
||||
/* Specifies which fields are present/populated (SLI_CNR_*) */
|
||||
DWORD dwFlags;
|
||||
/* Offset of the NetName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbNetNameOffset;
|
||||
/* Offset of the DeviceName field (ANSI, NULL–terminated string) */
|
||||
DWORD cbDeviceNameOffset;
|
||||
/* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
|
||||
DWORD dwNetworkProviderType;
|
||||
/* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
|
||||
DWORD cbNetNameUnicodeOffset;
|
||||
/* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
|
||||
DWORD cbDeviceNameUnicodeOffset;
|
||||
} SHELL_LINK_INFO_CNR_LINKW, *LPSHELL_LINK_INFO_CNR_LINKW;
|
||||
|
||||
/* DeviceName is present */
|
||||
#define SLI_CNR_VALID_DEVICE 0x00000001
|
||||
/* NetworkProviderType is present */
|
||||
#define SLI_CNR_VALID_NET_TYPE 0x00000002
|
||||
|
||||
/*****************************************************************************
|
||||
* Shell Link Extra Data (IShellLinkDataList)
|
||||
*/
|
||||
typedef struct tagEXP_TRACKER
|
||||
{
|
||||
/* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Length >= 0x00000058 */
|
||||
DWORD nLength;
|
||||
/* Must be 0x00000000 */
|
||||
DWORD nVersion;
|
||||
/* NetBIOS name (ANSI, unused bytes are set to zero) */
|
||||
CHAR szMachineID[16]; /* "variable" >= 16 (?) */
|
||||
/* Some GUIDs for the Link Tracking service (from the FS?) */
|
||||
GUID guidDroidVolume;
|
||||
GUID guidDroidObject;
|
||||
GUID guidDroidBirthVolume;
|
||||
GUID guidDroidBirthObject;
|
||||
} EXP_TRACKER, *LPEXP_TRACKER;
|
||||
|
||||
typedef struct tagEXP_SHIM
|
||||
{
|
||||
/* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
|
||||
WCHAR szwLayerName[64]; /* "variable" >= 64 */
|
||||
} EXP_SHIM, *LPEXP_SHIM;
|
||||
|
||||
typedef struct tagEXP_KNOWN_FOLDER
|
||||
{
|
||||
/* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* A GUID value that identifies a known folder */
|
||||
GUID guidKnownFolder;
|
||||
/* Specifies the location of the ItemID of the first child
|
||||
segment of the IDList specified by guidKnownFolder */
|
||||
DWORD cbOffset;
|
||||
} EXP_KNOWN_FOLDER, *LPEXP_KNOWN_FOLDER;
|
||||
|
||||
typedef struct tagEXP_VISTA_ID_LIST
|
||||
{
|
||||
/* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
|
||||
DATABLOCK_HEADER dbh;
|
||||
/* Specifies an alternate IDList that can be used instead
|
||||
of the "normal" IDList (SLDF_HAS_ID_LIST) */
|
||||
/* LPITEMIDLIST pIDList; (variable) */
|
||||
} EXP_VISTA_ID_LIST, *LPEXP_VISTA_ID_LIST;
|
||||
|
||||
#define EXP_TRACKER_SIG 0xa0000003
|
||||
#define EXP_SHIM_SIG 0xa0000008
|
||||
#define EXP_KNOWN_FOLDER_SIG 0xa000000b
|
||||
#define EXP_VISTA_ID_LIST_SIG 0xa000000c
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_UNDOCSHELL_H */
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef _UNDOCUSER_H
|
||||
#define _UNDOCUSER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/* Built in class atoms */
|
||||
#define WC_MENU (MAKEINTATOM(0x8000))
|
||||
#define WC_DESKTOP (MAKEINTATOM(0x8001))
|
||||
@@ -32,6 +36,7 @@
|
||||
#define WM_COPYGLOBALDATA 0x00000049
|
||||
#define WM_LOGONNOTIFY 0x0000004C
|
||||
#define WM_KEYF1 0x0000004D
|
||||
#define WM_KLUDGEMINRECT 0x0000008B
|
||||
#define WM_NCUAHDRAWCAPTION 0x000000AE
|
||||
#define WM_NCUAHDRAWFRAME 0x000000AF
|
||||
#define WM_SYSTIMER 0x00000118
|
||||
@@ -102,6 +107,11 @@
|
||||
#define LN_MESSAGE_BEEP 0x9
|
||||
#define LN_START_SCREENSAVE 0xA
|
||||
|
||||
//
|
||||
// Undocumented flags for DrawCaptionTemp
|
||||
//
|
||||
#define DC_NOSENDMSG 0x2000
|
||||
|
||||
#define STARTF_SCRNSAVER 0x80000000
|
||||
|
||||
#define CW_USEDEFAULT16 ((short)0x8000)
|
||||
@@ -133,6 +143,18 @@ LONG WINAPI CsrBroadcastSystemMessageExW(DWORD dwflags,
|
||||
BOOL WINAPI CliImmSetHotKey(DWORD dwID, UINT uModifiers, UINT uVirtualKey, HKL hKl);
|
||||
HWND WINAPI GetTaskmanWindow(VOID);
|
||||
HWND WINAPI GetProgmanWindow(VOID);
|
||||
BOOL WINAPI SetShellWindow(HWND);
|
||||
BOOL WINAPI SetShellWindowEx(HWND, HWND);
|
||||
|
||||
BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
|
||||
BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define DrawCaptionTemp DrawCaptionTempW
|
||||
#else
|
||||
#define DrawCaptionTemp DrawCaptionTempA
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// User api hook
|
||||
@@ -204,4 +226,8 @@ BOOL WINAPI RegisterUserApiHook(PUSERAPIHOOKINFO puah);
|
||||
|
||||
BOOL WINAPI UnregisterUserApiHook(VOID);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2014 Qian Hong 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 __WINE_ATLCOM_H__
|
||||
#define __WINE_ATLCOM_H__
|
||||
|
||||
#ifndef __WINE_ATLBASE_H__
|
||||
# error You must include atlbase.h to use this header
|
||||
#endif
|
||||
|
||||
typedef struct ATL_PROPMAP_ENTRY
|
||||
{
|
||||
LPCOLESTR szDesc;
|
||||
#if _ATL_VER < _ATL_VER_100
|
||||
DISPID dispid;
|
||||
const CLSID *pclsidPropPage;
|
||||
const IID *piidDispatch;
|
||||
#else
|
||||
const CLSID *pclsidPropPage;
|
||||
const IID *piidDispatch;
|
||||
void *rgclsidAllowed;
|
||||
DWORD cclsidAllowed;
|
||||
DISPID dispid;
|
||||
#endif
|
||||
DWORD dwOffsetData;
|
||||
DWORD dwSizeData;
|
||||
VARTYPE vt;
|
||||
} ATL_PROPMAP_ENTRY;
|
||||
|
||||
HRESULT WINAPI AtlIPersistStreamInit_Load(IStream*, ATL_PROPMAP_ENTRY*, void*, IUnknown*);
|
||||
HRESULT WINAPI AtlIPersistStreamInit_Save(IStream*, BOOL, ATL_PROPMAP_ENTRY*, void*, IUnknown*);
|
||||
HRESULT WINAPI AtlIPersistPropertyBag_Load(IPropertyBag*, IErrorLog*, ATL_PROPMAP_ENTRY*, void*, IUnknown*);
|
||||
HRESULT WINAPI AtlIPersistPropertyBag_Save(IPropertyBag*, BOOL, BOOL, ATL_PROPMAP_ENTRY*, void*, IUnknown*);
|
||||
|
||||
#endif /* __WINE_ATLCOM_H__ */
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
/* Define to a function attribute for Microsoft hotpatch assembly prefix. */
|
||||
#ifndef DECLSPEC_HOTPATCH
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) || defined(__clang__)
|
||||
/* FIXME: http://llvm.org/bugs/show_bug.cgi?id=20888 */
|
||||
#define DECLSPEC_HOTPATCH
|
||||
#else
|
||||
#define DECLSPEC_HOTPATCH __attribute__((__ms_hook_prologue__))
|
||||
|
||||
@@ -231,6 +231,124 @@ static __inline const char *wine_dbgstr_longlong( ULONGLONG ll )
|
||||
else return wine_dbg_sprintf( "%lx", (unsigned long)ll );
|
||||
}
|
||||
|
||||
#if defined(__oaidl_h__) && defined(V_VT)
|
||||
|
||||
static inline const char *wine_dbgstr_vt( VARTYPE vt )
|
||||
{
|
||||
static const char *const variant_types[] =
|
||||
{
|
||||
"VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE",
|
||||
"VT_BSTR","VT_DISPATCH","VT_ERROR","VT_BOOL","VT_VARIANT","VT_UNKNOWN",
|
||||
"VT_DECIMAL","15","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8",
|
||||
"VT_INT","VT_UINT","VT_VOID","VT_HRESULT","VT_PTR","VT_SAFEARRAY",
|
||||
"VT_CARRAY","VT_USERDEFINED","VT_LPSTR","VT_LPWSTR","32","33","34","35",
|
||||
"VT_RECORD","VT_INT_PTR","VT_UINT_PTR","39","40","41","42","43","44","45",
|
||||
"46","47","48","49","50","51","52","53","54","55","56","57","58","59","60",
|
||||
"61","62","63","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE",
|
||||
"VT_STREAMED_OBJECT","VT_STORED_OBJECT","VT_BLOB_OBJECT","VT_CF","VT_CLSID",
|
||||
"VT_VERSIONED_STREAM"
|
||||
};
|
||||
|
||||
static const char *const variant_flags[16] =
|
||||
{
|
||||
"",
|
||||
"|VT_VECTOR",
|
||||
"|VT_ARRAY",
|
||||
"|VT_VECTOR|VT_ARRAY",
|
||||
"|VT_BYREF",
|
||||
"|VT_VECTOR|VT_ARRAY",
|
||||
"|VT_ARRAY|VT_BYREF",
|
||||
"|VT_VECTOR|VT_ARRAY|VT_BYREF",
|
||||
"|VT_RESERVED",
|
||||
"|VT_VECTOR|VT_RESERVED",
|
||||
"|VT_ARRAY|VT_RESERVED",
|
||||
"|VT_VECTOR|VT_ARRAY|VT_RESERVED",
|
||||
"|VT_BYREF|VT_RESERVED",
|
||||
"|VT_VECTOR|VT_ARRAY|VT_RESERVED",
|
||||
"|VT_ARRAY|VT_BYREF|VT_RESERVED",
|
||||
"|VT_VECTOR|VT_ARRAY|VT_BYREF|VT_RESERVED",
|
||||
};
|
||||
|
||||
if (vt & ~VT_TYPEMASK)
|
||||
return wine_dbg_sprintf( "%s%s", wine_dbgstr_vt(vt&VT_TYPEMASK), variant_flags[vt>>12] );
|
||||
|
||||
if (vt < sizeof(variant_types)/sizeof(*variant_types))
|
||||
return variant_types[vt];
|
||||
|
||||
if (vt == VT_BSTR_BLOB)
|
||||
return "VT_BSTR_BLOB";
|
||||
|
||||
return wine_dbg_sprintf( "vt(invalid %x)", vt );
|
||||
}
|
||||
|
||||
static inline const char *wine_dbgstr_variant( const VARIANT *v )
|
||||
{
|
||||
if (!v)
|
||||
return "(null)";
|
||||
|
||||
if (V_VT(v) & VT_BYREF) {
|
||||
if (V_VT(v) == (VT_VARIANT|VT_BYREF))
|
||||
return wine_dbg_sprintf( "%p {VT_VARIANT|VT_BYREF: %s}", v, wine_dbgstr_variant(V_VARIANTREF(v)) );
|
||||
return wine_dbg_sprintf( "%p {%s %p}", v, wine_dbgstr_vt(V_VT(v)), V_BYREF(v) );
|
||||
}
|
||||
|
||||
if (V_ISARRAY(v) || V_ISVECTOR(v))
|
||||
return wine_dbg_sprintf( "%p {%s %p}", v, wine_dbgstr_vt(V_VT(v)), V_ARRAY(v) );
|
||||
|
||||
switch(V_VT(v)) {
|
||||
case VT_EMPTY:
|
||||
return wine_dbg_sprintf( "%p {VT_EMPTY}", v );
|
||||
case VT_NULL:
|
||||
return wine_dbg_sprintf( "%p {VT_NULL}", v );
|
||||
case VT_I2:
|
||||
return wine_dbg_sprintf( "%p {VT_I2: %d}", v, V_I2(v) );
|
||||
case VT_I4:
|
||||
return wine_dbg_sprintf( "%p {VT_I4: %d}", v, V_I4(v) );
|
||||
case VT_R4:
|
||||
return wine_dbg_sprintf( "%p {VT_R4: %f}", v, V_R4(v) );
|
||||
case VT_R8:
|
||||
return wine_dbg_sprintf( "%p {VT_R8: %lf}", v, V_R8(v) );
|
||||
case VT_CY:
|
||||
return wine_dbg_sprintf( "%p {VT_CY: %s}", v, wine_dbgstr_longlong(V_CY(v).int64) );
|
||||
case VT_DATE:
|
||||
return wine_dbg_sprintf( "%p {VT_DATE: %lf}", v, V_DATE(v) );
|
||||
case VT_BSTR:
|
||||
return wine_dbg_sprintf( "%p {VT_BSTR: %s}", v, wine_dbgstr_w(V_BSTR(v)) );
|
||||
case VT_DISPATCH:
|
||||
return wine_dbg_sprintf( "%p {VT_DISPATCH: %p}", v, V_DISPATCH(v) );
|
||||
case VT_ERROR:
|
||||
return wine_dbg_sprintf( "%p {VT_ERROR: %08x}", v, V_ERROR(v) );
|
||||
case VT_BOOL:
|
||||
return wine_dbg_sprintf( "%p {VT_BOOL: %x}", v, V_BOOL(v) );
|
||||
case VT_UNKNOWN:
|
||||
return wine_dbg_sprintf( "%p {VT_UNKNOWN: %p}", v, V_UNKNOWN(v) );
|
||||
case VT_I1:
|
||||
return wine_dbg_sprintf( "%p {VT_I1: %d}", v, V_I1(v) );
|
||||
case VT_UI1:
|
||||
return wine_dbg_sprintf( "%p {VT_UI1: %u}", v, V_UI1(v) );
|
||||
case VT_UI2:
|
||||
return wine_dbg_sprintf( "%p {VT_UI2: %d}", v, V_UI2(v) );
|
||||
case VT_UI4:
|
||||
return wine_dbg_sprintf( "%p {VT_UI4: %d}", v, V_UI4(v) );
|
||||
case VT_I8:
|
||||
return wine_dbg_sprintf( "%p {VT_I8: %s}", v, wine_dbgstr_longlong(V_I8(v)) );
|
||||
case VT_UI8:
|
||||
return wine_dbg_sprintf( "%p {VT_UI8: %s}", v, wine_dbgstr_longlong(V_UI8(v)) );
|
||||
case VT_INT:
|
||||
return wine_dbg_sprintf( "%p {VT_INT: %d}", v, V_INT(v) );
|
||||
case VT_UINT:
|
||||
return wine_dbg_sprintf( "%p {VT_UINT: %u}", v, V_UINT(v) );
|
||||
case VT_VOID:
|
||||
return wine_dbg_sprintf( "%p {VT_VOID}", v );
|
||||
case VT_RECORD:
|
||||
return wine_dbg_sprintf( "%p {VT_RECORD: %p %p}", v, V_UNION(v,brecVal).pvRecord, V_UNION(v,brecVal).pRecInfo );
|
||||
default:
|
||||
return wine_dbg_sprintf( "%p {vt %s}", v, wine_dbgstr_vt(V_VT(v)) );
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* defined(__oaidl_h__) && defined(V_VT) */
|
||||
|
||||
#ifndef WINE_TRACE
|
||||
#define WINE_TRACE __WINE_DPRINTF(_TRACE,__wine_dbch___default)
|
||||
#define WINE_TRACE_(ch) __WINE_DPRINTF(_TRACE,&__wine_dbch_##ch)
|
||||
@@ -270,6 +388,11 @@ static __inline const char *debugstr_guid( const struct _GUID *id ) { return win
|
||||
static __inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
|
||||
static __inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
|
||||
|
||||
#if defined(__oaidl_h__) && defined(V_VT)
|
||||
static __inline const char *debugstr_vt( VARTYPE vt ) { return wine_dbgstr_vt( vt ); }
|
||||
static __inline const char *debugstr_variant( const VARIANT *v ) { return wine_dbgstr_variant( v ); }
|
||||
#endif
|
||||
|
||||
#define TRACE WINE_TRACE
|
||||
#define TRACE_(ch) WINE_TRACE_(ch)
|
||||
#define TRACE_ON(ch) WINE_TRACE_ON(ch)
|
||||
|
||||
@@ -136,6 +136,7 @@ HRESULT WINAPI BaseOutputPinImpl_DecideAllocator(BaseOutputPin *This, IMemInputP
|
||||
HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin *This, IPin * pReceivePin, const AM_MEDIA_TYPE * pmt);
|
||||
|
||||
HRESULT WINAPI BaseOutputPin_Construct(const IPinVtbl *OutputPin_Vtbl, LONG outputpin_size, const PIN_INFO * pPinInfo, const BaseOutputPinFuncTable* pBaseOutputFuncsTable, LPCRITICAL_SECTION pCritSec, IPin ** ppPin);
|
||||
HRESULT WINAPI BaseOutputPin_Destroy(BaseOutputPin *This);
|
||||
|
||||
/* Base Input Pin */
|
||||
HRESULT WINAPI BaseInputPinImpl_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv);
|
||||
@@ -151,6 +152,7 @@ HRESULT WINAPI BaseInputPinImpl_NewSegment(IPin * iface, REFERENCE_TIME tStart,
|
||||
HRESULT BaseInputPin_Construct(const IPinVtbl *InputPin_Vtbl, LONG inputpin_size, const PIN_INFO * pPinInfo,
|
||||
const BaseInputPinFuncTable* pBaseInputFuncsTable,
|
||||
LPCRITICAL_SECTION pCritSec, IMemAllocator *, IPin ** ppPin);
|
||||
HRESULT WINAPI BaseInputPin_Destroy(BaseInputPin *This);
|
||||
|
||||
typedef struct BaseFilter
|
||||
{
|
||||
|
||||
@@ -306,7 +306,11 @@ void winetest_set_location( const char* file, int line )
|
||||
|
||||
int broken( int condition )
|
||||
{
|
||||
return (strcmp(winetest_platform, "windows") == 0) && condition;
|
||||
return ((strcmp(winetest_platform, "windows") == 0)
|
||||
#ifndef USE_WINE_TODOS
|
||||
|| (strcmp(winetest_platform, "reactos") == 0)
|
||||
#endif
|
||||
) && condition;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -411,7 +415,11 @@ void __winetest_cdecl winetest_win_skip( const char *msg, ... )
|
||||
{
|
||||
__winetest_va_list valist;
|
||||
__winetest_va_start(valist, msg);
|
||||
if ((strcmp(winetest_platform, "windows") == 0) || (strcmp(winetest_platform, "reactos") == 0))
|
||||
if ((strcmp(winetest_platform, "windows") == 0)
|
||||
#ifndef USE_WINE_TODOS
|
||||
|| (strcmp(winetest_platform, "reactos") == 0)
|
||||
#endif
|
||||
)
|
||||
winetest_vskip(msg, valist);
|
||||
else
|
||||
winetest_vok(0, msg, valist);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user