Modify shell32 and uuid to work with the new idls.
This will break build till next commit.
svn path=/trunk/; revision=47953
* ordinal. If you change the implementation here please update the code in
* shlwapi as well.
*/
-int WINAPIV ShellMessageBoxW(
+int WINAPI ShellMessageBoxW(
HINSTANCE hInstance,
HWND hWnd,
LPCWSTR lpText,
* NOTES
* Exported by ordinal
*/
-int WINAPIV ShellMessageBoxA(
+int WINAPI ShellMessageBoxA(
HINSTANCE hInstance,
HWND hWnd,
LPCSTR lpText,
# endif
#endif
-#if defined(_WINE)
+#ifndef _PID_T_
+#define _PID_T_
#ifndef _WIN64
typedef int _pid_t;
#else
typedef __int64 _pid_t;
#endif
+
#ifndef NO_OLDNAMES
-#ifndef __pid_t_defined
-#define __pid_t_defined
typedef _pid_t pid_t;
-#endif /* __pid_t_defined */
-#endif
#endif
+#endif /* Not _PID_T_ */
#endif /* !_INC_TYPES */
RenderData = 2
} OUTPUT_STATE;
-/*
[
object,
uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
[propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
[propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
};
-*/
[
object,
HRESULT Initialize(
[in] STREAM_TYPE StreamType,
[in] DWORD dwFlags,
- [in, optional] IGraphBuilder *pFilterGraph);
+ [in] IGraphBuilder *pFilterGraph);
HRESULT GetFilterGraph(
[out] IGraphBuilder **ppGraphBuilder);
[out] IMediaStreamFilter **ppFilter);
HRESULT AddMediaStream(
- [in, optional] IUnknown *pStreamObject,
- [in, optional] const MSPID *PurposeId,
+ [in] IUnknown *pStreamObject,
+ [in] const MSPID *PurposeId,
[in] DWORD dwFlags,
- [out, optional] IMediaStream **ppNewStream);
+ [out] IMediaStream **ppNewStream);
HRESULT OpenFile(
[in] LPCWSTR pszFileName,
interface IAMMediaStream : IMediaStream
{
HRESULT Initialize(
- [in, optional] IUnknown *pSourceObject,
+ [in] IUnknown *pSourceObject,
[in] DWORD dwFlags,
[in] REFMSPID PurposeId,
[in] const STREAM_TYPE StreamType);
HRESULT CreateSample(
[in] long lSampleSize,
- [in, optional] BYTE * pbBuffer,
+ [in] BYTE * pbBuffer,
[in] DWORD dwFlags,
- [in, optional] IUnknown *pUnkOuter,
+ [in] IUnknown *pUnkOuter,
[out] IAMMediaTypeSample ** ppAMMediaTypeSample);
HRESULT GetStreamAllocatorRequirements(
--- /dev/null
+/*
+ * Copyright (C) 2003 Robert Shearman
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "objidl.idl";
+
+/* trick widl into thinking that it knows the DirectDraw types
+ * as there is no IDL file for them (yet) */
+cpp_quote("#if 0")
+typedef void * LPDIRECTDRAW;
+typedef void DDSURFACEDESC,DDCAPS;
+typedef DWORD RGBQUAD;
+typedef LONGLONG REFERENCE_TIME;
+typedef struct
+{
+ DWORD biSize;
+ LONG biWidth;
+ LONG biHeight;
+ WORD biPlanes;
+ WORD biBitCount;
+ DWORD biCompression;
+ DWORD biSizeImage;
+ LONG biXPelsPerMeter;
+ LONG biYPelsPerMeter;
+ DWORD biClrUsed;
+ DWORD biClrImportant;
+} BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
+cpp_quote("#endif")
+
+cpp_quote("#include <ddraw.h>")
+
+cpp_quote("#define AMDDS_NONE 0x00")
+cpp_quote("#define AMDDS_DCIPS 0x01")
+cpp_quote("#define AMDDS_PS 0x02")
+cpp_quote("#define AMDDS_RGBOVR 0x04")
+cpp_quote("#define AMDDS_YUVOVR 0x08")
+cpp_quote("#define AMDDS_RGBOFF 0x10")
+cpp_quote("#define AMDDS_YUVOFF 0x20")
+cpp_quote("#define AMDDS_RGBFLP 0x40")
+cpp_quote("#define AMDDS_YUVFLP 0x80")
+cpp_quote("#define AMDDS_ALL 0xFF")
+cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL")
+
+cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)")
+cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)")
+cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)")
+
+[
+ object,
+ /* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IDirectDrawVideo : IUnknown
+{
+ HRESULT GetSwitches([out] DWORD * pSwitches);
+ HRESULT SetSwitches([in] DWORD Switches);
+ HRESULT GetCaps([out] DDCAPS * pCaps);
+ HRESULT GetEmulatedCaps([out] DDCAPS *pCaps);
+ HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
+ HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
+ HRESULT SetDirectDraw([in] LPDIRECTDRAW pDirectDraw);
+ HRESULT GetDirectDraw([out] LPDIRECTDRAW * ppDirectDraw);
+ HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
+ HRESULT SetDefault();
+ HRESULT UseScanLine([in] long UseScanLine);
+ HRESULT CanUseScanLine([out] long * UseScanLine);
+ HRESULT UseOverlayStretch([in] long UseOverlayStretch);
+ HRESULT CanUseOverlayStretch([out] long * UseOverlayStretch);
+ HRESULT UseWhenFullScreen([in] long UseWhenFullScreen);
+ HRESULT WillUseFullScreen([out] long * UseWhenFullScreen);
+}
+
+[
+ object,
+ /* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IQualProp : IUnknown
+{
+ [propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames);
+ [propget] HRESULT FramesDrawn([out] int * pcFramesDrawn);
+ [propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate);
+ [propget] HRESULT Jitter([out] int * iJitter);
+ [propget] HRESULT AvgSyncOffset([out] int * piAvg);
+ [propget] HRESULT DevSyncOffset([out] int * piDev);
+}
+
+[
+ object,
+ /* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */
+ pointer_default(unique)
+]
+interface IFullScreenVideo : IUnknown
+{
+ HRESULT CountModes([out] long * pModes);
+ HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth);
+ HRESULT GetCurrentMode([out] long * pMode);
+ HRESULT IsModeAvailable([in] long Mode);
+ HRESULT IsModeEnabled([in] long Mode);
+ HRESULT SetEnabled([in] long Mode, [in] long bEnabled);
+ HRESULT GetClipFactor([out] long * pClipFactor);
+ HRESULT SetClipFactor([in] long ClipFactor);
+ HRESULT SetMessageDrain([in] HWND hwnd);
+ HRESULT GetMessageDrain([out] HWND * hwnd);
+ HRESULT SetMonitor([in] long Monitor);
+ HRESULT GetMonitor([out] long * Monitor);
+ HRESULT HideOnDeactivate([in] long Hide);
+ HRESULT IsHideOnDeactivate();
+ HRESULT SetCaption([in] BSTR strCaption);
+ HRESULT GetCaption([out] BSTR * pstrCaption);
+ HRESULT SetDefault();
+}
+
+[
+ object,
+ /* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IFullScreenVideoEx : IFullScreenVideo
+{
+ HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel);
+ HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel);
+ HRESULT KeepPixelAspectRatio([in] long KeepAspect);
+ /* FIXME: not sure is this next method is an [out] */
+ HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect);
+}
+
+[
+ object,
+ /* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IBaseVideoMixer : IUnknown
+{
+ HRESULT SetLeadPin([in] int iPin);
+ HRESULT GetLeadPin([out] int * piPin);
+ HRESULT GetInputPinCount([out] int * piPinCount);
+ HRESULT IsUsingClock([out] int * pbValue);
+ HRESULT SetUsingClock([in] int bValue);
+ HRESULT GetClockPeriod([out] int * pbValue);
+ HRESULT SetClockPeriod([in] int bValue);
+}
+
+#define iPALETTE_COLORS 256
+#define iMASK_COLORS 3
+
+cpp_quote("#define iPALETTE_COLORS 256")
+cpp_quote("#define iEGA_COLORS 16")
+cpp_quote("#define iMASK_COLORS 3")
+cpp_quote("#define iTRUECOLOR 16")
+cpp_quote("#define iRED 0")
+cpp_quote("#define iGREEN 1")
+cpp_quote("#define iBLUE 2")
+cpp_quote("#define iPALETTE 8")
+cpp_quote("#define iMAXBITS 8")
+
+typedef struct tag_TRUECOLORINFO
+{
+ DWORD dwBitMasks[iMASK_COLORS];
+ RGBQUAD bmiColors[iPALETTE_COLORS];
+} TRUECOLORINFO;
+
+typedef struct tagVIDEOINFOHEADER
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+
+ BITMAPINFOHEADER bmiHeader;
+} VIDEOINFOHEADER;
+
+typedef struct tagVIDEOINFO
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+
+ BITMAPINFOHEADER bmiHeader;
+
+ union
+ {
+ RGBQUAD bmiColors[iPALETTE_COLORS];
+ DWORD dwBitMasks[iMASK_COLORS];
+ TRUECOLORINFO TrueColorInfo;
+ } DUMMYUNIONNAME;
+} VIDEOINFO;
+
+typedef struct tagMPEG1VIDEOINFO
+{
+ VIDEOINFOHEADER hdr;
+ DWORD dwStartTimeCode;
+ DWORD cbSequenceHeader;
+ BYTE bSequenceHeader[1];
+} MPEG1VIDEOINFO;
+
+cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140")
+cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)")
+
+typedef struct tagAnalogVideoInfo
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwActiveWidth;
+ DWORD dwActiveHeight;
+ REFERENCE_TIME AvgTimePerFrame;
+} ANALOGVIDEOINFO;
+
+typedef enum
+{
+ AM_PROPERTY_FRAMESTEP_STEP = 0x01,
+ AM_PROPERTY_FRAMESTEP_CANCEL = 0x02,
+ AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03,
+ AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04
+} AM_PROPERTY_FRAMESTEP;
+
+typedef struct _AM_FRAMESTEP_STEP
+{
+ DWORD dwFramesToStep;
+} AM_FRAMESTEP_STEP;
cpp_quote("#define MAX_PIN_NAME 128")
cpp_quote("#define MAX_FILTER_NAME 128")
+cpp_quote("#ifndef REFERENCE_TIME_DEFINED")
+cpp_quote("#define REFERENCE_TIME_DEFINED")
typedef LONGLONG REFERENCE_TIME;
+cpp_quote("#endif")
cpp_quote("#ifndef REFTIME_DEFINED")
cpp_quote("#define REFTIME_DEFINED")
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
<module name="dxsdk" type="idlheader">
+ <file>amvideo.idl</file>
<file>amstream.idl</file>
<file>austream.idl</file>
<file>bdatif.idl</file>
--- /dev/null
+/*
+ * Copyright (C) 2010 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+import "objidl.idl";
+import "oaidl.idl";
+
+[
+ object,
+ dual,
+ uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8)
+]
+interface IRequestDictionary : IDispatch
+{
+ [propget]
+ HRESULT Item(IRequestDictionary *iface, [in, optional] VARIANT Var,
+ [retval, out] VARIANT *pVariantReturn);
+
+ [restricted, propget]
+ HRESULT _NewEnum(IRequestDictionary *iface, [retval, out] IUnknown **ppEnumReturn);
+
+ [propget]
+ HRESULT Count(IRequestDictionary *iface, [retval, out] int *cStrRet);
+
+ [propget]
+ HRESULT Key(IRequestDictionary *iface, [in] VARIANT VarKey, [retval, out]VARIANT *pvar);
+};
+
+[
+ object,
+ dual,
+ uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8)
+]
+interface IResponse : IDispatch
+{
+ [propget]
+ HRESULT Buffer(IResponse *iface, [retval, out] VARIANT_BOOL *fIsBuffering);
+
+ [propput]
+ HRESULT Buffer(IResponse *iface, [in] VARIANT_BOOL fIsBuffering);
+
+ [propget]
+ HRESULT ContentType(IResponse *iface, [retval, out] BSTR *pbstrContentTypeRet);
+
+ [propput]
+ HRESULT ContentType(IResponse *iface, [in] BSTR bstrContentType);
+
+ [propget]
+ HRESULT Expires(IResponse *iface, [retval, out] VARIANT *pvarExpiresMinutesRet);
+
+ [propput]
+ HRESULT Expires(IResponse *iface, [in] long lExpiresMinutes);
+
+ [propget]
+ HRESULT ExpiresAbsolute(IResponse *iface, [retval, out] VARIANT *pvarExpiresRet);
+
+ [propput]
+ HRESULT ExpiresAbsolute(IResponse *iface, [in] DATE dtExpires);
+
+ [propget]
+ HRESULT Cookies(IResponse *iface, [retval, out] IRequestDictionary **ppCookies);
+
+ [propget]
+ HRESULT Status(IResponse *iface, [retval][out] BSTR *pbstrStatusRet);
+
+ [propput]
+ HRESULT Status(IResponse *iface, [in] BSTR bstrStatus);
+
+ [hidden]
+ HRESULT Add(IResponse *iface, [in] BSTR bstrHeaderValue, [in] BSTR bstrHeaderName);
+
+ HRESULT AddHeader(IResponse *iface, [in] BSTR bstrHeaderName, [in] BSTR bstrHeaderValue);
+
+ HRESULT AppendToLog(IResponse *iface, [in] BSTR bstrLogEntry);
+
+ HRESULT BinaryWrite(IResponse *iface, [in] VARIANT varInput);
+
+ HRESULT Clear(IResponse *iface);
+
+ HRESULT End(IResponse *iface);
+
+ HRESULT Flush(IResponse *iface);
+
+ HRESULT Redirect(IResponse *iface, [in] BSTR bstrURL);
+
+ HRESULT Write(IResponse *iface, [in] VARIANT varText);
+
+ [hidden]
+ HRESULT WriteBlock(IResponse *iface, [in] short iBlockNumber);
+
+ HRESULT IsClientConnected(IResponse *iface, [retval, out] VARIANT_BOOL *pfIsClientConnected);
+
+ [propget]
+ HRESULT get_CharSet( IResponse *iface, [retval, out] BSTR *pbstrCharSetRet);
+
+ [propput]
+ HRESULT put_CharSet(IResponse *iface, [in] BSTR bstrCharSet);
+
+ HRESULT Pics(IResponse *iface, [in] BSTR bstrHeaderValue);
+
+ [propget]
+ HRESULT get_CacheControl(IResponse *iface, [retval, out] BSTR *pbstrCacheControl);
+
+ [propput]
+ HRESULT put_CacheControl(IResponse *iface, [in] BSTR bstrCacheControl);
+
+ [propget]
+ HRESULT get_CodePage(IResponse *iface, [retval, out] long *plvar);
+
+ [propput]
+ HRESULT put_CodePage(IResponse *iface, [in] long lvar);
+
+ [propget]
+ HRESULT get_LCID(IResponse *iface, [retval, out] long *plvar);
+
+ [propput]
+ HRESULT put_LCID(IResponse *iface, [in] long lvar);
+};
[id(DISPID_PRIVACYIMPACTEDSTATECHANGE)]
void PrivacyImpactedStateChange([in] VARIANT_BOOL bImpacted);
+
+ [id(DISPID_NEWWINDOW3)]
+ void NewWindow3(
+ [in, out] IDispatch **ppDisp,
+ [in, out] VARIANT_BOOL *Cancel,
+ [in] DWORD dwFlags,
+ [in] BSTR bstrUrlContext,
+ [in] BSTR bstrUrl);
+
+ [id(DISPID_SETPHISHINGFILTERSTATUS)]
+ void SetPhishingFilterStatus([in] long PhishingFilterStatus);
+
+ [id(DISPID_WINDOWSTATECHANGED)]
+ void WindowStateChanged(
+ [in] DWORD dwWindowStateFlags,
+ [in] DWORD dwValidFlagsMask);
+
+ [id(DISPID_NEWPROCESS)]
+ void NewProcess(
+ [in] long lCauseFlag,
+ [in] IDispatch *pWB2,
+ [in, out] VARIANT_BOOL *Cancel);
+
+ [id(DISPID_THIRDPARTYURLBLOCKED)]
+ void ThirdPartyUrlBlocked(
+ [in] VARIANT *URL,
+ [in] DWORD dwCount);
+
+ [id(DISPID_REDIRECTXDOMAINBLOCKED)]
+ void RedirectXDomainBlocked(
+ [in] IDispatch *pDisp,
+ [in] VARIANT *StartURL,
+ [in] VARIANT *RedirectURL,
+ [in] VARIANT *Frame,
+ [in] VARIANT *StatusCode);
}
[
#define DISPID_FILEDOWNLOAD 270
#define DISPID_NAVIGATEERROR 271
#define DISPID_PRIVACYIMPACTEDSTATECHANGE 272
+#define DISPID_NEWWINDOW3 273
+#define DISPID_VIEWUPDATE 281
+#define DISPID_SETPHISHINGFILTERSTATUS 282
+#define DISPID_WINDOWSTATECHANGED 283
+#define DISPID_NEWPROCESS 284
+#define DISPID_THIRDPARTYURLBLOCKED 285
+#define DISPID_REDIRECTXDOMAINBLOCKED 286
#define DISPID_PRINTTEMPLATEINSTANTIATION 225
#define DISPID_PRINTTEMPLATETEARDOWN 226
cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
-cpp_quote("DEFINE_GUID(CLSID_TF_DisplayAttributeMgr,0x3ce74de4,0x53d3,0x4d74,0x8b,0x83,0x43,0x1b,0x38,0x28,0xba,0x53);")
+cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
/* GUIDs for Compartments */
cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
--- /dev/null
+/*
+ * Copyright 2009 Huw Davies
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+import "oledb.idl";
+
+[
+ object,
+ pointer_default(unique),
+ uuid(0c733a8d-2a1c-11ce-ade5-00aa0044773d)
+]
+interface IDataConvert : IUnknown
+{
+ typedef DWORD DBDATACONVERT;
+
+ enum DBDATACONVERTENUM
+ {
+ DBDATACONVERT_DEFAULT = 0,
+ DBDATACONVERT_SETDATABEHAVIOR = 1,
+ DBDATACONVERT_LENGTHFROMNTS = 2,
+ DBDATACONVERT_DSTISFIXEDLENGTH = 4,
+ DBDATACONVERT_DECIMALSCALE = 8
+ };
+
+ [local] HRESULT DataConvert([in] DBTYPE wSrcType,
+ [in] DBTYPE wDstType,
+ [in] DBLENGTH cbSrcLength,
+ [in, out] DBLENGTH *pcbDstLength,
+ [in] void *pSrc,
+ [out] void *pDst,
+ [in] DBLENGTH cbDstMaxLength,
+ [in] DBSTATUS dbsSrcStatus,
+ [out] DBSTATUS *pdbsDstStatus,
+ [in] BYTE bPrecision,
+ [in] BYTE bScale,
+ [in] DBDATACONVERT dwFlags);
+
+
+ HRESULT CanConvert([in] DBTYPE wSrcType,
+ [in] DBTYPE wDstType);
+
+
+ [local] HRESULT GetConversionSize([in] DBTYPE wSrcType,
+ [in] DBTYPE wDstType,
+ [in] DBLENGTH *pcbSrcLength,
+ [out] DBLENGTH *pcbDstLength,
+ [in, size_is(*pcbSrcLength)] void *pSrc);
+};
+
+[
+ object,
+ pointer_default(unique),
+ uuid(0c733a9c-2a1c-11ce-ade5-00aa0044773d)
+]
+interface IDCInfo : IUnknown
+{
+ typedef DWORD DCINFOTYPE;
+
+ enum DCINFOTYPEENUM
+ {
+ DCINFOTYPE_VERSION = 1
+ };
+
+ typedef struct tagDCINFO
+ {
+ DCINFOTYPE eInfoType;
+ VARIANT vData;
+ } DCINFO;
+
+ HRESULT GetInfo([in] ULONG cInfo,
+ [in, size_is(cInfo)] DCINFOTYPE rgeInfoType[],
+ [out, size_is(cInfo)] DCINFO **prgInfo);
+
+ HRESULT SetInfo([in] ULONG cInfo,
+ [in, size_is(cInfo)] DCINFO prgInfo[]);
+};
--- /dev/null
+/* Copyright (C) 2007 C John Klehm
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+
+[
+ uuid(7D868ACD-1A5D-4A47-A247-F39741353012),
+ version(1.0)
+]
+library MSINKAUTLib
+{
+ importlib("stdole2.tlb");
+
+ typedef float single;
+
+ typedef enum InkBoundingBoxMode {
+ IBBM_Default = 0,
+ IBBM_NoCurveFit = 1,
+ IBBM_CurveFit = 2,
+ IBBM_PointsOnly = 3,
+ IBBM_Union = 4
+ } InkBoundingBoxMode;
+
+ typedef enum InkExtractFlags {
+ IEF_CopyFromOriginal = 0x0,
+ IEF_RemoveFromOriginal = 0x1,
+ IEF_Default = IEF_RemoveFromOriginal
+ } InkExtractFlags;
+
+ typedef enum InkPersistenceFormat {
+ IPF_InkSerializeFormat = 0,
+ IPF_Base64InkSerializedFormat = 1,
+ IPF_GIF = 2,
+ IPF_Base64GIF = 3
+ } InkPersistenceFormat;
+
+ typedef enum InkPersistenceCompressionMode
+ {
+ IPCM_Default = 0,
+ IPCM_MaximumCompression = 1,
+ IPCM_NoCompression = 2
+ } InkPersistenceCompressionMode;
+
+ typedef enum InkPenTip {
+ IPT_Ball = 0,
+ IPT_Rectangle = 1
+ } InkPenTip;
+
+ typedef enum InkRasterOperation {
+ IRO_Black = 1,
+ IRO_NotMergePen,
+ IRO_MaskNotPen,
+ IRO_NotCopyPen,
+ IRO_MaskPenNot,
+ IRO_Not,
+ IRO_XOrPen,
+ IRO_NotMaskPen,
+ IRO_MaskPen,
+ IRO_NotXOrPen,
+ IRO_NoOperation,
+ IRO_MergeNotPen,
+ IRO_CopyPen,
+ IRO_MergePenNot,
+ IRO_MergePen,
+ IRO_White
+ } InkRasterOperation;
+
+ typedef enum InkClipboardModes {
+ ICB_Copy = 0,
+ ICB_Cut = 0x1,
+ ICB_DelayedCopy = 0x20,
+ ICB_ExtractOnly = 0x30,
+ ICB_Default = ICB_Copy
+ } InkClipboardModes;
+
+ typedef enum InkClipboardFormats {
+ ICF_None = 0,
+ ICF_InkSerializedFormat = 0x1,
+ ICF_SketchInk = 0x2,
+ ICF_TextInk = 0x6,
+ ICF_EnhancedMetafile = 0x8,
+ ICF_Metafile = 0x20,
+ ICF_Bitmap = 0x40,
+ ICF_PasteMask = 0x7,
+ ICF_CopyMask = 0x7f,
+ ICF_Default = ICF_CopyMask
+ } InkClipboardFormats;
+
+ typedef enum InkRecognitionConfidence
+ {
+ IRC_Strong = 0,
+ IRC_Intermediate = 1,
+ IRC_Poor = 2
+ } InkRecognitionConfidence;
+
+ [
+ odl,
+ uuid(DB489209-B7C3-411D-90F6-1548CFFF271E),
+ dual,
+ oleautomation
+ ]
+ interface IInkExtendedProperty : IDispatch {
+ [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid);
+ [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data);
+ [id(0x00000002), propput] HRESULT Data([in] VARIANT Data);
+ };
+
+ [
+ odl,
+ uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F),
+ dual,
+ oleautomation
+ ]
+ interface IInkExtendedProperties : IDispatch {
+ HRESULT Count([out, retval] long* Count);
+ HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
+ HRESULT Item(
+ [in] VARIANT Identifier,
+ [out, retval] IInkExtendedProperty** Item);
+ HRESULT Add(
+ [in] BSTR Guid,
+ [in] VARIANT Data,
+ [out, retval] IInkExtendedProperty** InkExtendedProperty);
+ HRESULT Remove([in] VARIANT Identifier);
+ HRESULT Clear();
+ HRESULT DoesPropertyExist(
+ [in] BSTR Guid,
+ [out, retval] VARIANT_BOOL* DoesPropertyExist);
+ };
+
+ [
+ odl,
+ uuid(BF519B75-0A15-4623-ADC9-C00D436A8092),
+ dual,
+ oleautomation
+ ]
+ interface IInkDrawingAttributes : IDispatch {
+ [id(0x00000002), propget] HRESULT Color(
+ [out, retval] long* CurrentColor);
+ [id(0x00000002), propput] HRESULT Color([in] long CurrentColor);
+ [id(0x00000003), propget] HRESULT Width(
+ [out, retval] single* CurrentWidth);
+ [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth);
+ [id(0x00000001), propget] HRESULT Height(
+ [out, retval] single* CurrentHeight);
+ [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight);
+ [id(0x00000004), propget] HRESULT FitToCurve(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag);
+ [id(0x00000005), propget] HRESULT IgnorePressure(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000005), propput] HRESULT IgnorePressure(
+ [in] VARIANT_BOOL Flag);
+ [id(0x00000006), propget] HRESULT AntiAliased(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag);
+ [id(0x00000007), propget] HRESULT Transparency(
+ [out, retval] long* CurrentTransparency);
+ [id(0x00000007), propput] HRESULT Transparency(
+ [in] long CurrentTransparency);
+ [id(0x00000008), propget] HRESULT RasterOperation(
+ [out, retval] InkRasterOperation* CurrentRasterOperation);
+ [id(0x00000008), propput] HRESULT RasterOperation(
+ [in] InkRasterOperation CurrentRasterOperation);
+ [id(0x00000009), propget] HRESULT PenTip(
+ [out, retval] InkPenTip* CurrentPenTip);
+ [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip);
+ [id(0x0000000b), propget] HRESULT ExtendedProperties(
+ [out, retval] IInkExtendedProperties** Properties);
+ [id(0x0000000a)] HRESULT Clone(
+ [out, retval] IInkDrawingAttributes** DrawingAttributes);
+ };
+
+cpp_quote("#ifndef _WINGDI_")
+/* already defined in wingdi.h but needed for WIDL */
+ typedef struct tagXFORM {
+ single eM11;
+ single eM12;
+ single eM21;
+ single eM22;
+ single eDx;
+ single eDy;
+ } XFORM;
+cpp_quote("#endif /* _WINGDI_ */")
+
+ [
+ odl,
+ uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7),
+ dual,
+ oleautomation
+ ]
+ interface IInkTransform : IDispatch {
+ [id(0x00000001)] HRESULT Reset();
+ [id(0x00000002)] HRESULT Translate(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x00000003)] HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ [id(0x00000004)] HRESULT Reflect(
+ [in] VARIANT_BOOL Horizontally,
+ [in] VARIANT_BOOL Vertically);
+ [id(0x00000005)] HRESULT Shear(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x00000006)] HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ [id(0x0000000d)] HRESULT GetTransform(
+ [out] single* eM11,
+ [out] single* eM12,
+ [out] single* eM21,
+ [out] single* eM22,
+ [out] single* eDx,
+ [out] single* eDy);
+ [id(0x0000000e)] HRESULT SetTransform(
+ [in] single eM11,
+ [in] single eM12,
+ [in] single eM21,
+ [in] single eM22,
+ [in] single eDx,
+ [in] single eDy);
+ [id(0x00000007), propget, hidden] HRESULT eM11(
+ [out, retval] single* Value);
+ [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value);
+ [id(0x00000008), propget, hidden] HRESULT eM12(
+ [out, retval] single* Value);
+ [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value);
+ [id(0x00000009), propget, hidden] HRESULT eM21(
+ [out, retval] single* Value);
+ [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value);
+ [id(0x0000000a), propget, hidden] HRESULT eM22(
+ [out, retval] single* Value);
+ [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value);
+ [id(0x0000000b), propget, hidden] HRESULT eDx(
+ [out, retval] single* Value);
+ [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value);
+ [id(0x0000000c), propget, hidden] HRESULT eDy(
+ [out, retval] single* Value);
+ [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value);
+ [id(0x0000000f), propget, hidden] HRESULT Data(
+ [out, retval] XFORM* XFORM);
+ [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM);
+ };
+
+ interface IInkDisp;
+
+ [
+ odl,
+ uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E),
+ dual,
+ oleautomation
+ ]
+ interface IInkRectangle
+ {
+ [id(1), propget] HRESULT Top([out, retval] long* Units);
+ [id(1), propput] HRESULT Top([in] long Units);
+ [id(2), propget] HRESULT Left([out, retval] long* Units);
+ [id(2), propput] HRESULT Left([in] long Units);
+ [id(3), propget] HRESULT Bottom([out, retval] long* Units);
+ [id(3), propput] HRESULT Bottom([in] long Units);
+ [id(4), propget] HRESULT Right([out, retval] long* Units);
+ [id(4), propput] HRESULT Right([in] long Units);
+ [id(7), propget] HRESULT Data([out, retval] RECT* Rect);
+ [id(7), propput] HRESULT Data([in] RECT Rect);
+ [id(5)] HRESULT GetRectangle(
+ [out] long* Top,
+ [out] long* Left,
+ [out] long* Bottom,
+ [out] long* Right);
+ [id(6)] HRESULT SetRectangle(
+ [in] long Top,
+ [in] long Left,
+ [in] long Bottom,
+ [in] long Right);
+ };
+
+ interface IInkStrokes;
+
+ typedef enum {
+ TPMU_Default,
+ TPMU_Inches,
+ TPMU_Centimeters,
+ TPMU_Degrees,
+ TPMU_Radians,
+ TPMU_Seconds,
+ TPMU_Pounds,
+ TPMU_Grams
+ } TabletPropertyMetricUnit;
+
+ [
+ odl,
+ uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2),
+ dual,
+ oleautomation
+ ]
+ interface IInkStrokeDisp : IDispatch {
+ [id(0x00000002), propget] HRESULT Id([out, retval] long* Id);
+ [id(0x0000000d), propget] HRESULT BezierPoints(
+ [out, retval] VARIANT* Points);
+ [id(0x00000004), propget] HRESULT DrawingAttributes(
+ [out, retval] IInkDrawingAttributes** DrawAttrs);
+ [id(0x00000004), propputref] HRESULT DrawingAttributes(
+ [in] IInkDrawingAttributes* DrawAttrs);
+ [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
+ [id(0x0000000b), propget] HRESULT ExtendedProperties(
+ [out, retval] IInkExtendedProperties** Properties);
+ [id(0x0000000e), propget] HRESULT PolylineCusps(
+ [out, retval] VARIANT* Cusps);
+ [id(0x0000000f), propget] HRESULT BezierCusps(
+ [out, retval] VARIANT* Cusps);
+ [id(0x00000010), propget] HRESULT SelfIntersections(
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000011), propget] HRESULT PacketCount(
+ [out, retval] long* plCount);
+ [id(0x00000012), propget] HRESULT PacketSize(
+ [out, retval] long* plSize);
+ [id(0x00000013), propget] HRESULT PacketDescription(
+ [out, retval] VARIANT* PacketDescription);
+ [id(0x00000014), propget] HRESULT Deleted(
+ [out, retval] VARIANT_BOOL* Deleted);
+ [id(0x00000003)] HRESULT GetBoundingBox(
+ [in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode,
+ [out, retval] IInkRectangle** Rectangle);
+ [id(0x00000005)] HRESULT FindIntersections(
+ [in] IInkStrokes* Strokes,
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000006)] HRESULT GetRectangleIntersections(
+ [in] IInkRectangle* Rectangle,
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000007)] HRESULT Clip(
+ [in] IInkRectangle* Rectangle);
+ [id(0x00000008)] HRESULT HitTestCircle(
+ [in] long x,
+ [in] long y,
+ [in] single radius,
+ [out, retval] VARIANT_BOOL* Intersects);
+ [id(0x00000009)] HRESULT NearestPoint(
+ [in] long x,
+ [in] long y,
+ [in, out, optional, defaultvalue(0)] single* Distance,
+ [out, retval] single* Point);
+ [id(0x0000000a)] HRESULT Split(
+ [in] single SplitAt,
+ [out, retval] IInkStrokeDisp** NewStroke);
+ [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics(
+ [in] BSTR propertyName,
+ [out] long* Minimum,
+ [out] long* Maximum,
+ [out] TabletPropertyMetricUnit* Units,
+ [out] single* Resolution);
+ [id(0x00000016)] HRESULT GetPoints(
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* Points);
+ [id(0x00000017)] HRESULT SetPoints(
+ [in] VARIANT Points,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] long* NumberOfPointsSet);
+ [id(0x00000018)] HRESULT GetPacketData(
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* PacketData);
+ [id(0x00000019)] HRESULT GetPacketValuesByProperty(
+ [in] BSTR propertyName,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* PacketValues);
+ [id(0x0000001a)] HRESULT SetPacketValuesByProperty(
+ [in] BSTR bstrPropertyName,
+ [in] VARIANT PacketValues,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] long* NumberOfPacketsSet);
+ [id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
+ [in, optional, defaultvalue(0)] long FittingError,
+ [out, retval] VARIANT* FlattenedBezierPoints);
+ [id(0x0000001d)] HRESULT Transform(
+ [in] IInkTransform* Transform,
+ [in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth);
+ [id(0x0000001c)] HRESULT ScaleToRectangle(
+ [in] IInkRectangle* Rectangle);
+ [id(0x0000001e)] HRESULT Move(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x0000001f)] HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ [id(0x00000020)] HRESULT Shear(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ [id(0x00000021)] HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ };
+
+ interface IInkRecognitionResult;
+
+ [
+ odl,
+ uuid(F1F4C9D8-590A-4963-B3AE-1935671BB6F3),
+ dual,
+ oleautomation
+ ]
+ interface IInkStrokes : IDispatch {
+ [propget] HRESULT Count(
+ [out, retval] long *Count);
+ [propget, restricted] HRESULT _NewEnum(
+ [out, retval] IUnknown **_NewEnum);
+ [propget] HRESULT Ink(
+ [out, retval] IInkDisp **Ink);
+ [propget] HRESULT RecognitionResult(
+ [out, retval] IInkRecognitionResult **RecognitionResult);
+ HRESULT ToString(
+ [out, retval] BSTR *ToString);
+ HRESULT Item(
+ [in] long Index,
+ [out, retval] IInkStrokeDisp **Stroke);
+ HRESULT Add(
+ [in] IInkStrokeDisp *InkStroke);
+ HRESULT AddStrokes(
+ [in] IInkStrokes *InkStrokes);
+ HRESULT Remove(
+ [in] IInkStrokeDisp *InkStroke);
+ HRESULT RemoveStrokes(
+ [in] IInkStrokes *InkStrokes);
+ HRESULT ModifyDrawingAttributes(
+ [in] IInkDrawingAttributes *DrawAttrs);
+ HRESULT GetBoundingBox(
+ [in] InkBoundingBoxMode BoundingBoxMode,
+ [out, retval] IInkRectangle **BoundingBox);
+ HRESULT Transform(
+ [in] IInkTransform *Transform,
+ [in] VARIANT_BOOL ApplyOnPenWidth);
+ HRESULT ScaleToRectangle(
+ [in] IInkRectangle *Rectangle);
+ HRESULT Move(
+ [in] float HorizontalComponent,
+ [in] float VerticalComponent);
+ HRESULT Rotate(
+ [in] float Degrees,
+ [in] float x,
+ [in] float y);
+ HRESULT Shear(
+ [in] float HorizontalMultiplier,
+ [in] float VerticalMultiplier);
+ HRESULT ScaleTransform(
+ [in] float HorizontalMultiplier,
+ [in] float VerticalMultiplier);
+ HRESULT Clip(
+ [in] IInkRectangle *Rectangle);
+ HRESULT RemoveRecognitionResult();
+ };
+
+ [
+ odl,
+ uuid(7E23A88F-C30E-420f-9BDB-28902543F0C1),
+ dual,
+ oleautomation
+ ]
+ interface IInkCustomStrokes : IDispatch {
+ [propget] HRESULT Count(
+ [out, retval] long *Count);
+ [propget] HRESULT _NewEnum(
+ [out, retval] IUnknown **_NewEnum);
+ HRESULT Item(
+ [in] VARIANT Identifier,
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT Add(
+ [in] BSTR Name,
+ [in] IInkStrokes *Strokes);
+ HRESULT Remove(
+ [in] VARIANT Identifier);
+ HRESULT Clear();
+ };
+
+ interface IInkRecognitionAlternate;
+ interface IInkRecognitionAlternates;
+
+ [
+ odl,
+ uuid(3BC129A8-86CD-45ad-BDE8-E0D32D61C16D),
+ dual,
+ oleautomation
+ ]
+ interface IInkRecognitionResult : IDispatch {
+ [propget] HRESULT TopString(
+ [out, retval] BSTR *TopString);
+ [propget] HRESULT TopAlternate(
+ [out, retval] IInkRecognitionAlternate **TopAlternate);
+ [propget] HRESULT TopConfidence(
+ [out, retval] InkRecognitionConfidence *TopConfidence);
+ [propget] HRESULT Strokes(
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT AlternatesFromSelection(
+ [in] long selectionStart,
+ [in] long selectionLength,
+ [in] long maximumAlternates,
+ [out, retval] IInkRecognitionAlternates **AlternatesFromSelection);
+ HRESULT ModifyTopAlternate(
+ [in] IInkRecognitionAlternate *Alternate);
+ HRESULT SetResultOnStrokes();
+ };
+
+ [
+ odl,
+ uuid(B7E660AD-77E4-429b-ADDA-873780D1FC4A),
+ dual,
+ oleautomation
+ ]
+ interface IInkRecognitionAlternate : IDispatch {
+ [propget] HRESULT String(
+ [out, retval] BSTR *RecoString);
+ [propget] HRESULT Confidence(
+ [out, retval] InkRecognitionConfidence *Confidence);
+ [propget] HRESULT Baseline(
+ [out, retval] VARIANT *Baseline);
+ [propget] HRESULT Midline(
+ [out, retval] VARIANT *Midline);
+ [propget] HRESULT Ascender(
+ [out, retval] VARIANT *Ascender);
+ [propget] HRESULT Descender(
+ [out, retval] VARIANT *Descender);
+ [propget] HRESULT LineNumber(
+ [out, retval] long *LineNumber);
+ [propget] HRESULT Strokes(
+ [out, retval] IInkStrokes **Strokes);
+ [propget] HRESULT LineAlternates(
+ [out, retval] IInkRecognitionAlternates **LineAlternates);
+ [propget] HRESULT ConfidenceAlternates(
+ [out, retval] IInkRecognitionAlternates **ConfidenceAlternates);
+ HRESULT GetStrokesFromStrokeRanges(
+ [in] IInkStrokes *Stroke,
+ [out, retval] IInkStrokes **GetStrokesFromTextRange);
+ HRESULT GetStrokesFromTextRange(
+ [in, out] long *selectionStart,
+ [in, out] long *selectionLength,
+ [out, retval] IInkStrokes **GetStrokesFromTextRange);
+ HRESULT GetTextRangeFromStrokes(
+ [in] IInkStrokes *Strokes,
+ [in, out] long *selectionStart,
+ [in, out] long *selectionLength);
+ HRESULT AlternatesWithConstantPropertyValues(
+ [in] BSTR PropertyType,
+ [out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues);
+ HRESULT GetPropertyValue(
+ [in] BSTR PropertyType,
+ [out, retval] VARIANT *PropertyValue);
+ };
+
+ [
+ odl,
+ uuid(286A167F-9F19-4c61-9D53-4F07BE622B84),
+ dual,
+ oleautomation
+ ]
+ interface IInkRecognitionAlternates : IDispatch {
+ [propget] HRESULT Count(
+ [out, retval] long *Count);
+ [propget, restricted] HRESULT _NewEnum(
+ [out, retval] IUnknown **_NewEnum);
+ [propget] HRESULT Strokes(
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT Item(
+ [in] long Index,
+ [out, retval] IInkRecognitionAlternate **InkRecoAlternate);
+ };
+
+ [
+ odl,
+ uuid(9D398FA0-C4E2-4fcd-9973-975CAAF47EA6),
+ dual,
+ oleautomation
+ ]
+ interface IInkDisp : IDispatch {
+ [propget] HRESULT Strokes(
+ [out, retval] IInkStrokes **Strokes);
+ [propget] HRESULT ExtendedProperties(
+ [out, retval] IInkExtendedProperties **Properties);
+ [propget] HRESULT Dirty(
+ [out, retval] VARIANT_BOOL *Dirty);
+ [propput] HRESULT Dirty(
+ [in] VARIANT_BOOL Dirty);
+ [propget] HRESULT CustomStrokes(
+ [out, retval] IInkCustomStrokes **CustomStrokes);
+ HRESULT GetBoundingBox(
+ [in] InkBoundingBoxMode BoundingBoxMode,
+ [out] IInkRectangle **Rectangle);
+ HRESULT DeleteStrokes(
+ [in, unique] IInkStrokes *Strokes);
+ HRESULT DeleteStroke(
+ [in] IInkStrokeDisp *Stroke);
+ HRESULT ExtractStrokes(
+ [in] IInkStrokes *Strokes,
+ [in] InkExtractFlags ExtractFlags,
+ [out, retval] IInkDisp **ExtractedInk);
+ HRESULT ExtractWithRectangle(
+ [in] IInkRectangle *Rectangle,
+ [in] InkExtractFlags ExtractFlags,
+ [out, retval] IInkDisp **ExtractedInk);
+ HRESULT Clip(
+ [in] IInkRectangle *Rectangle);
+ HRESULT Clone(
+ [out, retval] IInkDisp **NewInk);
+ HRESULT HitTestCircle(
+ [in] long X,
+ [in] long Y,
+ [in] float radius,
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT HitTestWithRectangle(
+ [in] IInkRectangle *SelectionRectangle,
+ [in] float IntersectPercent,
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT HitTestWithLasso(
+ [in] VARIANT Points,
+ [in] float IntersectPercent,
+ [in, out, unique] VARIANT *LassoPoints,
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT NearestPoint(
+ [in] long X,
+ [in] long Y,
+ [in, out] float *PointOnStroke,
+ [in, out] float *DistanceFromPacket,
+ [out, retval] IInkStrokeDisp **Stroke);
+ HRESULT CreateStrokes(
+ [in] VARIANT StrokeIds,
+ [out, retval] IInkStrokes **Strokes);
+ HRESULT AddStrokesAtRectangle(
+ [in] IInkStrokes *SourceStrokes,
+ [in] IInkRectangle *TargetRectangle);
+ HRESULT Save(
+ [in] InkPersistenceFormat PersistenceFormat,
+ [in] InkPersistenceCompressionMode CompressionMode,
+ [out, retval] VARIANT *Data);
+ HRESULT Load(
+ [in] VARIANT Data);
+ HRESULT CreateStroke(
+ [in] VARIANT PacketData,
+ [in] VARIANT PacketDescription,
+ [out, retval] IInkStrokeDisp **Stroke);
+ HRESULT ClipboardCopyWithRectangle(
+ [in] IInkRectangle *Rectangle,
+ [in] InkClipboardFormats ClipboardFormats,
+ [in] InkClipboardModes ClipboardModes,
+ [out, retval] IDataObject **DataObject);
+ HRESULT ClipboardCopy(
+ [in] IInkStrokes *strokes,
+ [in] InkClipboardFormats ClipboardFormats,
+ [in] InkClipboardModes ClipboardModes,
+ [out, retval] IDataObject **DataObject);
+ HRESULT CanPaste(
+ [in] IDataObject *DataObject,
+ [out, retval] VARIANT_BOOL *CanPaste);
+ HRESULT ClipboardPaste(
+ [in] long x,
+ [in] long y,
+ [in, unique] IDataObject *DataObject,
+ [out, retval] IInkStrokes **Strokes);
+ };
+
+ [
+ odl,
+ uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83),
+ dual,
+ oleautomation
+ ]
+ interface IInkRenderer : IDispatch {
+ HRESULT GetViewTransform([in] IInkTransform* ViewTransform);
+ HRESULT SetViewTransform([in] IInkTransform* ViewTransform);
+ HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform);
+ HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform);
+ HRESULT Draw(
+ [in] long hDC,
+ [in] IInkStrokes* Strokes);
+ HRESULT DrawStroke(
+ [in] long hDC,
+ [in] IInkStrokeDisp* Stroke,
+ [in, optional, defaultvalue(0)]
+ IInkDrawingAttributes* DrawingAttributes);
+ HRESULT PixelToInkSpace(
+ [in] long hDC,
+ [in, out] long* x,
+ [in, out] long* y);
+ HRESULT InkSpaceToPixel(
+ [in] long hdcDisplay,
+ [in, out] long* x,
+ [in, out] long* y);
+ HRESULT PixelToInkSpaceFromPoints(
+ [in] long hDC,
+ [in, out] VARIANT* Points);
+ HRESULT InkSpaceToPixelFromPoints(
+ [in] long hDC,
+ [in, out] VARIANT* Points);
+ HRESULT Measure(
+ [in] IInkStrokes* Strokes,
+ [out, retval] IInkRectangle** Rectangle);
+ HRESULT MeasureStroke(
+ [in] IInkStrokeDisp* Stroke,
+ [in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
+ [out, retval] IInkRectangle** Rectangle);
+ HRESULT Move(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier,
+ [in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth);
+ };
+
+ typedef enum {
+ ICM_InkOnly,
+ ICM_GestureOnly,
+ ICM_InkAndGesture
+ } InkCollectionMode;
+
+ typedef enum {
+ IMP_Default,
+ IMP_Arrow,
+ IMP_Crosshair,
+ IMP_Ibeam,
+ IMP_SizeNESW,
+ IMP_SizeNS,
+ IMP_SizeNWSE,
+ IMP_SizeWE,
+ IMP_UpArrow,
+ IMP_Hourglass,
+ IMP_NoDrop,
+ IMP_ArrowHourglass,
+ IMP_ArrowQuestion,
+ IMP_SizeAll,
+ IMP_Hand,
+ IMP_Custom = 99
+ } InkMousePointer;
+
+ typedef enum {
+ THWC_Integrated = 1,
+ THWC_CursorMustTouch = 2,
+ THWC_HardProximity = 4,
+ THWC_CursorsHavePhysicalIds = 8
+ } TabletHardwareCapabilities;
+
+ [
+ odl,
+ uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D),
+ dual,
+ oleautomation
+ ]
+ interface IInkTablet : IDispatch {
+ [propget] HRESULT Name([out, retval] BSTR* Name);
+ [propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id);
+ [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle);
+ [propget] HRESULT HardwareCapabilities(
+ [out, retval] TabletHardwareCapabilities* Capabilities);
+ HRESULT IsPacketPropertySupported(
+ [in] BSTR packetPropertyName,
+ [out, retval] VARIANT_BOOL* Supported);
+ HRESULT GetPropertyMetrics(
+ [in] BSTR propertyName,
+ [out] long* Minimum,
+ [out] long* Maximum,
+ [out] TabletPropertyMetricUnit* Units,
+ [out] single* Resolution);
+ };
+
+ typedef enum {
+ ICBS_Unavailable,
+ ICBS_Up,
+ ICBS_Down
+ } InkCursorButtonState;
+
+ [
+ odl,
+ uuid(85EF9417-1D59-49B2-A13C-702C85430894),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursorButton : IDispatch {
+ [propget] HRESULT Name([out, retval] BSTR* Name);
+ [propget] HRESULT Id([out, retval] BSTR* Id);
+ [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState);
+ };
+
+ [
+ odl,
+ uuid(3671CC40-B624-4671-9FA0-DB119D952D54),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursorButtons : IDispatch {
+ [propget] HRESULT Count([out, retval] long* Count);
+ [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
+ HRESULT Item(
+ [in] VARIANT Identifier,
+ [out, retval] IInkCursorButton** Button);
+ };
+
+ [
+ odl,
+ uuid(AD30C630-40C5-4350-8405-9C71012FC558),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursor : IDispatch {
+ [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name);
+ [id(0x00000001), propget] HRESULT Id([out, retval] long* Id);
+ [id(0x00000004), propget] HRESULT Inverted(
+ [out, retval] VARIANT_BOOL* Status);
+ [id(0x00000002), propget] HRESULT DrawingAttributes(
+ [out, retval] IInkDrawingAttributes** Attributes);
+ [id(0x00000002), propputref] HRESULT DrawingAttributes(
+ [in] IInkDrawingAttributes* Attributes);
+ [id(0x00000005), propget] HRESULT Tablet(
+ [out, retval] IInkTablet** Tablet);
+ [id(0x00000003), propget] HRESULT Buttons(
+ [out, retval] IInkCursorButtons** Buttons);
+ };
+
+ [
+ odl,
+ uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursors : IDispatch {
+ [propget] HRESULT Count([out, retval] long* Count);
+ [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
+ HRESULT Item(
+ [in] long Index,
+ [out, retval] IInkCursor** Cursor);
+ };
+
+ typedef enum {
+ IAG_AllGestures = 0,
+ IAG_NoGesture = 61440,
+ IAG_Scratchout = 61441,
+ IAG_Triangle = 61442,
+ IAG_Square = 61443,
+ IAG_Star = 61444,
+ IAG_Check = 61445,
+ IAG_Curlicue = 61456,
+ IAG_DoubleCurlicue = 61457,
+ IAG_Circle = 61472,
+ IAG_DoubleCircle = 61473,
+ IAG_SemiCircleLeft = 61480,
+ IAG_SemiCircleRight = 61481,
+ IAG_ChevronUp = 61488,
+ IAG_ChevronDown = 61489,
+ IAG_ChevronLeft = 61490,
+ IAG_ChevronRight = 61491,
+ IAG_ArrowUp = 61496,
+ IAG_ArrowDown = 61497,
+ IAG_ArrowLeft = 61498,
+ IAG_ArrowRight = 61499,
+ IAG_Up = 61528,
+ IAG_Down = 61529,
+ IAG_Left = 61530,
+ IAG_Right = 61531,
+ IAG_UpDown = 61536,
+ IAG_DownUp = 61537,
+ IAG_LeftRight = 61538,
+ IAG_RightLeft = 61539,
+ IAG_UpLeftLong = 61540,
+ IAG_UpRightLong = 61541,
+ IAG_DownLeftLong = 61542,
+ IAG_DownRightLong = 61543,
+ IAG_UpLeft = 61544,
+ IAG_UpRight = 61545,
+ IAG_DownLeft = 61546,
+ IAG_DownRight = 61547,
+ IAG_LeftUp = 61548,
+ IAG_LeftDown = 61549,
+ IAG_RightUp = 61550,
+ IAG_RightDown = 61551,
+ IAG_Exclamation = 61604,
+ IAG_Tap = 61680,
+ IAG_DoubleTap = 61681
+ } InkApplicationGesture;
+
+ typedef enum {
+ ICEI_DefaultEvents = -1,
+ ICEI_CursorDown = 0,
+ ICEI_Stroke,
+ ICEI_NewPackets,
+ ICEI_NewInAirPackets,
+ ICEI_CursorButtonDown,
+ ICEI_CursorButtonUp,
+ ICEI_CursorInRange,
+ ICEI_CursorOutOfRange,
+ ICEI_SystemGesture,
+ ICEI_TabletAdded,
+ ICEI_TabletRemoved,
+ ICEI_MouseDown,
+ ICEI_MouseMove,
+ ICEI_MouseUp,
+ ICEI_MouseWheel,
+ ICEI_DblClick,
+ ICEI_AllEvents
+ } InkCollectorEventInterest;
+
+ [
+ odl,
+ uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F),
+ dual,
+ oleautomation
+ ]
+ interface IInkCollector : IDispatch {
+ [id(0x00000002), propget] HRESULT hWnd(
+ [out, retval] long* CurrentWindow);
+ [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow);
+ [id(0x00000001), propget] HRESULT Enabled(
+ [out, retval] VARIANT_BOOL* Collecting);
+ [id(0x00000001), propput] HRESULT Enabled(
+ [in] VARIANT_BOOL Collecting);
+ [id(0x00000005), propget] HRESULT DefaultDrawingAttributes(
+ [out, retval] IInkDrawingAttributes** CurrentAttributes);
+ [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes(
+ [in] IInkDrawingAttributes* CurrentAttributes);
+ [id(0x00000006), propget] HRESULT Renderer(
+ [out, retval] IInkRenderer** CurrentInkRenderer);
+ [id(0x00000006), propputref] HRESULT Renderer(
+ [in] IInkRenderer* CurrentInkRenderer);
+ [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
+ [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink);
+ [id(0x00000008), propget] HRESULT AutoRedraw(
+ [out, retval] VARIANT_BOOL* AutoRedraw);
+ [id(0x00000008), propput] HRESULT AutoRedraw(
+ [in] VARIANT_BOOL AutoRedraw);
+ [id(0x00000009), propget] HRESULT CollectingInk(
+ [out, retval] VARIANT_BOOL* Collecting);
+ [id(0x0000001c), propget] HRESULT CollectionMode(
+ [out, retval] InkCollectionMode* Mode);
+ [id(0x0000001c), propput] HRESULT CollectionMode(
+ [in] InkCollectionMode Mode);
+ [id(0x0000001f), propget] HRESULT DynamicRendering(
+ [out, retval] VARIANT_BOOL* Enabled);
+ [id(0x0000001f), propput] HRESULT DynamicRendering(
+ [in] VARIANT_BOOL Enabled);
+ [id(0x00000020), propget] HRESULT DesiredPacketDescription(
+ [out, retval] VARIANT* PacketGuids);
+ [id(0x00000020), propput] HRESULT DesiredPacketDescription(
+ [in] VARIANT PacketGuids);
+ [id(0x00000023), propget] HRESULT MouseIcon(
+ [out, retval] IPictureDisp** MouseIcon);
+ [id(0x00000023), propput] HRESULT MouseIcon(
+ [in] IPictureDisp* MouseIcon);
+ [id(0x00000023), propputref] HRESULT MouseIcon(
+ [in] IPictureDisp* MouseIcon);
+ [id(0x00000024), propget] HRESULT MousePointer(
+ [out, retval] InkMousePointer* MousePointer);
+ [id(0x00000024), propput] HRESULT MousePointer(
+ [in] InkMousePointer MousePointer);
+ [id(0x00000014), propget] HRESULT Cursors(
+ [out, retval] IInkCursors** Cursors);
+ [id(0x00000015), propget] HRESULT MarginX(
+ [out, retval] long* MarginX);
+ [id(0x00000015), propput] HRESULT MarginX([in] long MarginX);
+ [id(0x00000016), propget] HRESULT MarginY(
+ [out, retval] long* MarginY);
+ [id(0x00000016), propput] HRESULT MarginY([in] long MarginY);
+ [id(0x00000019), propget] HRESULT Tablet(
+ [out, retval] IInkTablet** SingleTablet);
+ [id(0x00000026), propget] HRESULT SupportHighContrastInk(
+ [out, retval] VARIANT_BOOL* Support);
+ [id(0x00000026), propput] HRESULT SupportHighContrastInk(
+ [in] VARIANT_BOOL Support);
+ [id(0x0000001d)] HRESULT SetGestureStatus(
+ [in] InkApplicationGesture Gesture,
+ [in] VARIANT_BOOL Listen);
+ [id(0x0000001e)] HRESULT GetGestureStatus(
+ [in] InkApplicationGesture Gesture,
+ [out, retval] VARIANT_BOOL* Listening);
+ [id(0x00000018)] HRESULT GetWindowInputRectangle(
+ [in, out] IInkRectangle** WindowInputRectangle);
+ [id(0x00000017)] HRESULT SetWindowInputRectangle(
+ [in] IInkRectangle* WindowInputRectangle);
+ [id(0x0000001a)] HRESULT SetAllTabletsMode(
+ [in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput);
+ [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode(
+ [in] IInkTablet* Tablet);
+ [id(0x0000000b)] HRESULT GetEventInterest(
+ [in] InkCollectorEventInterest EventId,
+ [out, retval] VARIANT_BOOL* Listen);
+ [id(0x0000000a)] HRESULT SetEventInterest(
+ [in] InkCollectorEventInterest EventId,
+ [in] VARIANT_BOOL Listen);
+ };
+};
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF80-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMNode : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF81-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMDocument : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (373984c8-b845-449b-91e7-45ac83036ade)
]
interface IXMLDOMSchemaCollection : IDispatch
[
local,
object,
+ dual,
+ oleautomation,
uuid(50ea08b0-dd1b-4664-9a50-c2f40f4bd79a),
]
interface IXMLDOMSchemaCollection2 : IXMLDOMSchemaCollection
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF95-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMDocument2 : IXMLDOMDocument
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF82-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMNodeList : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E)
]
interface IXMLDOMSelection : IXMLDOMNodeList
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF83-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMNamedNodeMap : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (3efaa413-272f-11d2-836f-0000f87a7782)
]
interface IXMLDOMDocumentFragment : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF84-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMCharacterData : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF85-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMAttribute : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF86-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMElement : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF87-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMText : IXMLDOMCharacterData
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF88-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMComment : IXMLDOMCharacterData
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF89-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMProcessingInstruction : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMCDATASection : IXMLDOMText
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMDocumentType : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMNotation : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMEntity : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMEntityReference : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60)
]
interface IXMLDOMImplementation : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (3efaa425-272f-11d2-836f-0000f87a7782)
]
interface IXTLRuntime : IXMLDOMNode
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF92-7B36-11d2-B20E-00C04F983E60)
]
interface IXSLProcessor : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (2933BF93-7B36-11d2-B20E-00C04F983E60)
]
interface IXSLTemplate : IDispatch
[
local,
object,
+dual,
+oleautomation,
uuid (3efaa426-272f-11d2-836f-0000f87a7782)
]
interface IXMLDOMParseError : IDispatch
[
object,
dual,
+ oleautomation,
uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0)
]
interface IVBSAXAttributes : IDispatch
[
object,
dual,
+ oleautomation,
uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa)
]
interface IVBSAXContentHandler : IDispatch
[
object,
dual,
+ oleautomation,
uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b)
]
interface IVBSAXDeclHandler : IDispatch
[
object,
dual,
+ oleautomation,
uuid(24fb3297-302d-4620-ba39-3a732d850558)
]
interface IVBSAXDTDHandler : IDispatch
[
object,
dual,
+ oleautomation,
uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc)
]
interface IVBSAXEntityResolver : IDispatch
[
object,
dual,
+ oleautomation,
uuid(d963d3fe-173c-4862-9095-b92f66995f52)
]
interface IVBSAXErrorHandler : IDispatch
[
object,
dual,
+ oleautomation,
uuid(032aac35-8c0e-4d9d-979f-e3b702935576)
]
interface IVBSAXLexicalHandler : IDispatch
[
object,
+ dual,
+ oleautomation,
uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288)
]
interface IVBSAXLocator : IDispatch
[
object,
dual,
+ oleautomation,
uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04)
]
interface IVBSAXXMLFilter : IDispatch
[
dual,
+ oleautomation,
object,
uuid (8c033caa-6cd6-4f73-b728-4531af74945f)
]
[
object,
dual,
+ oleautomation,
uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262)
]
interface IMXAttributes : IDispatch
[
object,
dual,
+ oleautomation,
uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30)
]
interface IMXReaderControl : IDispatch
[
object,
dual,
+ oleautomation,
uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d)
]
interface IMXWriter : IDispatch
local,
object,
uuid(50ea08b1-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaStringCollection : IDispatch
local,
object,
uuid(50ea08b2-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaItemCollection : IDispatch
local,
object,
uuid(50ea08b3-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaItem : IDispatch
local,
object,
uuid(50ea08b4-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchema : ISchemaItem
local,
object,
uuid(50ea08b5-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaParticle : ISchemaItem
[
object,
uuid(50ea08b6-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual,
]
interface ISchemaAttribute : ISchemaItem
local,
object,
uuid(50ea08b7-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaElement : ISchemaParticle
local,
object,
uuid(50ea08b8-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaType : ISchemaItem
local,
object,
uuid(50ea08b9-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual,
]
interface ISchemaComplexType : ISchemaType
local,
object,
uuid(50ea08ba-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual,
]
interface ISchemaAttributeGroup : ISchemaItem
local,
object,
uuid(50ea08bb-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual,
]
interface ISchemaModelGroup : ISchemaParticle
local,
object,
uuid(50ea08bc-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaAny : ISchemaParticle
local,
object,
uuid(50ea08bd-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaIdentityConstraint : ISchemaItem
local,
object,
uuid(50ea08be-dd1b-4664-9a50-c2f40f4bd79a),
+ oleautomation,
dual
]
interface ISchemaNotation : ISchemaItem
--- /dev/null
+/*
+ * Copyright 2009 Jacek Caban 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 DO_NO_IMPORTS
+import "oaidl.idl";
+import "unknwn.idl";
+import "wtypes.idl";
+/* import "prsht.idl"; */
+#endif
+
+cpp_quote("DEFINE_GUID(CLSID_NetSharingManager,0x5c63c1ad,0x3956,0x4ff8,0x84,0x86,0x40,0x03,0x47,0x58,0x31,0x5b);")
+
+[
+ object,
+ uuid(c08956a1-1cd3-11d1-b1c5-00805fc1270e),
+ pointer_default(unique)
+]
+interface INetConnection : IUnknown
+{
+ typedef enum tagNETCON_CHARACTERISTIC_FLAGS
+ {
+ NCCF_NONE = 0x0000,
+ NCCF_ALL_USERS = 0x0001,
+ NCCF_ALLOW_DUPLICATION = 0x0002,
+ NCCF_ALLOW_REMOVAL = 0x0004,
+ NCCF_ALLOW_RENAME = 0x0008,
+ NCCF_INCOMING_ONLY = 0x0020,
+ NCCF_OUTGOING_ONLY = 0x0040,
+ NCCF_BRANDED = 0x0080,
+ NCCF_SHARED = 0x0100,
+ NCCF_BRIDGED = 0x0200,
+ NCCF_FIREWALLED = 0x0400,
+ NCCF_DEFAULT = 0x0800,
+ NCCF_HOMENET_CAPABLE = 0x1000,
+ NCCF_SHARED_PRIVATE = 0x2000,
+ NCCF_QUARANTINED = 0x4000,
+ NCCF_RESERVED = 0x8000,
+ NCCF_BLUETOOTH_MASK = 0x000F0000,
+ NCCF_LAN_MASK = 0x00F00000
+ } NETCON_CHARACTERISTIC_FLAGS;
+
+ typedef enum tagNETCON_STATUS
+ {
+ NCS_DISCONNECTED,
+ NCS_CONNECTING,
+ NCS_CONNECTED,
+ NCS_DISCONNECTING,
+ NCS_HARDWARE_NOT_PRESENT,
+ NCS_HARDWARE_DISABLED,
+ NCS_HARDWARE_MALFUNCTION,
+ NCS_MEDIA_DISCONNECTED,
+ NCS_AUTHENTICATING,
+ NCS_AUTHENTICATION_SUCCEEDED,
+ NCS_AUTHENTICATION_FAILED,
+ NCS_INVALID_ADDRESS,
+ NCS_CREDENTIALS_REQUIRED
+ } NETCON_STATUS;
+
+ typedef enum tagNETCON_TYPE
+ {
+ NCT_DIRECT_CONNECT,
+ NCT_INBOUND,
+ NCT_INTERNET,
+ NCT_LAN,
+ NCT_PHONE,
+ NCT_TUNNEL,
+ NCT_BRIDGE
+ } NETCON_TYPE;
+
+ typedef enum tagNETCON_MEDIATYPE
+ {
+ NCM_NONE,
+ NCM_DIRECT,
+ NCM_ISDN,
+ NCM_LAN,
+ NCM_PHONE,
+ NCM_TUNNEL,
+ NCM_PPPOE,
+ NCM_BRIDGE,
+ NCM_SHAREDACCESSHOST_LAN,
+ NCM_SHAREDACCESSHOST_RAS
+ } NETCON_MEDIATYPE;
+
+ typedef struct tagNETCON_PROPERTIES
+ {
+ GUID guidId;
+ [string] LPWSTR pszwName;
+ [string] LPWSTR pszwDeviceName;
+ NETCON_STATUS Status;
+ NETCON_MEDIATYPE MediaType;
+ DWORD dwCharacter;
+ CLSID clsidThisObject;
+ CLSID clsidUiObject;
+ } NETCON_PROPERTIES;
+
+ HRESULT Connect();
+
+ HRESULT Disconnect();
+
+ HRESULT Delete();
+
+ HRESULT Duplicate(
+ [in, string] LPCWSTR pszwDuplicateName,
+ [out] INetConnection **ppCon);
+
+ HRESULT GetProperties([out] NETCON_PROPERTIES **ppProps);
+
+ HRESULT GetUiObjectClassId([out, ref] CLSID *pclsid);
+
+ HRESULT Rename([in, string] LPCWSTR pszwNewName);
+}
+
+[
+ object,
+ uuid(24b7e9b5-e38f-4685-851b-00892cf5f940),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingPortMappingProps : IDispatch
+{
+ [propget, id(1)]
+ HRESULT Name([out, retval] BSTR *pbstrName);
+
+ [propget, id(2)]
+ HRESULT IPProtocol([out, retval] UCHAR *pucIPProt);
+
+ [propget, id(3)]
+ HRESULT ExternalPort([out, retval] long *pusPort);
+
+ [propget, id(4)]
+ HRESULT InternalPort([out, retval] long *pusPort);
+
+ [propget, id(5)]
+ HRESULT Options([out, retval] long *pdwOptions);
+
+ [propget, id(6)]
+ HRESULT TargetName([out, retval] BSTR *pbstrTargetName);
+
+ [propget, id(7)]
+ HRESULT TargetIPAddress([out, retval] BSTR *pbstrTargetIPAddress);
+
+ [propget, id(8)]
+ HRESULT Enabled([out, retval] VARIANT_BOOL *pbool);
+}
+
+[
+ object,
+ uuid(c08956b1-1cd3-11d1-b1c5-00805fc1270e),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingPortMapping : IDispatch
+{
+ [id(1)]
+ HRESULT Disable();
+
+ [id(2)]
+ HRESULT Enable();
+
+ [propget, id(3)]
+ HRESULT Properties([out, retval] INetSharingPortMappingProps **ppNSPMP);
+
+ [id(4)]
+ HRESULT Delete();
+};
+[
+ object,
+ uuid(02e4a2de-da20-4e34-89c8-ac22275a010b),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingPortMappingCollection : IDispatch
+{
+ [propget, id(DISPID_NEWENUM), restricted]
+ HRESULT _NewEnum([out, retval] IUnknown **pVal);
+
+ [propget, id(1)]
+ HRESULT Count([out, retval] long *pVal);
+}
+
+[
+ object,
+ uuid(c08956b6-1cd3-11d1-b1c5-00805fc1270e),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingConfiguration : IDispatch
+{
+ typedef enum tagSHARINGCONNECTIONTYPE {
+ ICSSHARINGTYPE_PUBLIC,
+ ICSSHARINGTYPE_PRIVATE
+ } SHARINGCONNECTIONTYPE, *LPSHARINGCONNECTIONTYPE;
+
+ typedef enum tagSHARINGCONNECTION_ENUM_FLAGS {
+ ICSSC_DEFAULT,
+ ICSSC_ENABLED
+ } SHARINGCONNECTION_ENUM_FLAGS;
+
+ typedef enum tagICS_TARGETTYPE {
+ ICSTT_NAME,
+ ICSTT_IPADDRESS
+ }ICS_TARGETTYPE;
+
+ [propget, id(1)]
+ HRESULT SharingEnabled([out, retval] VARIANT_BOOL *pbEnabled);
+
+ [propget, id(2)]
+ HRESULT SharingConnectionType([out, retval] SHARINGCONNECTIONTYPE *pType);
+
+ [id(3)]
+ HRESULT DisableSharing();
+
+ [id(4)]
+ HRESULT EnableSharing([in] SHARINGCONNECTIONTYPE Type);
+
+ [propget, id(5)]
+ HRESULT InternetFirewallEnabled([out, retval] VARIANT_BOOL *pbEnabled);
+
+ [id(6)]
+ HRESULT DisableInternetFirewall();
+
+ [id(7)]
+ HRESULT EnableInternetFirewall();
+
+ [propget, id(8)]
+ HRESULT EnumPortMappings(
+ [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
+ [out, retval] INetSharingPortMappingCollection **ppColl);
+
+ [id(9)]
+ HRESULT AddPortMapping(
+ [in] BSTR bstrName,
+ [in] UCHAR ucIPProtocol,
+ [in] USHORT usExternalPort,
+ [in] USHORT usInternalPort,
+ [in] DWORD dwOptions,
+ [in] BSTR bstrTargetNameOrIPAddress,
+ [in] ICS_TARGETTYPE eTargetType,
+ [out, retval] INetSharingPortMapping **ppMapping );
+
+ [id(10)]
+ HRESULT RemovePortMapping([in] INetSharingPortMapping *pMapping);
+}
+
+[
+ object,
+ uuid(c08956b4-1cd3-11d1-b1c5-00805fc1270e),
+ pointer_default(unique)
+]
+interface IEnumNetSharingPublicConnection : IUnknown
+{
+ HRESULT Next(
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)] VARIANT *rgVar,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Skip([in] ULONG celt);
+
+ HRESULT Reset();
+
+ HRESULT Clone([out] IEnumNetSharingPublicConnection **ppenum);
+}
+
+[
+ object,
+ uuid(c08956b5-1cd3-11d1-b1c5-00805fc1270e),
+ pointer_default(unique)
+]
+interface IEnumNetSharingPrivateConnection : IUnknown
+{
+ HRESULT Next(
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pCeltFetched)] VARIANT *rgVar,
+ [out] ULONG *pCeltFetched);
+
+ HRESULT Skip([in] ULONG celt);
+
+ HRESULT Reset();
+
+ HRESULT Clone([out] IEnumNetSharingPrivateConnection **ppenum);
+}
+
+[
+ object,
+ uuid(f4277c95-ce5b-463d-8167-5662d9bcaa72),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetConnectionProps : IDispatch
+{
+ [propget, id(1)]
+ HRESULT Guid([out, retval] BSTR *pbstrGuid);
+
+ [propget, id(2)]
+ HRESULT Name([out, retval] BSTR *pbstrName);
+
+ [propget, id(3)]
+ HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
+
+ [propget, id(4)]
+ HRESULT Status([out, retval] NETCON_STATUS *pStatus);
+
+ [propget, id(5)]
+ HRESULT MediaType([out, retval] NETCON_MEDIATYPE *pMediaType);
+
+ [propget, id(6)]
+ HRESULT Characteristics([out, retval] DWORD *pdwFlags);
+}
+
+[
+ object,
+ uuid(7d7a6355-f372-4971-a149-bfc927be762a),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingPublicConnectionCollection : IDispatch
+{
+ [propget, id(DISPID_NEWENUM), restricted]
+ HRESULT _NewEnum([out, retval] IUnknown **pVal);
+
+ [propget, id(1)]
+ HRESULT Count([out, retval] long *pVal);
+}
+
+[
+ object,
+ uuid(33c4643c-7811-46fa-a89a-768597bd7223),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+ ]
+interface INetSharingEveryConnectionCollection : IDispatch
+{
+ [propget, id(DISPID_NEWENUM), restricted]
+ HRESULT _NewEnum([out, retval] IUnknown **pVal);
+
+ [propget, id(1)]
+ HRESULT Count([out, retval] long *pVal);
+}
+
+[
+ object,
+ uuid(38ae69e0-4409-402a-a2cb-e965c727f840),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+ ]
+interface INetSharingPrivateConnectionCollection : IDispatch
+{
+ [propget, id(DISPID_NEWENUM), restricted]
+ HRESULT _NewEnum([out, retval] IUnknown **pVal);
+
+ [propget, id(1)]
+ HRESULT Count([out, retval] long *pVal);
+}
+
+[
+ object,
+ uuid(c08956b7-1cd3-11d1-b1c5-00805fc1270e),
+ oleautomation,
+ dual,
+ pointer_default(unique)
+]
+interface INetSharingManager : IDispatch
+{
+ [propget, id(1)]
+ HRESULT SharingInstalled([out, retval] VARIANT_BOOL *pbInstalled);
+
+ [propget, id(2)]
+ HRESULT EnumPublicConnections(
+ [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
+ [out, retval] INetSharingPublicConnectionCollection **ppColl);
+
+ [propget, id(3)]
+ HRESULT EnumPrivateConnections(
+ [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
+ [out, retval] INetSharingPrivateConnectionCollection **ppColl);
+
+ [propget, id(6)]
+ HRESULT INetSharingConfigurationForINetConnection(
+ [in] INetConnection *pNetConnection,
+ [out, retval] INetSharingConfiguration **ppNetSharingConfiguration);
+
+ [propget, id(7)]
+ HRESULT EnumEveryConnection([out, retval] INetSharingEveryConnectionCollection **ppColl);
+
+ [propget, id(8)]
+ HRESULT NetConnectionProps(
+ [in] INetConnection *pNetConnection,
+ [out, retval] INetConnectionProps **ppProps);
+}
const USHORT PARAMFLAG_FHASCUSTDATA = 0x40;
typedef struct tagIDLDESC {
- ULONG dwReserved;
+ ULONG_PTR dwReserved;
USHORT wIDLFlags;
} IDLDESC, *LPIDLDESC;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
- ULONG pvReserved;
- ULONG pfnDeferredFillIn;
+ ULONG_PTR pvReserved;
+ ULONG_PTR pfnDeferredFillIn;
SCODE scode;
} EXCEPINFO;
cpp_quote("#else")
--- /dev/null
+/*
+ * system property interfaces
+ *
+ * Copyright 2009 Maarten Lankhorst
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+
+import "objidl.idl";
+import "oleidl.idl";
+import "ocidl.idl";
+import "shtypes.idl";
+import "structuredquerycondition.idl";
+
+cpp_quote("#ifndef PSSTDAPI")
+cpp_quote("#define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE")
+cpp_quote("#endif")
+
+cpp_quote("#if 0")
+typedef PROPERTYKEY *REFPROPERTYKEY;
+cpp_quote("#endif")
+cpp_quote("#include <propkeydef.h>")
+
+[
+ uuid(b7d14566-0509-4cce-a71f-0a554233bd9b),
+ object,
+ pointer_default(unique)
+]
+interface IInitializeWithFile : IUnknown
+{
+ HRESULT Initialize(
+ [in,string] LPCWSTR pszFilePath,
+ [in] DWORD grfMode
+ );
+}
+
+[
+ uuid(b824b49d-22ac-4161-ac8a-9916e8fa3f7f),
+ object,
+ pointer_default(unique)
+]
+interface IInitializeWithStream : IUnknown
+{
+ [local] HRESULT Initialize(
+ [in] IStream *pstream,
+ [in] DWORD grfMode
+ );
+}
+
+[
+ uuid(886d8eeb-8cf2-4446-8d02-cdba1dbdcf99),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyStore : IUnknown
+{
+ HRESULT GetCount(
+ [out] DWORD *cProps
+ );
+ HRESULT GetAt(
+ [in] DWORD iProp,
+ [out] PROPERTYKEY *pkey
+ );
+ HRESULT GetValue(
+ [in] REFPROPERTYKEY key,
+ [out] PROPVARIANT *pv
+ );
+ HRESULT SetValue(
+ [in] REFPROPERTYKEY key,
+ [in] REFPROPVARIANT propvar
+ );
+ HRESULT Commit(void);
+}
+
+typedef IPropertyStore *LPPROPERTYSTORE;
+
+[
+ uuid(71604b0f-97b0-4764-8577-2f13e98a1422),
+ object,
+ pointer_default(unique)
+]
+interface INamedPropertyStore : IUnknown
+{
+ HRESULT GetNamedValue(
+ [in,string] LPCWSTR pszName,
+ [out] PROPVARIANT *ppropvar
+ );
+ HRESULT SetNamedValue(
+ [in,string] LPCWSTR pszName,
+ [in] REFPROPVARIANT propvar
+ );
+ HRESULT GetNameCount(
+ [out] DWORD *pdwCount
+ );
+ HRESULT GetNameAt(
+ [in] DWORD iProp,
+ [out] BSTR *pbstrName
+ );
+}
+
+typedef [v1_enum] enum GETPROPERTYSTOREFLAGS
+{
+ GPS_DEFAULT = 0x00,
+ GPS_HANDLERPROPERTIESONLY = 0x01,
+ GPS_READWRITE = 0x02,
+ GPS_TEMPORARY = 0x04,
+ GPS_FASTPROPERTIESONLY = 0x08,
+ GPS_OPENSLOWITEM = 0x10,
+ GPS_DELAYCREATION = 0x20,
+ GPS_BESTEFFORT = 0x40,
+ GPS_NO_OPLOCK = 0x80,
+ GPS_MASK_VALID = 0xff
+} GETPROPERTYSTOREFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS)")
+
+[
+ uuid(fc0ca0a7-c316-4fd2-9031-3e628e6d4f23),
+ object
+]
+interface IObjectWithPropertyKey : IUnknown
+{
+ HRESULT SetPropertyKey(
+ [in] REFPROPERTYKEY key
+ );
+ HRESULT GetPropertyKey(
+ [out] PROPERTYKEY *key
+ );
+}
+
+typedef [v1_enum] enum PKA_FLAGS
+{
+ PKA_SET,
+ PKA_APPEND,
+ PKA_DELETE
+} PKA_FLAGS;
+
+[
+ uuid(f917bc8a-1bba-4478-a245-1bde03eb9431),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyChange : IObjectWithPropertyKey
+{
+ HRESULT ApplyToPropVariant([in] REFPROPVARIANT propvarin, [out] PROPVARIANT *propvarout);
+}
+
+[
+ uuid(380f5cad-1b5e-42f2-805d-637fd392d31e),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyChangeArray : IUnknown
+{
+ HRESULT GetCount(
+ [out] UINT *pcOperations
+ );
+ HRESULT GetAt(
+ [in] UINT iIndex,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv
+ );
+ HRESULT InsertAt(
+ [in] UINT iIndex,
+ [in] IPropertyChange *ppropChange
+ );
+ HRESULT Append(
+ [in] IPropertyChange *ppropChange
+ );
+ HRESULT AppendOrReplace(
+ [in] IPropertyChange *ppropChange
+ );
+ HRESULT RemoveAt(
+ [in] UINT iIndex
+ );
+ HRESULT IsKeyInArray(
+ [in] REFPROPERTYKEY key
+ );
+}
+
+[
+ uuid(c8e2d566-186e-4d49-bf41-6909ead56acc),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyStoreCapabilities : IUnknown
+{
+ HRESULT IsPropertyWritable(
+ [in] REFPROPERTYKEY key
+ );
+}
+
+[
+ uuid(3017056d-9a91-4e90-937d-746c72abbf4f),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyStoreCache : IPropertyStore
+{
+ typedef [v1_enum] enum PSC_STATE
+ {
+ PSC_NORMAL = 0,
+ PSC_NOTINSOURCE,
+ PSC_DIRTY,
+ PSC_READONLY
+ } PSC_STATE;
+
+ HRESULT GetState(
+ [in] REFPROPERTYKEY key,
+ [out] PSC_STATE *pstate
+ );
+ HRESULT GetValueAndState(
+ [in] REFPROPERTYKEY key,
+ [out] PROPVARIANT *ppropvar,
+ [out] PSC_STATE *pstate
+ );
+ HRESULT SetState(
+ [in] REFPROPERTYKEY key,
+ [in] PSC_STATE pstate
+ );
+ HRESULT SetValueAndState(
+ [in] REFPROPERTYKEY key,
+ [in, unique] const PROPVARIANT *ppropvar,
+ [in] PSC_STATE state
+ );
+}
+
+[
+ uuid(11e1fbf9-2d56-4a6b-8db3-7cd193a471f2),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyEnumType : IUnknown
+{
+ typedef [v1_enum] enum PROPENUMTYPE
+ {
+ PET_DISCRETEVALUE = 0,
+ PET_RANGEDVALUE,
+ PET_DEFAULTVALUE,
+ PET_ENDRANGE
+ } PROPENUMTYPE;
+
+ HRESULT GetEnumType(
+ [out] PROPENUMTYPE *penumtype
+ );
+ HRESULT GetValue(
+ [out] PROPVARIANT *ppropvar
+ );
+ HRESULT GetRangeMinValue(
+ [out] PROPVARIANT *ppropvar
+ );
+ HRESULT GetRangeSetValue(
+ [out] PROPVARIANT *ppropvar
+ );
+ HRESULT GetDisplayText(
+ [out] LPWSTR *ppszDisplay
+ );
+}
+
+[
+ uuid(9b6e051c-5ddd-4321-9070-fe2acb55e974),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyEnumType2 : IPropertyEnumType
+{
+ HRESULT GetImageReference(
+ [out] LPWSTR *ppszImageRes
+ );
+}
+
+[
+ uuid(a99400f4-3d84-4557-94ba-1242fb2cc9a6),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyEnumTypeList : IUnknown
+{
+ HRESULT GetCount(
+ [out] UINT *pctypes
+ );
+ HRESULT GetAt(
+ [in] UINT itype,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv
+ );
+ HRESULT GetConditionAt(
+ [in] UINT nIndex,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv
+ );
+ HRESULT FindMatchingIndex(
+ [in] REFPROPVARIANT propvarCmp,
+ [out] UINT *pnIndex
+ );
+}
+
+[
+ uuid(6f79d558-3e96-4549-a1d1-7d75d2288814),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescription : IUnknown
+{
+ typedef [v1_enum] enum PROPDESC_TYPE_FLAGS
+ {
+ PDTF_DEFAULT = 0,
+ PDTF_MULTIPLEVALUES = 0x001,
+ PDTF_ISINNATE = 0x002,
+ PDTF_ISGROUP = 0x004,
+ PDTF_CANGROUPBY = 0x008,
+ PDTF_CANSTACKBY = 0x010,
+ PDTF_ISTREEPROPERTY = 0x020,
+ PDTF_INCLUDEINFULLTEXTQUERY = 0x040,
+ PDTF_ISVIEWABLE = 0x080,
+ PDTF_ISQUERYABLE = 0x100,
+ PDTF_CANBEPURGED = 0x200,
+ PDTF_SEARCHRAWVALUE = 0x400,
+ PDTF_ISSYSTEMPROPERTY = 0x80000000,
+ PDTF_MASK_ALL = 0x800007ff
+ } PROPDESC_TYPE_FLAGS;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS)")
+
+ typedef [v1_enum] enum PROPDESC_VIEW_FLAGS
+ {
+ PDVF_DEFAULT = 0x0000,
+ PDVF_CENTERALIGN = 0x0001,
+ PDVF_RIGHTALIGN = 0x0002,
+ PDVF_BEGINNEWGROUP = 0x0004,
+ PDVF_FILLAREA = 0x0008,
+ PDVF_SORTDESCENDING = 0x0010,
+ PDVF_SHOWONLYIFPRESENT = 0x0020,
+ PDVF_SHOWBYDEFAULT = 0x0040,
+ PDVF_SHOWINPRIMARYLIST = 0x0080,
+ PDVF_SHOWINSECONDARYLIST = 0x0100,
+ PDVF_HIDELABEL = 0x0200,
+ PDVF_HIDDEN = 0x0800,
+ PDVF_CANWRAP = 0x1000,
+ PDVF_MASK_ALL = 0x1bff
+ } PROPDESC_VIEW_FLAGS;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS)")
+
+ typedef [v1_enum] enum PROPDESC_DISPLAYTYPE
+ {
+ PDDT_STRING = 0,
+ PDDT_NUMBER,
+ PDDT_BOOLEAN,
+ PDDT_DATETIME,
+ PDDT_ENUMERATED
+ } PROPDESC_DISPLAYTYPE;
+
+ typedef [v1_enum] enum PROPDESC_GROUPING_RANGE
+ {
+ PDGR_DISCRETE = 0,
+ PDGR_ALPHANUMERIC,
+ PDGR_SIZE,
+ PDGR_DYNAMIC,
+ PDGR_DATE,
+ PDGR_PERCENT,
+ PDGR_ENUMERATED
+ } PROPDESC_GROUPING_RANGE;
+
+ typedef [v1_enum] enum PROPDESC_FORMAT_FLAGS
+ {
+ PDFF_DEFAULT = 0x0000,
+ PDFF_PREFIXNAME = 0x0001,
+ PDFF_FILENAME = 0x0002,
+ PDFF_ALWAYSKB = 0x0004,
+ PDFF_RESERVED_RIGHTTOLEFT = 0x0008,
+ PDFF_SHORTTIME = 0x0010,
+ PDFF_LONGTIME = 0x0020,
+ PDFF_HIDETIME = 0x0040,
+ PDFF_SHORTDATE = 0x0080,
+ PDFF_LONGDATE = 0x0100,
+ PDFF_HIDEDATE = 0x0200,
+ PDFF_RELATIVEDATE = 0x0400,
+ PDFF_USEEDITINVITATION = 0x0800,
+ PDFF_READONLY = 0x1000,
+ PDFF_NOAUTOREADINGORDER = 0x2000
+ } PROPDESC_FORMAT_FLAGS;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS)")
+
+ typedef [v1_enum] enum PROPDESC_SORTDESCRIPTION
+ {
+ PDSD_GENERAL = 0,
+ PDSD_A_Z,
+ PDSD_LOWEST_HIGHEST,
+ PDSD_SMALLEST_BIGGEST,
+ PDSD_OLDEST_NEWEST
+ } PROPDESC_SORTDESCRIPTION;
+
+ typedef [v1_enum] enum PROPDESC_RELATIVEDESCRIPTION_TYPE
+ {
+ PDRDT_GENERAL = 0,
+ PDRDT_DATE,
+ PDRDT_SIZE,
+ PDRDT_COUNT,
+ PDRDT_REVISION,
+ PDRDT_LENGTH,
+ PDRDT_DURATION,
+ PDRDT_SPEED,
+ PDRDT_RATE,
+ PDRDT_RATING,
+ PDRDT_PRIORITY
+ } PROPDESC_RELATIVEDESCRIPTION_TYPE;
+
+ typedef [v1_enum] enum PROPDESC_AGGREGATION_TYPE
+ {
+ PDAT_DEFAULT = 0,
+ PDAT_FIRST,
+ PDAT_SUM,
+ PDAT_AVERAGE,
+ PDAT_DATERANGE,
+ PDAT_UNION,
+ PDAT_MAX,
+ PDAT_MIN
+ } PROPDESC_AGGREGATION_TYPE;
+
+ typedef [v1_enum] enum PROPDESC_CONDITION_TYPE
+ {
+ PDCOT_NONE = 0,
+ PDCOT_STRING,
+ PDCOT_SIZE,
+ PDCOT_DATETIME,
+ PDCOT_BOOLEAN,
+ PDCOT_NUMBER
+ } PROPDESC_CONDITION_TYPE;
+
+ HRESULT GetPropertyKey(
+ [out] PROPERTYKEY *pkey
+ );
+ HRESULT GetCanonicalName(
+ [out, string] LPWSTR *ppszName
+ );
+ HRESULT GetPropertyType(
+ [out] VARTYPE *pvartype
+ );
+ HRESULT GetDisplayName(
+ [out, string] LPWSTR *ppszName
+ );
+ HRESULT GetEditInvitation(
+ [out, string] LPWSTR *ppszName
+ );
+ HRESULT GetTypeFlags(
+ [in] PROPDESC_TYPE_FLAGS mask,
+ [out] PROPDESC_TYPE_FLAGS *ppdtFlags
+ );
+ HRESULT GetViewFlags(
+ [out] PROPDESC_VIEW_FLAGS *ppdvFlags
+ );
+ HRESULT GetDefaultColumnWidth(
+ [out] UINT *pcxChars
+ );
+ HRESULT GetDisplayType(
+ [out] PROPDESC_DISPLAYTYPE *pdisplaytype
+ );
+ HRESULT GetColumnState(
+ [out] SHCOLSTATEF *pcsFlags
+ );
+ HRESULT GetGroupingRange(
+ [out] PROPDESC_GROUPING_RANGE *psd
+ );
+ HRESULT GetRelativeDescriptionType(
+ [out] PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt
+ );
+ HRESULT GetRelativeDescription(
+ [in] REFPROPVARIANT propvar1,
+ [in] REFPROPVARIANT propvar2,
+ [out,string] LPWSTR *ppszDesc1,
+ [out,string] LPWSTR *ppszDesc2
+ );
+ HRESULT GetSortDescription(
+ [out] PROPDESC_SORTDESCRIPTION *psd
+ );
+ HRESULT GetSortDescriptionLabel(
+ [in] BOOL fDescending,
+ [out,string] LPWSTR *ppszDescription
+ );
+ HRESULT GetAggregationType(
+ [out] PROPDESC_AGGREGATION_TYPE *paggtype
+ );
+ HRESULT GetConditionType(
+ [out] PROPDESC_CONDITION_TYPE *pcontype,
+ [out] CONDITION_OPERATION *popDefault
+ );
+ HRESULT GetEnumTypeList(
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ [local] HRESULT CoerceToCanonicalValue(
+ [in,out] PROPVARIANT *propvar
+ );
+ [call_as(CoerceToCanonicalValue)] HRESULT RemoteCoerceToCanonicalValue(
+ [in] REFPROPVARIANT propvar,
+ [out] PROPVARIANT *ppropvar
+ );
+ HRESULT FormatForDisplay(
+ [in] REFPROPVARIANT propvar,
+ [in] PROPDESC_FORMAT_FLAGS flags,
+ [out,string] LPWSTR *ppszDisplay
+ );
+ HRESULT IsValueCanonical(
+ [in] REFPROPVARIANT propvar
+ );
+}
+
+[
+ uuid(57d2eded-5062-400e-b107-5dae79fe57a6),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescription2 : IPropertyDescription
+{
+ HRESULT GetImageReferenceForValue(
+ [in] REFPROPVARIANT propvar,
+ [out,string] LPWSTR *ppszImageRes
+ );
+}
+
+[
+ uuid(f67104fc-2af9-46fd-b32d-243c1404f3d1),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescriptionAliasInfo : IPropertyDescription
+{
+ HRESULT GetSortByAlias(
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT GetAdditionalSortByAliases(
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+[
+ uuid(078f91bd-29a2-440f-924e-46a291524520),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescriptionSearchInfo : IPropertyDescription
+{
+ typedef [v1_enum] enum PROPDESC_SEARCHINFO_FLAGS
+ {
+ PDSIF_DEFAULT = 0x0,
+ PDSIF_ININVERTEDINDEX = 0x1,
+ PDSIF_ISCOLUMN = 0x2,
+ PDSIF_ISCOLUMNSPARSE = 0x4,
+ PDSIF_ALWAYSINCLUDE = 0x8,
+ } PROPDESC_SEARCHINFO_FLAGS;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS)")
+
+ typedef [v1_enum] enum PROPDESC_COLUMNINDEX_TYPE
+ {
+ PDCIT_NONE = 0,
+ PDCIT_ONDISK,
+ PDCIT_INMEMORY,
+ PDCIT_ONDEMAND,
+ PDCIT_ONDISKALL,
+ PDCIT_ONDISKVECTOR
+ } PROPDESC_COLUMNINDEX_TYPE;
+
+ HRESULT GetSearchInfoFlags(
+ [out] PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags
+ );
+ HRESULT GetColumnIndexType(
+ [out] PROPDESC_COLUMNINDEX_TYPE *ppdciType
+ );
+ HRESULT GetProjectionString(
+ [out] LPWSTR *ppszProjection
+ );
+ HRESULT GetMaxSize(
+ [out] UINT *pcbMaxSize
+ );
+}
+
+[
+ uuid(507393f4-2a3d-4a60-b59e-d9c75716c2dd),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescriptionRelatedPropertyInfo : IPropertyDescription
+{
+ HRESULT GetRelatedProperty(
+ [in] LPCWSTR ppszRelationshipName,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+typedef [v1_enum] enum PROPDESC_ENUMFILTER
+{
+ PDEF_ALL = 0,
+ PDEF_SYSTEM,
+ PDEF_NONSYSTEM,
+ PDEF_VIEWABLE,
+ PDEF_QUERYABLE,
+ PDEF_INFULLTEXTQUERY,
+ PDEF_COLUMN
+} PROPDESC_ENUMFILTER;
+
+[
+ uuid(ca724e8a-c3e6-442b-88a4-6fb0db8035a3),
+ object,
+ pointer_default(unique)
+]
+interface IPropertySystem : IUnknown
+{
+ HRESULT GetPropertyDescription(
+ [in] REFPROPERTYKEY propkey,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT GetPropertyDescriptionByName(
+ [in,string] LPCWSTR pszCanonicalName,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT GetPropertyDescriptionListFromString(
+ [in,string] LPCWSTR pszPropList,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT EnumeratePropertyDescriptions(
+ [in] PROPDESC_ENUMFILTER filterOn,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT FormatForDisplay(
+ [in] REFPROPERTYKEY key,
+ [in] REFPROPVARIANT propvar,
+ [in] PROPDESC_FORMAT_FLAGS pdff,
+ [out,string,size_is(cchText)] LPWSTR pszText,
+ [in] DWORD cchText
+ );
+ HRESULT FormatForDisplayAlloc(
+ [in] REFPROPERTYKEY key,
+ [in] REFPROPVARIANT propvar,
+ [in] PROPDESC_FORMAT_FLAGS pdff,
+ [out,string] LPWSTR *pszText
+ );
+ HRESULT RegisterPropertySchema(
+ [in,string] LPCWSTR pszPath
+ );
+ HRESULT UnregisterPropertySchema(
+ [in,string] LPCWSTR pszPath
+ );
+ HRESULT RefreshPropertySchema(void);
+}
+
+[
+ uuid(1f9fc1d0-c39b-4b26-817f-011967d3440e),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyDescriptionList : IUnknown
+{
+ HRESULT GetCount(
+ [out] UINT *pcelem
+ );
+ HRESULT GetAt(
+ [in] UINT iElem,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+[
+ uuid(bc110b6d-57e8-4148-a9c6-91015ab2f3a5),
+ object,
+ pointer_default(unique)
+]
+interface IPropertyStoreFactory : IUnknown
+{
+ HRESULT GetPropertyStore(
+ [in] GETPROPERTYSTOREFLAGS flags,
+ [in,unique] IUnknown *pUnkFactory,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+ HRESULT GetPropertyStoreForKeys(
+ [in,unique] const PROPERTYKEY *rgKeys,
+ [in] UINT cKeys,
+ [in] GETPROPERTYSTOREFLAGS flags,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+[
+ uuid(40d4577f-e237-4bdb-bd69-58f089431b6a),
+ object,
+ pointer_default(unique)
+]
+interface IDelayedPropertyStoreFactory : IPropertyStoreFactory
+{
+ HRESULT GetDelayedPropertyStore(
+ [in] GETPROPERTYSTOREFLAGS flags,
+ [in] DWORD dwStoreId,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+[v1_enum] enum _PERSIST_SPROPSTORE_FLAGS
+{
+ FPSPS_DEFAULT = 0,
+ FPSPS_READONLY = 1
+};
+typedef int PERSIST_SPROPSTORE_FLAGS;
+
+typedef struct tagSERIALIZEDROPSTORAGE SERIALIZEDPROPSTORAGE;
+
+cpp_quote("#if 0") /* Wine doesn't have __unaligned builtin, hack */
+typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE;
+typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE;
+cpp_quote("#endif")
+cpp_quote("typedef SERIALIZEDPROPSTORAGE UNALIGNED *PUSERIALIZEDPROPSTORAGE;")
+cpp_quote("typedef const SERIALIZEDPROPSTORAGE UNALIGNED *PCUSERIALIZEDPROPSTORAGE;")
+
+[
+ uuid(e318ad57-0aa0-450f-aca5-6fab7103d917),
+ pointer_default(unique),
+ local
+]
+interface IPersistSerializedPropStorage : IUnknown
+{
+ HRESULT SetFlags(
+ [in] PERSIST_SPROPSTORE_FLAGS flags
+ );
+ HRESULT SetPropertyStorage(
+ [in] PCUSERIALIZEDPROPSTORAGE psps,
+ [in] DWORD cb
+ );
+ HRESULT GetPropertyStorage(
+ [out] SERIALIZEDPROPSTORAGE **psps,
+ [out] DWORD *pcb
+ );
+}
+
+[
+ uuid(77effa68-4f98-4366-ba72-573b3d880571),
+ pointer_default(unique),
+ local
+]
+interface IPersistSerializedPropStorage2 : IPersistSerializedPropStorage
+{
+ HRESULT GetpropertyStorageSize(
+ [out] DWORD *pcb
+ );
+ HRESULT GetPropertyStorageBuffer(
+ [out] SERIALIZEDPROPSTORAGE *psps,
+ [in] DWORD cb,
+ [out] DWORD *pcbWritten
+ );
+}
+
+[
+ uuid(fa955fd9-38be-4879-a6ce-824cf52d609f),
+ object,
+ pointer_default(unique)
+]
+interface IPropertySystemChangeNotify : IUnknown
+{
+ HRESULT SchemaRefreshed(void);
+}
+
+/* Interface for CoCreateInstance? */
+[
+ uuid(75121952-e0d0-43e5-9380-1d80483acf72),
+ pointer_default(unique)
+]
+interface ICreateObject : IUnknown
+{
+ HRESULT CreateObject(
+ [in] REFCLSID clsid,
+ [in,unique] IUnknown *pUnkOuter,
+ [in] REFIID riid,
+ [out,iid_is(riid)] void **ppv
+ );
+}
+
+/* TODO: Add remainder of the C api here */
+
+[
+ uuid(2cda3294-6c4f-4020-b161-27c530c81fa6),
+ lcid(0x0000),
+ version(1.0)
+]
+library PropSysObjects
+{
+ [uuid(9a02e012-6303-4e1e-b9a1-630f802592c5)] coclass InMemoryPropertyStore
+ {
+ interface IPropertyStore;
+ }
+ [uuid(b8967f86-58ae-4f96-9fb2-5d7904798f4b)] coclass PropertySystem
+ {
+ interface IPropertySystem;
+ }
+}
<file>activaut.idl</file>
<file>activdbg.idl</file>
<file>activscp.idl</file>
+ <file>asptlb.idl</file>
<file>bdaiface.idl</file>
<file>bits1_5.idl</file>
<file>bits.idl</file>
<file>mimeinfo.idl</file>
<file>mlang.idl</file>
<file>msctf.idl</file>
+ <file>msdadc.idl</file>
<file>mshtml.idl</file>
+ <file>msinkaut.idl</file>
<file>mstask.idl</file>
<file>msxml.idl</file>
<file>msxml2.idl</file>
<file>netfw.idl</file>
+ <file>netcon.idl</file>
<file>oaidl.idl</file>
<file>objidl.idl</file>
<file>objsafe.idl</file>
<file>optary.idl</file>
<file>perhist.idl</file>
<file>propidl.idl</file>
+ <file>propsys.idl</file>
<file>pstore.idl</file>
<file>richole.idl</file>
<file>sensevts.idl</file>
<file>xmldso.idl</file>
<file>xmldom.idl</file>
<file>xmllite.idl</file>
+ <file>wbemcli.idl</file>
<file>wia_lh.idl</file>
<file>wia_xp.idl</file>
</module>
BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
+int WINAPI ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...);
+int WINAPI ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...);
HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
#define ShellAbout ShellAboutW
#define ShellExecute ShellExecuteW
#define ShellExecuteEx ShellExecuteExW
+#define ShellMessageBox ShellMessageBoxW
#define SHFileOperation SHFileOperationW
#define SHGetFileInfo SHGetFileInfoW
#define SHGetNewLinkInfo SHGetNewLinkInfoW
#define ShellAbout ShellAboutA
#define ShellExecute ShellExecuteA
#define ShellExecuteEx ShellExecuteExA
+#define ShellMessageBox ShellMessageBoxA
#define SHFileOperation SHFileOperationA
#define SHGetFileInfo SHGetFileInfoA
#define SHGetNewLinkInfo SHGetNewLinkInfoA
[default] interface IFolderViewOC;
[default, source] dispinterface DShellFolderViewEvents;
}
+
+/*****************************************************************************
+ * IAsyncOperation interface
+ */
+[
+ uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
+ object,
+]
+
+interface IAsyncOperation : IUnknown
+{
+ typedef [unique] IAsyncOperation *LPASYNCOPERATION;
+
+ HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
+
+ HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
+
+ HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
+
+ HRESULT InOperation([out] BOOL *pfInAsyncOp);
+
+ HRESULT EndOperation(
+ [in] HRESULT hResult,
+ [in, unique] IBindCtx *pbcReserved,
+ [in] DWORD dwEffects);
+}
DEFINE_OLEGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
DEFINE_OLEGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0);
-DEFINE_OLEGUID(IID_IShellIcon, 0x000214E5L, 0, 0);
+/*DEFINE_OLEGUID(IID_IShellIcon, 0x000214E5L, 0, 0);*/
DEFINE_OLEGUID(IID_IShellDetails, 0x000214ECL, 0, 0);
DEFINE_OLEGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0);
DEFINE_OLEGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0);
/* END REACTOS ONLY */
+/* IExplorerBrowser */
+DEFINE_GUID(CLSID_ExplorerBrowser, 0x71F96385, 0xDDD6, 0x48D3, 0xA0, 0xC1, 0xAE, 0x06, 0xE8, 0xB0, 0x55, 0xFB);
+
+DEFINE_GUID(EP_NavPane, 0xCB316B22, 0x25F7, 0x42B8, 0x8A, 0x09, 0x54, 0x0D, 0x23, 0xA4, 0x3C, 0x2F);
+DEFINE_GUID(EP_Commands,0xD9745868, 0xCA5F, 0x4A76, 0x91, 0xCD, 0xF5, 0xA1, 0x29, 0xFB, 0xB0, 0x76);
+DEFINE_GUID(EP_Commands_Organize, 0x72E81700, 0xE3EC, 0x4660, 0xBF, 0x24, 0x3C, 0x3B, 0x7B, 0x64, 0x88, 0x06);
+DEFINE_GUID(EP_Commands_View, 0x21F7C32D, 0xEEAA, 0x439B, 0xBB, 0x51, 0x37, 0xB9, 0x6F, 0xD6, 0xA9, 0x43);
+DEFINE_GUID(EP_DetailsPane, 0x43ABF98B, 0x89B8, 0x472D, 0xB9, 0xCE, 0xE6, 0x9B, 0x82, 0x29, 0xF0, 0x19);
+DEFINE_GUID(EP_PreviewPane, 0x893C63D1, 0x45C8, 0x4D17, 0xBE, 0x19, 0x22, 0x3B, 0xE7, 0x1B, 0xE3, 0x65);
+DEFINE_GUID(EP_QueryPane, 0x65BCDE4F, 0x4F07, 0x4F27, 0x83, 0xA7, 0x1A, 0xFC, 0xA4, 0xDF, 0x7D, 0xDD);
+DEFINE_GUID(EP_AdvQueryPane, 0xB4E9DB8B, 0x34BA, 0x4C39, 0xB5, 0xCC, 0x16, 0xA1, 0xBD, 0x2C, 0x41, 0x1C);
+
#endif /* __WINE_SHLGUID_H */
DEFINE_GUID(IID_IWinEventHandler, 0xEA5F2D61, 0xE008, 0x11CF, 0x99, 0xCB, 0x00, 0xC0, 0x4F, 0xD6, 0x44, 0x97);
DEFINE_GUID(IID_IShellMenuAcc, 0xFAF6FE96, 0xCE5E, 0x11D1, 0x83, 0x71, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0);
DEFINE_GUID(IID_IShellBrowserService, 0x1307EE17, 0xEA83, 0x49EB, 0x96, 0xB2, 0x3A, 0x28, 0xE2, 0xD7, 0x04, 0x8A);
-DEFINE_GUID(IID_IFolderView, 0xCDE725B0, 0xCCC9, 0x4519, 0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE);
+//DEFINE_GUID(IID_IFolderView, 0xCDE725B0, 0xCCC9, 0x4519, 0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE);
DEFINE_GUID(SID_SProxyBrowser, 0x20C46561, 0x8491, 0x11CF, 0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85);
#include <prsht.h>
#include <shlguid.h>
+#ifdef WINE_NO_UNICODE_MACROS
+#undef GetObject
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
#define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0)
#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
-
-/****************************************************************************
- * IShellIcon interface
- */
-
-#define INTERFACE IShellIcon
-DECLARE_INTERFACE_(IShellIcon,IUnknown)
+#define INTERFACE IShellDetails
+DECLARE_INTERFACE_(IShellDetails, IUnknown)
{
/*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IShellIcon methods ***/
- STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE;
+ STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+ STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+ STDMETHOD_(ULONG,Release) (THIS) PURE;
+ /*** IShellDetails methods ***/
+ STDMETHOD(GetDetailsOf)(THIS_ PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *pDetails) PURE;
+ STDMETHOD(ColumnClick)(THIS_ UINT iColumn) PURE;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
-#define IShellIcon_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IShellIcon_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IShellIcon_Release(p) (p)->lpVtbl->Release(p)
-/*** IShellIcon methods ***/
-#define IShellIcon_GetIconOf(p,a,b,c) (p)->lpVtbl->GetIconOf(p,a,b,c)
+#define IShellDetails_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IShellDetails_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IShellDetails_Release(p) (p)->lpVtbl->Release(p)
+/*** IShellDetails methods ***/
+#define IShellDetails_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
+#define IShellDetails_ColumnClick(p,a) (p)->lpVtbl->ColumnClick(p,a)
#endif
-typedef IShellIcon *LPSHELLICON;
-
/* IQueryInfo interface */
#define INTERFACE IQueryInfo
DECLARE_INTERFACE_(IQueryInfo,IUnknown)
#define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c)
#endif
+/****************************************************************************
+ * IShellFolderView interface
+ */
+
+#include <pshpack8.h>
+
+typedef struct _ITEMSPACING
+{
+ int cxSmall;
+ int cySmall;
+ int cxLarge;
+ int cyLarge;
+} ITEMSPACING;
+
+#include <poppack.h>
+
+#define INTERFACE IShellFolderView
+DEFINE_GUID(IID_IShellFolderView,0x37a378c0,0xf82d,0x11ce,0xae,0x65,0x08,0x00,0x2b,0x2e,0x12,0x62);
+DECLARE_INTERFACE_(IShellFolderView, IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+ STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+ STDMETHOD_(ULONG,Release) (THIS) PURE;
+
+ /*** IShellFolderView methods ***/
+ STDMETHOD(Rearrange) (THIS_ LPARAM lParamSort) PURE;
+ STDMETHOD(GetArrangeParam) (THIS_ LPARAM *plParamSort) PURE;
+ STDMETHOD(ArrangeGrid) (THIS) PURE;
+ STDMETHOD(AutoArrange) (THIS) PURE;
+ STDMETHOD(GetAutoArrange) (THIS) PURE;
+ STDMETHOD(AddObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
+ STDMETHOD(GetObject) (THIS_ PITEMID_CHILD *ppidl, UINT uItem) PURE;
+ STDMETHOD(RemoveObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
+ STDMETHOD(GetObjectCount) (THIS_ UINT *puCount) PURE;
+ STDMETHOD(SetObjectCount) (THIS_ UINT uCount, UINT dwFlags) PURE;
+ STDMETHOD(UpdateObject) (THIS_ PITEMID_CHILD pidlOld, PITEMID_CHILD pidlNew, UINT *puItem) PURE;
+ STDMETHOD(RefreshObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
+ STDMETHOD(SetRedraw) (THIS_ BOOL bRedraw) PURE;
+ STDMETHOD(GetSelectedCount) (THIS_ UINT *puSelected) PURE;
+ STDMETHOD(GetSelectedObjects) (THIS_ PCITEMID_CHILD **pppidl, UINT *puItems) PURE;
+ STDMETHOD(IsDropOnSource) (THIS_ IDropTarget *pDropTarget) PURE;
+ STDMETHOD(GetDragPoint) (THIS_ POINT *ppt) PURE;
+ STDMETHOD(GetDropPoint) (THIS_ POINT *ppt) PURE;
+ STDMETHOD(MoveIcons) (THIS_ IDataObject *pDataObject) PURE;
+ STDMETHOD(SetItemPos) (THIS_ PCUITEMID_CHILD pidl, POINT *ppt) PURE;
+ STDMETHOD(IsBkDropTarget) (THIS_ IDropTarget *pDropTarget) PURE;
+ STDMETHOD(SetClipboard) (THIS_ BOOL bMove) PURE;
+ STDMETHOD(SetPoints) (THIS_ IDataObject *pDataObject) PURE;
+ STDMETHOD(GetItemSpacing) (THIS_ ITEMSPACING *pSpacing) PURE;
+ STDMETHOD(SetCallback) (THIS_ IShellFolderViewCB* pNewCB, IShellFolderViewCB** ppOldCB) PURE;
+ STDMETHOD(Select) ( THIS_ UINT dwFlags ) PURE;
+ STDMETHOD(QuerySupport) (THIS_ UINT * pdwSupport ) PURE;
+ STDMETHOD(SetAutomationObject)(THIS_ IDispatch* pdisp) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IShellFolderView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IShellFolderView_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IShellFolderView_Release(p) (p)->lpVtbl->Release(p)
+/*** IShellFolderView methods ***/
+#define IShellFolderView_Rearrange(p,a) (p)->lpVtbl->Rearrange(p,a)
+#define IShellFolderView_GetArrangeParam(p,a) (p)->lpVtbl->GetArrangeParam(p,a)
+#define IShellFolderView_ArrangeGrid(p) (p)->lpVtbl->ArrangeGrid(p)
+#define IShellFolderView_AutoArrange(p) (p)->lpVtbl->AutoArrange(p)
+#define IShellFolderView_GetAutoArrange(p) (p)->lpVtbl->GetAutoArrange(p)
+#define IShellFolderView_AddObject(p,a,b) (p)->lpVtbl->AddObject(p,a,b)
+#define IShellFolderView_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
+#define IShellFolderView_RemoveObject(p,a,b) (p)->lpVtbl->RemoveObject(p,a,b)
+#define IShellFolderView_GetObjectCount(p,a) (p)->lpVtbl->GetObjectCount(p,a)
+#define IShellFolderView_SetObjectCount(p,a,b) (p)->lpVtbl->SetObjectCount(p,a,b)
+#define IShellFolderView_UpdateObject(p,a,b,c) (p)->lpVtbl->UpdateObject(p,a,b,c)
+#define IShellFolderView_RefreshObject(p,a,b) (p)->lpVtbl->RefreshObject(p,a,b)
+#define IShellFolderView_SetRedraw(p,a) (p)->lpVtbl->SetRedraw(p,a)
+#define IShellFolderView_GetSelectedCount(p,a) (p)->lpVtbl->GetSelectedCount(p,a)
+#define IShellFolderView_GetSelectedObjects(p,a,b) (p)->lpVtbl->GetSelectedObjects(p,a,b)
+#define IShellFolderView_IsDropOnSource(p,a) (p)->lpVtbl->IsDropOnSource(p,a)
+#define IShellFolderView_GetDragPoint(p,a) (p)->lpVtbl->GetDragPoint(p,a)
+#define IShellFolderView_GetDropPoint(p,a) (p)->lpVtbl->GetDropPoint(p,a)
+#define IShellFolderView_MoveIcons(p,a) (p)->lpVtbl->MoveIcons(p,a)
+#define IShellFolderView_SetItemPos(p,a,b) (p)->lpVtbl->SetItemPos(p,a,b)
+#define IShellFolderView_DropTarget(p,a) (p)->lpVtbl->DropTarget(p,a)
+#define IShellFolderView_SetClipboard(p,a) (p)->lpVtbl->SetClipboard(p,a)
+#define IShellFolderView_SetPoints(p,a) (p)->lpVtbl->SetPoints(p,a)
+#define IShellFolderView_GetItemSpacing(p,a) (p)->lpVtbl->GetItemSpacing(p,a)
+#define IShellFolderView_SetCallback(p,a) (p)->lpVtbl->SetCallback(p,a)
+#define IShellFolderView_Select(p,a) (p)->lpVtbl->Select(p,a)
+#define IShellFolderView_QuerySupport(p,a) (p)->lpVtbl->QuerySupport(p,a)
+#define IShellFolderView_SetAutomationObject(p,a) (p)->lpVtbl->SetAutomationObject(p,a)
+#endif
+
/* IProgressDialog interface */
#define PROGDLG_NORMAL 0x00000000
#define PROGDLG_MODAL 0x00000001
WPARAM wParam,
LPARAM lParam);
+#include <pshpack8.h>
+
typedef struct _CSFV
{
UINT cbSize;
FOLDERVIEWMODE fvm;
} CSFV, *LPCSFV;
+#include <poppack.h>
+
HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
/* SHCreateShellFolderViewEx callback messages */
#define SFVM_GET_WEBVIEW_THEME 86 /* undocumented */
#define SFVM_GETDEFERREDVIEWSETTINGS 92 /* undocumented */
+#include <pshpack8.h>
+
typedef struct _SFV_CREATE
{
UINT cbSize;
IShellFolderViewCB *psfvcb;
} SFV_CREATE;
+#include <poppack.h>
+
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pscfv, IShellView **ppsv);
/* Types and definitions for the SFM_* parameters */
#define SHCNF_PRINTERW 0x0006
#define SHCNF_TYPE 0x00FF
#define SHCNF_FLUSH 0x1000
-#define SHCNF_FLUSHNOWAIT 0x2000
+#define SHCNF_FLUSHNOWAIT 0x3000
+#define SHCNF_NOTIFYRECURSIVE 0x10000
#define SHCNF_PATH WINELIB_NAME_AW(SHCNF_PATH)
#define SHCNF_PRINTER WINELIB_NAME_AW(SHCNF_PRINTER)
-#define SHCNRF_InterruptLevel 0x1
-#define SHCNRF_ShellLevel 0x2
-#define SHCNRF_RecursiveInterrupt 0x1000
-#define SHCNRF_NewDelivery 0x8000
+#define SHCNRF_InterruptLevel 0x0001
+#define SHCNRF_ShellLevel 0x0002
+#define SHCNRF_RecursiveInterrupt 0x1000
+#define SHCNRF_NewDelivery 0x8000
void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
[
object,
uuid(000214E9-0000-0000-C000-000000000046),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IShellPropSheetExt : IUnknown
{
typedef DWORD SHCONTF;
- cpp_quote("#define SHCIDS_ALLFIELDS 0x80000000L")
- cpp_quote("#define SHCIDS_CANONICALONLY 0x10000000L")
- cpp_quote("#define SHCIDS_BITMASK 0xFFFF0000L")
- cpp_quote("#define SHCIDS_COLUMNMASK 0x0000FFFFL")
cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY")
cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE")
cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK")
[out] int *piOrder);
}
+typedef enum tagNWMF {
+ NWMF_UNLOADING = 0x0001,
+ NWMF_USERINITED = 0x0002,
+ NWMF_FIRST = 0x0004,
+ NWMF_OVERRIDEKEY = 0x0008,
+ NWMF_SHOWHELP = 0x0010,
+ NWMF_HTMLDIALOG = 0x0020,
+ NWMF_FROMDIALOGCHILD = 0x0040,
+ NWMF_USERREQUESTED = 0x0080,
+ NWMF_USERALLOWED = 0x0100
+} NWMF;
+
+[
+ uuid(d2bc4c84-3f72-4a52-a604-7bcbf3982cbb),
+ object,
+ pointer_default(unique)
+]
+interface INewWindowManager : IUnknown
+{
+ HRESULT EvaluateNewWindow(
+ [in, string] LPCWSTR pszUrl,
+ [in, string] LPCWSTR pszName,
+ [in, string] LPCWSTR pszUrlContext,
+ [in, string] LPCWSTR pszFeatures,
+ [in] BOOL fReplace,
+ [in] DWORD dwFlags,
+ [in] DWORD dwUserActionTime);
+}
+
+cpp_quote("#define SID_SNewWindowManager IID_INewWindowManager")
+
/*****************************************************************************
* FOLDERSETTINGS
*/
FWF_SINGLECLICKACTIVATE = 0x00008000,
FWF_NOWEBVIEW = 0x00010000,
FWF_HIDEFILENAMES = 0x00020000,
- FWF_CHECKSELECT = 0x00040000
+ FWF_CHECKSELECT = 0x00040000,
+ FWF_NOENUMREFRESH = 0x00080000,
+ FWF_NOGROUPING = 0x00100000,
+ FWF_FULLROWSELECT = 0x00200000,
+ FWF_NOFILTERS = 0x00400000,
+ FWF_NOCOLUMNHEADER = 0x00800000,
+ FWF_NOHEADERINALLVIEWS = 0x01000000,
+ FWF_EXTENDEDTILES = 0x02000000,
+ FWF_TRICHECKSELECT = 0x04000000,
+ FWF_AUTOCHECKSELECT = 0x08000000,
+ FWF_NOBROWSERVIEWSTATE = 0x10000000,
+ FWF_SUBSETGROUPS = 0x20000000,
+ FWF_USESEARCHFOLDER = 0x40000000,
+ FWF_ALLOWRTLREADING = 0x80000000
} FOLDERFLAGS;
typedef enum
{
+ FVM_AUTO =-1,
FVM_ICON = 1,
FVM_FIRST = FVM_ICON,
FVM_SMALLICON = 2,
FVM_THUMBNAIL = 5,
FVM_TILE = 6,
FVM_THUMBSTRIP = 7,
- FVM_LAST = FVM_THUMBSTRIP
+ FVM_CONTENT = 8,
+ FVM_LAST = FVM_CONTENT
} FOLDERVIEWMODE;
typedef struct
} FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
+/*****************************************************************************
+ * IShellIcon interface
+ */
+[
+ uuid(000214e5-0000-0000-c000-000000000046),
+ object,
+ pointer_default(unique)
+]
+interface IShellIcon : IUnknown
+{
+ HRESULT GetIconOf(
+ [in] PCUITEMID_CHILD pidl,
+ [in] UINT flags,
+ [out] int *pIconIndex);
+}
/*****************************************************************************
* IShellView interface
[out, iid_is(riid)] void **ppv);
}
-
[
- uuid(88E39E80-3578-11CF-AE69-08002B2E1262),
object,
+ uuid(88e39e80-3578-11cf-ae69-08002b2e1262),
pointer_default(unique)
]
-interface IShellView2 : IShellView
+interface IShellView2 : IShellView
{
typedef GUID SHELLVIEWID;
-
- cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)")
- cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)")
-
- cpp_quote("#include <pshpack8.h>")
+cpp_quote("#include <pshpack8.h>")
typedef struct _SV2CVW2_PARAMS
{
DWORD cbSize;
-
IShellView *psvPrev;
LPCFOLDERSETTINGS pfs;
IShellBrowser *psbOwner;
RECT *prcView;
SHELLVIEWID const *pvid;
HWND hwndView;
-
} SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS;
-
- cpp_quote("#include <poppack.h>")
+cpp_quote("#include <poppack.h>")
HRESULT GetView(
- [in, out] SHELLVIEWID* pvid,
- [in] ULONG uView);
-
+ [in, out] SHELLVIEWID *view_guid,
+ [in] ULONG view_type
+ );
HRESULT CreateViewWindow2(
- [in] LPSV2CVW2_PARAMS lpParams);
-
+ [in] LPSV2CVW2_PARAMS view_params
+ );
HRESULT HandleRename(
- [in, unique] PCUITEMID_CHILD pidlNew);
-
+ [in] LPCITEMIDLIST new_pidl
+ );
HRESULT SelectAndPositionItem(
- [in] PCUITEMID_CHILD pidlItem,
- [in] UINT uFlags,
- [in, unique] POINT *ppt);
+ [in] LPCITEMIDLIST item,
+ [in] UINT flags,
+ [in] POINT *point
+ );
}
-
+/*****************************************************************************
+ * IFolderView interface
+ */
[
- uuid(ec39fa88-f8af-41c5-8421-38bed28f4673),
+ uuid(cde725b0-ccc9-4519-917e-325d72fab4ce),
object,
pointer_default(unique)
]
-interface IShellView3 : IShellView2
-{
- enum tagSV3CVW3
- {
- SV3CVW3_DEFAULT = 0x00000000,
- SV3CVW3_NONINTERACTIVE = 0x00000001,
- SV3CVW3_FORCEVIEWMODE = 0x00000002,
- SV3CVW3_FORCEFOLDERFLAGS = 0x00000004,
- };
- typedef DWORD SV3CVW3_FLAGS;
-
- HRESULT CreateViewWindow3(
- [in] IShellBrowser *psbOwner,
- [in, unique] IShellView *psvPrev,
- [in] SV3CVW3_FLAGS dwViewFlags,
- [in] FOLDERFLAGS dwMask,
- [in] FOLDERFLAGS dwFlags,
- [in] FOLDERVIEWMODE fvMode,
- [in, unique] const SHELLVIEWID *pvid,
- [in] const RECT *prcView,
- [out] HWND *phwndView);
+interface IFolderView : IUnknown
+{
+ HRESULT GetCurrentViewMode( [out] UINT *mode );
+ HRESULT SetCurrentViewMode( [in] UINT mode );
+ HRESULT GetFolder( [in] REFIID riid, [out, iid_is(riid)] void **ppv );
+ HRESULT Item(
+ [in] int index,
+ [out] PITEMID_CHILD *ppidl
+ );
+ HRESULT ItemCount(
+ [in] UINT flags,
+ [out] int *items
+ );
+ HRESULT Items(
+ [in] UINT flags,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv
+ );
+ HRESULT GetSelectionMarkedItem( [out] int *item );
+ HRESULT GetFocusedItem( [out] int *item );
+ HRESULT GetItemPosition(
+ [in] PCUITEMID_CHILD pidl,
+ [out] POINT* ppt
+ );
+ HRESULT GetSpacing( [in, out, unique] POINT* pt );
+ HRESULT GetDefaultSpacing( [out] POINT* pt );
+ HRESULT GetAutoArrange();
+ HRESULT SelectItem(
+ [in] int item,
+ [in] DWORD flags
+ );
+ HRESULT SelectAndPositionItems(
+ [in] UINT cidl,
+ [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl,
+ [in, unique, size_is(cidl)] POINT* apt,
+ [in] DWORD flags
+ );
}
-
/*****************************************************************************
* IShellBrowser interface
*/
cpp_quote("#define SBSP_NAVIGATEBACK 0x00004000")
cpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000")
cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000")
+cpp_quote("#define SBSP_KEEPSAMETEMPLATE 0x00020000")
+cpp_quote("#define SBSP_KEEPWORDWHEELTEXT 0x00040000")
+cpp_quote("#define SBSP_ACTIVATE_NOFOCUS 0x00080000")
+cpp_quote("#define SBSP_CREATENOHISTORY 0x00100000")
+cpp_quote("#define SBSP_PLAYNOSOUND 0x00200000")
+cpp_quote("#define SBSP_CALLERUNTURUSTED 0x00800000")
+cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000")
+cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000")
cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000")
cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000")
+cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000")
+cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000")
cpp_quote("#define SBSP_REDIRECT 0x40000000")
cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000")
HRESULT GetPath(
[out, size_is(cch)] LPSTR pszFile,
[in] int cch,
- [in, out] WIN32_FIND_DATAA *pfd,
+ [in, out, unique] WIN32_FIND_DATAA *pfd,
[in] DWORD fFlags);
HRESULT GetIDList( [out] LPITEMIDLIST * ppidl );
[
object,
uuid(000214eb-0000-0000-c000-000000000046),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IExtractIconA : IUnknown
{
[
object,
uuid(000214fa-0000-0000-c000-000000000046),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IExtractIconW : IUnknown
{
}
+/*****************************************************************************
+ * ICommDlgBrowser2 interface
+ */
+[
+ object,
+ uuid(10339516-2894-11D2-9039-00C04F8EEB3E),
+ pointer_default(unique)
+]
+interface ICommDlgBrowser2 : ICommDlgBrowser
+{
+
+ HRESULT Notify(
+ [in] IShellView *ppshv,
+ [in] DWORD dwNotifyType);
+
+ HRESULT GetDefaultMenuText(
+ [in] IShellView *ppshv,
+ [out, string, size_is(cchMax)] LPWSTR pszText,
+ [in] int cchMax);
+
+ HRESULT GetViewFlags(
+ [out] DWORD *pdwFlags);
+}
+
+
+/*****************************************************************************
+ * ICommDlgBrowser3 interface
+ */
+[
+ object,
+ uuid(C8AD25A1-3294-41EE-8165-71174BD01C57),
+ pointer_default(unique)
+]
+interface ICommDlgBrowser3 : ICommDlgBrowser2
+{
+
+ HRESULT OnColumnClicked(
+ [in] IShellView *ppshv,
+ [in] int iColumn);
+
+ HRESULT GetCurrentFilter(
+ [out, string, size_is(cchFileSpec)] LPWSTR pszFileSpec,
+ [in] int cchFileSpec);
+
+ HRESULT OnPreviewCreated(
+ [in] IShellView *ppshv);
+}
+
+
/*****************************************************************************
* IDockingWindowFrame interface
*/
[
object,
uuid(de5bf786-477a-11d2-839d-00c04fd918d0),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IDragSourceHelper : IUnknown
{
[
object,
uuid(4657278b-411b-11d2-839a-00c04fd918d0),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IDropTargetHelper : IUnknown
{
[
object,
uuid(000214f4-0000-0000-c000-000000000046),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IContextMenu2 : IContextMenu
{
[
object,
uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IContextMenu3 : IContextMenu2
{
[
object,
uuid(09f656a2-41af-480c-88f7-16cc0d164615),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface ISearchContext : IUnknown
{
[in] LPCSTR pcszReferent,
[in] HWND hwnd);
HRESULT GetReferent(
- [out] LPCSTR pcszReferent,
+ [out] LPSTR pcszReferent,
[in] int cchReferent);
HRESULT SetFolder(
[in] LPCSTR pcszReferent);
[in] LPCWSTR pcszReferent,
[in] HWND hwnd);
HRESULT GetReferent(
- [out] LPCWSTR pcszReferent,
+ [out] LPWSTR pcszReferent,
[in] int cchReferent);
HRESULT SetFolder(
[in] LPCWSTR pcszReferent);
[
object,
uuid(85788d00-6807-11d0-b810-00c04fd706ec),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IRunnableTask : IUnknown
{
[
object,
uuid(d82be2b1-5764-11d0-a96e-00c04fd705a2),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IShellChangeNotify : IUnknown
{
[
object,
uuid(01e18d10-4d8b-11d2-855d-006008059367),
- pointer_default(unique)
+ pointer_default(unique),
+ local
]
interface IFileSystemBindData : IUnknown
{
[in, out] DESKBANDINFO* pdbi);
}
-cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)")
-
-/*****************************************************************************
- * IDeskBandInfo interface
- */
-[
- uuid(77E425FC-CBF9-4307-BA6A-BB5727745661),
- object,
-]
-interface IDeskBandInfo : IUnknown
-{
- HRESULT GetDefaultBandWidth(
- [in] DWORD dwBandID,
- [in] DWORD dwViewMode,
- [out] int *pnWidth);
-}
-
-
-/*****************************************************************************
- * IDeskBand2 interface
- */
-[
- uuid(79D16DE4-ABEE-4021-8D9D-9169B261D657),
- object,
-]
-interface IDeskBand2 : IDeskBand
-{
- HRESULT CanRenderComposited([out] BOOL *pfCanRenderComposited);
-
- HRESULT SetCompositionState([in] BOOL fCompositionEnabled);
-
- HRESULT GetCompositionState([out] BOOL *pfCompositionEnabled);
-}
-
-cpp_quote("#endif // NTDDI_LONGHORN")
-
-
-
cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)")
[
interface IProfferService : IUnknown
{
HRESULT ProfferService(
- [in] REFGUID rguidService,
- [in] IServiceProvider *psp,
- [out] DWORD *pdwCookie);
-
- HRESULT RevokeService(
- [in] DWORD dwCookie);
+ [in] REFGUID service,
+ [in] IServiceProvider *pService,
+ [out] DWORD *pCookie);
+
+ HRESULT RevokeService([in] DWORD cookie);
}
/*****************************************************************************
HRESULT Revert();
};
-
/*****************************************************************************
* IShellService interface
*/
};
cpp_quote("#endif /* _WIN32_IE_IE60 */")
+
+/*****************************************************************************
+ * IAutoCompleteDropDown interface
+ */
+[
+ object,
+ uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB),
+ pointer_default(unique)
+]
+interface IAutoCompleteDropDown : IUnknown
+{
+cpp_quote("#define ACDD_VISIBLE 0x0001")
+
+ HRESULT GetDropDownStatus(
+ [out] DWORD *pdwFlags,
+ [out, string] LPWSTR *ppwszString);
+
+ HRESULT ResetEnumerator();
+}
+
+/*****************************************************************************
+ * IExplorerBrowserEvents interface
+ */
+[
+ object,
+ uuid(361BBDC7-E6EE-4E13-BE58-58E2240C810F)
+]
+interface IExplorerBrowserEvents : IUnknown
+{
+ HRESULT OnNavigationPending(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+
+ HRESULT OnViewCreated(
+ [in] IShellView *psv);
+
+ HRESULT OnNavigationComplete(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+
+ HRESULT OnNavigationFailed(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+}
+
+typedef GUID EXPLORERPANE;
+typedef EXPLORERPANE *REFEXPLORERPANE;
+
+cpp_quote("#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility")
+
+/*****************************************************************************
+ * IExplorerPaneVisibility interface
+ */
+[
+ object,
+ uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC)
+]
+interface IExplorerPaneVisibility : IUnknown
+{
+ typedef enum tagEXPLORERPANESTATE {
+ EPS_DONTCARE = 0x0,
+ EPS_DEFAULT_ON = 0x1,
+ EPS_DEFAULT_OFF = 0x2,
+ EPS_STATE_MASK = 0xffff,
+ EPS_INITIALSTATE = 0x10000,
+ EPS_FORCE = 0x20000
+ } EXPLORERPANESTATE;
+
+ HRESULT GetPaneState(
+ [in] REFEXPLORERPANE ep,
+ [out] EXPLORERPANESTATE *peps);
+}
+
+typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS {
+ EBF_NONE = 0,
+ EBF_SELECTFROMDATAOBJECT = 0x100,
+ EBF_NODROPTARGET = 0x200
+} EXPLORER_BROWSER_FILL_FLAGS;
+
+typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS {
+ EBO_NONE = 0x00,
+ EBO_NAVIGATEONCE = 0x01,
+ EBO_SHOWFRAMES = 0x02,
+ EBO_ALWAYSNAVIGATE = 0x04,
+ EBO_NOTRAVELLOG = 0x08,
+ EBO_NOWRAPPERWINDOW = 0x10,
+ EBO_HTMLSHAREPOINTVIEW = 0x20
+} EXPLORER_BROWSER_OPTIONS;
+
+cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
+
+/*****************************************************************************
+ * IExplorerBrowser interface
+ */
+[
+ object,
+ uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6),
+ pointer_default(unique)
+]
+interface IExplorerBrowser : IUnknown
+{
+
+ [local] HRESULT Initialize(
+ [in] HWND hwndParent,
+ [in] const RECT *prc,
+ [in, unique] const FOLDERSETTINGS *pfs);
+
+ HRESULT Destroy();
+
+ [local] HRESULT SetRect(
+ [in,out,unique] HDWP *phdwp,
+ [in] RECT rcBrowser);
+
+ HRESULT SetPropertyBag(
+ [in, string] LPCWSTR pszPropertyBag);
+
+ HRESULT SetEmptyText(
+ [in, string] LPCWSTR pszEmptyText);
+
+ HRESULT SetFolderSettings(
+ [in] const FOLDERSETTINGS *pfs);
+
+ HRESULT Advise(
+ [in] IExplorerBrowserEvents *psbe,
+ [out] DWORD *pdwCookie);
+
+ HRESULT Unadvise(
+ [in] DWORD dwCookie);
+
+ HRESULT SetOptions(
+ [in] EXPLORER_BROWSER_OPTIONS dwFlag);
+
+ HRESULT GetOptions(
+ [out] EXPLORER_BROWSER_OPTIONS *pdwFlag);
+
+ HRESULT BrowseToIDList(
+ [in] PCUIDLIST_RELATIVE pidl,
+ [in] UINT uFlags);
+
+ HRESULT BrowseToObject(
+ [in] IUnknown *punk,
+ [in] UINT uFlags);
+
+ HRESULT FillFromObject(
+ [in] IUnknown *punk,
+ [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags);
+
+ HRESULT RemoveAll();
+
+ HRESULT GetCurrentView(
+ [in] REFIID riid,
+ [out, iid_is(riid)] IUnknown **ppv);
+}
} ITEMIDLIST,*LPITEMIDLIST;
typedef const ITEMIDLIST *LPCITEMIDLIST;
typedef LPITEMIDLIST PITEMID_CHILD;
+typedef const PITEMID_CHILD PCITEMID_CHILD;
typedef LPCITEMIDLIST PCUITEMID_CHILD;
typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
+typedef LPCITEMIDLIST PCUIDLIST_RELATIVE;
+typedef LPITEMIDLIST PIDLIST_ABSOLUTE;
+typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE;
cpp_quote("#include <poppack.h>")
#ifndef MAX_PATH
--- /dev/null
+/*
+ * structured query condition
+ *
+ * Copyright 2009 Maarten Lankhorst
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+
+import "oaidl.idl";
+import "ocidl.idl";
+import "objidl.idl";
+import "propidl.idl";
+
+typedef [v1_enum] enum tagCONDITION_TYPE
+{
+ CT_AND_CONDITION,
+ CT_OR_CONDITION,
+ CT_NOT_CONDITION,
+ CT_LEAF_CONDITION
+} CONDITION_TYPE;
+
+typedef [v1_enum] enum tagCONDITION_OPERATION
+{
+ COP_IMPLICIT,
+ COP_EQUAL,
+ COP_NOTEQUAL,
+ COP_LESSTHAN,
+ COP_GREATERTHAN,
+ COP_LESSTHANOREQUAL,
+ COP_GREATERTHANOREQUAL,
+ COP_VALUE_STARTSWITH,
+ COP_VALUE_ENDSWITH,
+ COP_VALUE_CONTAINS,
+ COP_VALUE_NOTCONTAINS,
+ COP_DOSWILDCARDS,
+ COP_WORD_EQUAL,
+ COP_WORD_STARTSWITH,
+ COP_APPLICATION_SPECIFIC
+} CONDITION_OPERATION;
--- /dev/null
+/*
+ * Copyright 2008 Maarten Lankhorst
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+
+cpp_quote("#if 0")
+interface IDirect3DSurface9;
+interface IDirect3DDevice9;
+typedef LONGLONG REFERENCE_TIME;
+typedef DWORD D3DFORMAT;
+typedef DWORD D3DPOOL;
+typedef HANDLE HMONITOR;
+typedef struct { char dummy; } AM_MEDIA_TYPE;
+typedef struct { char dummy; } D3DCOLOR;
+cpp_quote("#endif")
+
+interface IVMRSurface9;
+interface IVMRSurfaceAllocator9;
+interface IVMRSurfaceAllocatorEx9;
+interface IVMRSurfaceAllocatorNotify9;
+interface IVMRImagePresenter9;
+interface IVMRImagePresenterConfig9;
+interface IVMRMonitorConfig9;
+interface IVMRWindowlessControl9;
+interface IVMRMixerControl9;
+interface IVMRImageCompositor9;
+interface IVMRMixerBitmap9;
+interface IVMRFilterConfig9;
+interface IVMRAspectRatioControl9;
+interface IVMRVideoStreamControl9;
+
+typedef enum _VMR9PresentationFlags
+{
+ VMR9Sample_SyncPoint = 0x1,
+ VMR9Sample_Preroll = 0x2,
+ VMR9Sample_Discontinuity = 0x4,
+ VMR9Sample_TimeValid = 0x8,
+ VMR9Sample_SrcDstRectsValid = 0x10
+} VMR9PresentationFlags;
+
+typedef struct _VMR9PresentationInfo
+{
+ DWORD dwFlags; /* Flags defined above */
+ IDirect3DSurface9 *lpSurf;
+ REFERENCE_TIME rtStart;
+ REFERENCE_TIME rtEnd;
+ SIZE szAspectRatio;
+ RECT rcSrc;
+ RECT rcDst;
+ DWORD dwReserved1;
+ DWORD dwReserved2;
+} VMR9PresentationInfo;
+
+[
+ local,
+ object,
+ uuid(69188c61-12a3-40f0-8ffc-342e7b433fd7),
+ helpstring("IVMRImagePresenter9 interface"),
+ pointer_default(unique)
+]
+interface IVMRImagePresenter9 : IUnknown
+{
+ HRESULT StartPresenting([in] DWORD_PTR id);
+ HRESULT StopPresenting([in] DWORD_PTR id);
+ HRESULT PresentImage([in] DWORD_PTR id, [in] VMR9PresentationInfo *info);
+};
+
+typedef enum _VMR9SurfaceAllocationFlags
+{
+ VMR9AllocFlag_3DRenderTarget = 0x1,
+ VMR9AllocFlag_DXVATarget = 0x2,
+ VMR9AllocFlag_TextureSurface = 0x4,
+ VMR9AllocFlag_OffscreenSurface = 0x8,
+ VMR9AllocFlag_RGBDynamicSwitch = 0x10,
+ VMR9AllocFlag_UsageReserved = 0xe0,
+ VMR9AllocFlag_UsageMask = 0xff,
+} VMR9SurfaceAllocationFlags;
+
+typedef struct _VMR9AllocationInfo
+{
+ DWORD dwFlags; /* Flags defined above */
+ DWORD dwWidth;
+ DWORD dwHeight;
+ D3DFORMAT Format;
+ D3DPOOL Pool;
+ DWORD MinBuffers;
+ SIZE szAspectRatio;
+ SIZE szNativeSize;
+} VMR9AllocationInfo;
+
+[
+ local,
+ object,
+ uuid(8d5148ea-3f5d-46cf-9df1-d1b896eedb1f),
+ helpstring("IVMRSurfaceAllocator9 interface"),
+ pointer_default(unique)
+]
+interface IVMRSurfaceAllocator9 : IUnknown
+{
+ HRESULT InitializeDevice([in] DWORD_PTR id, [in] VMR9AllocationInfo *allocinfo, [in, out] DWORD *numbuffers);
+ HRESULT TerminateDevice([in] DWORD_PTR id);
+ HRESULT GetSurface([in] DWORD_PTR id, [in] DWORD surfaceindex, [in] DWORD flags, [out] IDirect3DSurface9 **surface);
+ HRESULT AdviseNotify([in] IVMRSurfaceAllocatorNotify9 *allocnotify);
+};
+
+[
+ local,
+ object,
+ uuid(6de9a68a-a928-4522-bf57-655ae3866456),
+ helpstring("IVMRSurfaceAllocatorEx9 interface"),
+ pointer_default(unique)
+]
+interface IVMRSurfaceAllocatorEx9 : IVMRSurfaceAllocator9
+{
+ HRESULT GetSurfaceEx([in] DWORD_PTR id, [in] DWORD surfaceindex, [in] DWORD flags, [out] IDirect3DSurface9 **surface, [out] RECT *dest);
+};
+
+[
+ local,
+ object,
+ uuid(dca3f5df-bb3a-4d03-bd81-84614bfbfa0c),
+ helpstring("IVMRSurfaceAllocatorNotify9 interface"),
+ pointer_default(unique)
+]
+interface IVMRSurfaceAllocatorNotify9 : IUnknown
+{
+ HRESULT AdviseSurfaceAllocator([in] DWORD_PTR id, [in] IVMRSurfaceAllocator9 *alloc);
+ HRESULT SetD3DDevice([in] IDirect3DDevice9 *device, [in] HMONITOR monitor);
+ HRESULT ChangeD3DDevice([in] IDirect3DDevice9 *device, [in] HMONITOR monitor);
+ HRESULT AllocateSurfaceHelper([in] VMR9AllocationInfo *allocinfo, [in, out] DWORD *numbuffers, [out] IDirect3DSurface9 **surface);
+ HRESULT NotifyEvent([in] LONG code, [in] LONG_PTR param1, [in] LONG_PTR param2);
+};
+
+typedef enum _VMR9AspectRatioMode
+{
+ VMR9ARMode_None,
+ VMR9ARMode_LetterBox
+} VMR9AspectRatioMode;
+
+[
+ local,
+ object,
+ uuid(8f537d09-f85e-4414-b23b-502e54c79927),
+ helpstring("IVMRWindowlessControl interface"),
+ pointer_default(unique)
+]
+interface IVMRWindowlessControl9 : IUnknown
+{
+ HRESULT GetNativeVideoSize([out] LONG *width, [out] LONG *height, [out] LONG *arwidth, [out] LONG *arheight);
+ HRESULT GetMinIdealVideoSize([out] LONG *width, [out] LONG *height);
+ HRESULT GetMaxIdealVideoSize([out] LONG *width, [out] LONG *height);
+ HRESULT SetVideoPosition([in] const RECT *source, [in] const RECT *dest);
+ HRESULT GetVideoPosition([out] RECT *source, [out] RECT *dest);
+ HRESULT GetAspectRatioMode([out] DWORD *mode);
+ HRESULT SetAspectRatioMode([in] DWORD mode);
+ HRESULT SetVideoClippingWindow([in] HWND hwnd);
+ HRESULT RepaintVideo([in] HWND hwnd, [in] HDC hdc);
+ HRESULT DisplayModeChanged();
+ HRESULT GetCurrentImage([out] BYTE **dib);
+ HRESULT SetBorderColor([in] COLORREF color);
+ HRESULT GetBorderColor([out] COLORREF *color);
+};
+
+typedef enum _VMR9MixerPrefs
+{
+ /* Decimation */
+ MixerPref9_NoDecimation = 0x1,
+ MixerPref9_DecimateOutput = 0x2,
+ MixerPref9_ARAdjustXorY = 0x4,
+ MixerPref9_NonSquareMixing = 0x8,
+ MixerPref9_DecimateMask = 0xf,
+
+ /* Filtering */
+ MixerPref9_BiLinearFiltering = 0x10,
+ MixerPref9_PointFiltering = 0x20,
+ MixerPref9_AnisotropicFiltering = 0x40,
+ MixerPref9_PyramidalQuadFiltering = 0x80,
+ MixerPref9_GaussianQuadFiltering = 0x100,
+ MixerPref9_FilteringReserved = 0xe00,
+ MixerPref9_FilteringMask = 0xff0,
+
+ /* Render target */
+ MixerPref9_RenderTargetRGB = 0x1000,
+ MixerPref9_RenderTargetYUV = 0x2000,
+ MixerPref9_RenderTargetReserved = 0xfc000,
+
+ MixerPref9_DynamicSwitchToBOB = 0x100000,
+ MixerPref9_DynamicDecimateBy2 = 0x200000,
+ MixerPref9_DynamicReserved = 0xc00000,
+ MixerPref9_DynamicMask = 0xf00000,
+} VMR9MixerPrefs;
+
+typedef struct _VMR9NormalizedRect
+{
+ FLOAT left;
+ FLOAT top;
+ FLOAT right;
+ FLOAT bottom;
+} VMR9NormalizedRect;
+
+typedef enum _VMR9ProcAmpControlFlags
+{
+ ProcAmpControl9_Brightness = 0x1,
+ ProcAmpControl9_Contrast = 0x2,
+ ProcAmpControl9_Hue = 0x4,
+ ProcAmpControl9_Saturation = 0x8,
+ ProcAmpControl9_Mask = 0xf
+} VMR9ProcAmpControlFlags;
+
+typedef struct _VMR9ProcAmpControl
+{
+ DWORD dwSize;
+ DWORD dwFlags;
+ FLOAT Brightness;
+ FLOAT Contrast;
+ FLOAT Hue;
+ FLOAT Saturation;
+} VMR9ProcAmpControl;
+
+typedef struct _VMR9ProcAmpControlRange
+{
+ DWORD dwSize;
+ VMR9ProcAmpControlFlags dwProperty;
+ FLOAT MinValue;
+ FLOAT MaxValue;
+ FLOAT DefaultValue;
+ FLOAT StepSize;
+} VMR9ProcAmpControlRange;
+
+[
+ local,
+ object,
+ uuid(1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b),
+ helpstring("IVMRMixerControl9 interface"),
+ pointer_default(unique)
+]
+interface IVMRMixerControl9 : IUnknown
+{
+ HRESULT SetAlpha([in] DWORD streamid, [in] FLOAT alpha);
+ HRESULT GetAlpha([in] DWORD streamid, [out] FLOAT *alpha);
+ HRESULT SetZOrder([in] DWORD streamid, [in] DWORD zorder);
+ HRESULT GetZOrder([in] DWORD streamid, [out] DWORD *zorder);
+ HRESULT SetOutputRect([in] DWORD streamid, [in] const VMR9NormalizedRect *rect);
+ HRESULT GetOutputRect([in] DWORD streamid, [out] VMR9NormalizedRect *rect);
+ HRESULT SetBackgroundClr([in] COLORREF back);
+ HRESULT GetBackgroundClr([out] COLORREF *back);
+ HRESULT SetMixingPrefs([in] DWORD mixingprefs);
+ HRESULT GetMixingPrefs([out] DWORD *mixingprefs);
+ HRESULT SetProcAmpControl([in] DWORD streamid, [in] VMR9ProcAmpControl *control);
+ HRESULT GetProcAmpControl([in] DWORD streamid, [in, out] VMR9ProcAmpControl *control);
+ HRESULT GetProcAmpControlRange([in] DWORD streamid, [in, out] VMR9ProcAmpControlRange *controlrange);
+};
+
+typedef struct _VMR9AlphaBitmap
+{
+ DWORD dwFlags;
+ HDC hdc;
+ IDirect3DSurface9 *pDDS;
+ RECT rSrc;
+ VMR9NormalizedRect *rDest;
+ FLOAT fAlpha;
+ COLORREF clrSrcKey;
+ DWORD dwFilterMode;
+} VMR9AlphaBitmap;
+
+typedef enum _VMR9AlphaBitmapFlags
+{
+ VMR9AlphaBitmap_Disable = 0x1,
+ VMR9AlphaBitmap_hDC = 0x2,
+ VMR9AlphaBitmap_EntireDDS = 0x4,
+ VMR9AlphaBitmap_SrcColorKey = 0x8,
+ VMR9AlphaBitmap_SrcRect = 0x10,
+ VMR9AlphaBitmap_FilterMode = 0x20
+} VMR9AlphaBitmapFlags;
+
+[
+ local,
+ object,
+ uuid(ced175e5-1935-4820-81bd-ff6ad00c9108),
+ helpstring("IVMRMixerBitmap interface"),
+ pointer_default(unique)
+]
+interface IVMRMixerBitmap9 : IUnknown
+{
+ HRESULT SetAlphaBitmap([in] const VMR9AlphaBitmap *bitmap);
+ HRESULT UpdateAlphaBitmapParameters([in] const VMR9AlphaBitmap *bitmap);
+ HRESULT GetAlphaBitmapParameters([out] VMR9AlphaBitmap *bitmap);
+};
+
+[
+ local,
+ object,
+ uuid(dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc),
+ helpstring("IVMRSurface interface"),
+ pointer_default(unique)
+]
+interface IVMRSurface9 : IUnknown
+{
+ HRESULT IsSurfaceLocked();
+ HRESULT LockSurface([out] BYTE **surface);
+ HRESULT UnlockSurface();
+ HRESULT GetSurface([out] IDirect3DSurface9 **surface);
+};
+
+typedef enum _VMR9RenderPrefs
+{
+ RenderPrefs9_DoNotRenderBorder = 0x1,
+ RenderPrefs9_Mask = 0x1
+} VMR9RenderPrefs;
+
+[
+ local,
+ object,
+ uuid(45c15cab-6e22-420a-8043-ae1f0ac02c7d),
+ helpstring("IVMRImagePresenterConfig9 interface"),
+ pointer_default(unique)
+]
+interface IVMRImagePresenterConfig9 : IUnknown
+{
+ HRESULT SetRenderingPrefs([in] DWORD renderflags);
+ HRESULT GetRenderingPrefs([out] DWORD *renderflags);
+};
+
+[
+ local,
+ object,
+ uuid(d0cfe38b-93e7-4772-8957-0400c49a4485),
+ helpstring("IVMRMixerStreamConfig interface"),
+ pointer_default(unique)
+]
+interface IVMRVideoStreamControl9: IUnknown
+{
+ HRESULT SetStreamActiveState([in] BOOL active);
+ HRESULT GetStreamActiveState([out] BOOL *active);
+};
+
+typedef enum _VMR9Mode
+{
+ VMR9Mode_Windowed = 0x1,
+ VMR9Mode_Windowless = 0x2,
+ VMR9Mode_Renderless = 0x4,
+ VMR9Mode_Mask = 0x7
+} VMR9Mode;
+
+[
+ local,
+ object,
+ uuid(5a804648-4f66-4867-9c43-4f5c822cf1b8),
+ helpstring("IVMRFilterConfig9 interface"),
+ pointer_default(unique)
+]
+interface IVMRFilterConfig9 : IUnknown
+{
+ HRESULT SetImageCompositor([in] IVMRImageCompositor9 *compositor);
+ HRESULT SetNumberOfStreams([in] DWORD max);
+ HRESULT GetNumberOfStreams([out] DWORD *max);
+ HRESULT SetRenderingPrefs([in] DWORD renderflags);
+ HRESULT GetRenderingPrefs([out] DWORD *renderflags);
+ HRESULT SetRenderingMode([in] DWORD mode);
+ HRESULT GetRenderingMode([out] DWORD *mode);
+};
+
+[
+ local,
+ object,
+ uuid(00d96c29-bbde-4efc-9901-bb5036392146),
+ helpstring("IVMRAspectRatioControl9 interface"),
+ pointer_default(unique)
+]
+interface IVMRAspectRatioControl9 : IUnknown
+{
+ HRESULT GetAspectRatioMode([out] DWORD *mode);
+ HRESULT SetAspectRatioMode([in] DWORD mode);
+}
+
+#define VMR9DEVICENAMELEN 32
+#define VMR9DEVICEDESCRIPTIONLEN 512
+
+typedef struct _VMR9MonitorInfo
+{
+ UINT uDevID;
+ RECT rcMonitor;
+ HMONITOR hMon;
+ DWORD dwFlags;
+ WCHAR szDevice[VMR9DEVICENAMELEN];
+ WCHAR szDescription[VMR9DEVICEDESCRIPTIONLEN];
+ LARGE_INTEGER liDriverVersion;
+ DWORD dwVendorId;
+ DWORD dwDeviceId;
+ DWORD dwSubSysId;
+ DWORD dwRevision;
+} VMR9MonitorInfo;
+
+[
+ local,
+ object,
+ uuid(46c2e457-8ba0-4eef-b80b-0680f0978749),
+ helpstring("IVMRMonitorConfig9 interface"),
+ pointer_default(unique)
+]
+interface IVMRMonitorConfig9 : IUnknown
+{
+ HRESULT SetMonitor([in] UINT uDev);
+ HRESULT GetMonitor([out] UINT *uDev);
+ HRESULT SetDefaultMonitor([in] UINT uDev);
+ HRESULT GetDefaultMonitor([out] UINT *uDev);
+ HRESULT GetAvailableMonitors([out, size_is(arraysize)] VMR9MonitorInfo *info, [in] DWORD arraysize, [out] DWORD *numdev);
+};
+
+typedef enum _VMR9DeinterlacePrefs
+{
+ DeinterlacePref9_NextBest = 0x1,
+ DeinterlacePref9_BOB = 0x2,
+ DeinterlacePref9_Weave = 0x4,
+ DeinterlacePref9_Mask = 0x7
+} VMR9DeinterlacePrefs;
+
+typedef enum _VMR9DeinterlaceTech
+{
+ DeinterlaceTech9_Unknown = 0,
+ DeinterlaceTech9_BOBLineReplicate = 0x1,
+ DeinterlaceTech9_BOBVerticalStretch = 0x2,
+ DeinterlaceTech9_MedianFiltering = 0x4,
+ DeinterlaceTech9_EdgeFiltering = 0x10,
+ DeinterlaceTech9_FieldAdaptive = 0x20,
+ DeinterlaceTech9_PixelAdaptive = 0x40,
+ DeinterlaceTech9_MotionVectorSteered = 0x80
+} VMR9DeinterlaceTech;
+
+typedef struct _VMR9Frequency
+{
+ DWORD dwNumerator;
+ DWORD dwDenominator;
+} VMR9Frequency;
+
+typedef enum _VMR9_SampleFormat
+{
+ VMR9_SampleReserved = 1,
+ VMR9_SampleProgressiveFrame = 2,
+ VMR9_SampleFieldInterleavedEvenFirst = 3,
+ VMR9_SampleFieldInterleavedOddFirst = 4,
+ VMR9_SampleFieldSingleEven = 5,
+ VMR9_SampleFieldSingleOdd = 6,
+} VMR9_SampleFormat;
+
+typedef struct _VMR9VideoDesc
+{
+ DWORD dwSize;
+ DWORD dwSampleWidth;
+ DWORD dwSampleHeight;
+ VMR9_SampleFormat SampleFormat;
+ DWORD dwFourCC;
+ VMR9Frequency InputSampleFreq;
+ VMR9Frequency OutputFrameFreq;
+} VMR9VideoDesc;
+
+typedef struct _VMR9DeinterlaceCaps {
+ DWORD dwSize;
+ DWORD dwNumPreviousOutputFrames;
+ DWORD dwNumForwardRefSamples;
+ DWORD dwNumBackwardRefSamples;
+ VMR9DeinterlaceTech DeinterlaceTechnology;
+} VMR9DeinterlaceCaps;
+
+[
+ local,
+ object,
+ uuid(a215fb8d-13c2-4f7f-993c-003d6271a459),
+ helpstring("IVMRDeinterlaceControl9 interface"),
+ pointer_default(unique)
+]
+interface IVMRDeinterlaceControl9 : IUnknown
+{
+ HRESULT GetNumberOfDeinterlaceModes([in] VMR9VideoDesc *desc, [in, out] DWORD *nummodes, [out] GUID *modes);
+ HRESULT GetDeinterlaceModeCaps([in] GUID *mode, [in] VMR9VideoDesc *desc, [out] VMR9DeinterlaceCaps *caps);
+ HRESULT GetDeinterlaceMode([in] DWORD streamid, [out] GUID *mode);
+ HRESULT SetDeinterlaceMode([in] DWORD streamid, [in] GUID *mode);
+ HRESULT GetDeinterlacePrefs([out] DWORD *prefs);
+ HRESULT SetDeinterlacePrefs([in] DWORD prefs);
+ HRESULT GetActualDeinterlaceMode([in] DWORD streamid, [out] GUID *mode);
+};
+
+typedef struct _VMR9VideoStreamInfo {
+ IDirect3DSurface9 *pddsVideoSurface;
+ DWORD dwWidth;
+ DWORD dwHeight;
+ DWORD dwStrmID;
+ FLOAT fAlpha;
+ VMR9NormalizedRect rNormal;
+ REFERENCE_TIME rtStart;
+ REFERENCE_TIME rtEnd;
+ VMR9_SampleFormat SampleFormat;
+} VMR9VideoStreamInfo;
+
+[
+ local,
+ object,
+ uuid(4a5c89eb-df51-4654-ac2a-e48e02bbabf6),
+ helpstring("IVMRImageCompositor9 interface"),
+ pointer_default(unique)
+]
+interface IVMRImageCompositor9 : IUnknown
+{
+ HRESULT InitCompositionDevice([in] IUnknown *d3ddev);
+ HRESULT TermCompositionDevice([in] IUnknown *d3ddev);
+ HRESULT CompositeImage([in] IUnknown *d3ddev, [in] IDirect3DSurface9 *d3dtarget, [in] AM_MEDIA_TYPE *mttarget,
+ [in] REFERENCE_TIME start, [in] REFERENCE_TIME stop, D3DCOLOR back,
+ [in] VMR9VideoStreamInfo *info, [in] UINT streams);
+};
--- /dev/null
+/*
+ * Copyright (C) 2008 Maarten Lankhorst
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+cpp_quote("#if 0")
+typedef DWORD IDirectDrawSurface7;
+typedef DWORD IDirectDraw7;
+typedef DWORD *LPBITMAPINFOHEADER;
+typedef DWORD *LPDDPIXELFORMAT;
+typedef struct { DWORD dw1, dw2; } DDCOLORKEY;
+cpp_quote("#endif")
+cpp_quote("#include <ddraw.h>")
+
+interface IVMRSurface;
+interface IVMRSurfaceAllocator;
+interface IVMRSurfaceAllocatorNotify;
+interface IVMRImagePresenter;
+interface IVMRImagePresenterNotify;
+interface IVMRWindowlessControl;
+interface IVMRMixerControl;
+interface IVMRMixerBitmap;
+interface IVMRFilterConfig;
+interface IVMRAspectRatioControl;
+interface IVMRDeinterlaceControl;
+interface IVMRMonitorConfig;
+interface IVMRImageCompositor;
+interface IVMRVideoStreamControl;
+
+typedef enum _VMRPresentationFlags
+{
+ VMRSample_SyncPoint = 0x01,
+ VMRSample_Preroll = 0x02,
+ VMRSample_Discontinuity = 0x04,
+ VMRSample_TimeValid = 0x08,
+ VMRSample_SrcDstRectsValid = 0x10
+} VMRPresentationFlags;
+
+typedef struct tagVMRPRESENTATIONINFO
+{
+ DWORD dwFlags;
+ IDirectDrawSurface7 *lpSurf;
+ REFERENCE_TIME rtStart, rtEnd;
+ SIZE szAspectRatio;
+ RECT rcSrc, rcDst;
+ DWORD dwTypeSpecificFlags;
+ DWORD dwInterlaceFlags;
+} VMRPRESENTATIONINFO;
+
+[
+ local,
+ object,
+ uuid(ce704fe7-e71e-41fb-baa2-c4403e1182f5),
+ helpstring("IVMRImagePresenter interface"),
+ pointer_default(unique)
+]
+interface IVMRImagePresenter : IUnknown
+{
+ HRESULT StartPresenting([in] DWORD_PTR id);
+ HRESULT StopPresenting([in] DWORD_PTR id);
+ HRESULT PresentImage([in] DWORD_PTR id, [in] VMRPRESENTATIONINFO *info);
+};
+
+typedef enum _VMRSurfaceAllocationFlags
+{
+ AMAP_PIXELFORMAT_VALID = 0x01,
+ AMAP_3D_TARGET = 0x02,
+ AMAP_ALLOW_SYSMEM = 0x04,
+ AMAP_FORCE_SYSMEM = 0x08,
+ AMAP_DIRECTED_FLIP = 0x10,
+ AMAP_DXVA_TARGET = 0x20
+} VMRSurfaceAllocationFlags;
+
+typedef struct tagVMRALLOCATIONINFO
+{
+ DWORD dwFlags;
+ LPBITMAPINFOHEADER lpHdr;
+ LPDDPIXELFORMAT lpPixFmt;
+ SIZE szAspectRatio;
+ DWORD dwMinBuffers;
+ DWORD dwMaxBuffers;
+ DWORD dwInterlaceFlags;
+ SIZE szNativeSize;
+} VMRALLOCATIONINFO;
+
+[
+ local,
+ object,
+ uuid(31ce832e-4484-458b-8cca-f4d7e3db0b52),
+ helpstring("IVMRSurfaceAllocator interface"),
+ pointer_default(unique)
+]
+interface IVMRSurfaceAllocator : IUnknown
+{
+ HRESULT AllocateSurface([in] DWORD_PTR id, [in] VMRALLOCATIONINFO *allocinfo, [in, out] DWORD *buffers, IDirectDrawSurface7 **surface);
+ HRESULT FreeSurface([in] DWORD_PTR id);
+ HRESULT PrepareSurface([in] DWORD_PTR id, [in] IDirectDrawSurface7 *surface, [in] DWORD dwSurfaceFlags);
+ HRESULT AdviseNotify([in] IVMRSurfaceAllocatorNotify *notify);
+};
+
+[
+ local,
+ object,
+ uuid(aada05a8-5a4e-4729-af0b-cea27aed51e2),
+ helpstring("IVMRSurfaceAllocatorNotify interface"),
+ pointer_default(unique)
+]
+interface IVMRSurfaceAllocatorNotify : IUnknown
+{
+ HRESULT AdviseSurfaceAllocator([in] DWORD_PTR id, [in] IVMRSurfaceAllocator *allocator);
+ HRESULT SetDDrawDevice([in] IDirectDraw7 *device, [in] HMONITOR monitor);
+ HRESULT ChangeDDrawDevice([in] IDirectDraw7 *device, [in] HMONITOR monitor);
+ HRESULT RestoreDDrawSurfaces();
+ HRESULT NotifyEvent([in] LONG EventCode, [in] LONG_PTR p1, [in] LONG_PTR p2);
+ HRESULT SetBorderColor([in] COLORREF border);
+};
+
+typedef enum _VMR_ASPECT_RATIO_MODE
+{
+ VMR_ARMODE_NONE,
+ VMR_ARMODE_LETTER_BOX
+} VMR_ASPECT_RATIO_MODE;
+
+[
+ local,
+ object,
+ uuid(0eb1088c-4dcd-46f0-878f-39dae86a51b7),
+ helpstring("IVMRWindowlessControl interface"),
+ pointer_default(unique)
+]
+interface IVMRWindowlessControl : IUnknown
+{
+ HRESULT GetNativeVideoSize([out] LONG *width, [out] LONG *height, [out] LONG *ar_width, [out] LONG *ar_height);
+ HRESULT GetMinIdealVideoSize([out] LONG *width, [out] LONG *height);
+ HRESULT GetMaxIdealVideoSize([out] LONG *width, [out] LONG *height);
+ HRESULT SetVideoPosition([in] const RECT *src_rect, [in] const RECT *dst_rect);
+ HRESULT GetVideoPosition([out] RECT *src_rect, [out] RECT *dst_rect);
+ HRESULT GetAspectRatioMode([out] DWORD *mode);
+ HRESULT SetAspectRatioMode([in] DWORD mode);
+ HRESULT SetVideoClippingWindow([in] HWND hwnd);
+ HRESULT RepaintVideo([in] HWND hwnd, [in] HDC hdc);
+ HRESULT DisplayModeChanged();
+ HRESULT GetCurrentImage([out] BYTE **data);
+ HRESULT SetBorderColor([in] COLORREF border);
+ HRESULT GetBorderColor([out] COLORREF *border);
+ HRESULT SetColorKey([in] COLORREF key);
+ HRESULT GetColorKey([out] COLORREF *key);
+};
+
+typedef enum _VMRMixerPrefs
+{
+ MixerPref_NoDecimation = 0x0001,
+ MixerPref_DecimateOutput = 0x0002,
+ MixerPref_ARAdjustXorY = 0x0004,
+ MixerPref_DecimationReserved = 0x0008,
+ MixerPref_DecimateMask = 0x000f,
+
+ MixerPref_BiLinearFiltering = 0x0010,
+ MixerPref_PointFiltering = 0x0020,
+ MixerPref_FinteringMask = 0x00f0,
+
+ MixerPref_RenderTargetRGB = 0x0100,
+ MixerPref_RenderTargetYUV = 0x1000,
+ MixerPref_RenderTargetYUV420 = 0x0200,
+ MixerPref_RenderTargetYUV422 = 0x0400,
+ MixerPref_RenderTargetYUV444 = 0x0800,
+ MixerPref_RenderTargetReserved = 0xe000,
+ MixerPref_RenderTargetMask = 0xff00,
+
+ MixerPref_DynamicSwitchToBOB = 0x10000,
+ MixerPref_DynamicDecimateBy2 = 0x20000,
+ MixerPref_DynamicReserved = 0xc0000,
+ MixerPref_DynamicMask = 0xf0000
+} VMRMixerPrefs;
+
+typedef struct _NORMALIZEDRECT
+{
+ FLOAT left, top, right, bottom;
+} NORMALIZEDRECT;
+
+[
+ local,
+ object,
+ uuid(1c1a17b0-bed0-415d-974b-dc6696131599),
+ helpstring("IVMRMixerControl interface"),
+ pointer_default(unique)
+]
+interface IVMRMixerControl : IUnknown
+{
+ HRESULT SetAlpha([in] DWORD id, [in] FLOAT alpha);
+ HRESULT GetAlpha([in] DWORD id, [out] FLOAT *alpha);
+ HRESULT SetZOrder([in] DWORD id, [in] DWORD z);
+ HRESULT GetZOrder([in] DWORD id, [out] DWORD *z);
+ HRESULT SetOutputRect([in] DWORD id, [in] const NORMALIZEDRECT *rect);
+ HRESULT SetBackgroundClr([in] COLORREF background);
+ HRESULT GetBackgroundClr([out] COLORREF *background);
+ HRESULT SetMixingPrefs([in] DWORD prefs);
+ HRESULT GetMixingPrefs([out] DWORD *prefs);
+};
+
+typedef struct tagVMRGUID
+{
+ struct _GUID *pGUID, GUID;
+} VMRGUID;
+
+#define VMRDEVICENAMELEN 32
+#define VMRDEVICEDESCRIPTIONLEN 256
+
+typedef struct tagVMRMONITORINFO
+{
+ VMRGUID guid;
+ RECT rcMonitor;
+ HMONITOR hMon;
+ DWORD dwFlags;
+ WCHAR szDevice[VMRDEVICENAMELEN];
+ WCHAR szDescription[VMRDEVICEDESCRIPTIONLEN];
+ LARGE_INTEGER liDriverVersion;
+ DWORD dwVendorId;
+ DWORD dwDeviceId;
+ DWORD dwSubSysId;
+ DWORD dwRevision;
+} VMRMONITORINFO;
+
+[
+ local,
+ object,
+ uuid(9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce),
+ helpstring("IVMRMonitorConfig interface"),
+ pointer_default(unique)
+]
+interface IVMRMonitorConfig : IUnknown
+{
+ HRESULT SetMonitor([in] const VMRGUID *vmrguid);
+ HRESULT GetMonitor([out] VMRGUID *vmrguid);
+ HRESULT SetDefaultMonitor([in] const VMRGUID *vmrguid);
+ HRESULT GetDefaultMonitor([out] VMRGUID *vmrguid);
+ HRESULT GetAvailableMonitors([out, size_is(array_size)] VMRMONITORINFO *info, [in] DWORD array_size, [out] DWORD *retrieved);
+}
+
+typedef enum _VMRRenderPrefs
+{
+ RenderPrefs_RestrictToInitialMonitor = 0x00,
+ RenderPrefs_ForceOffScreen = 0x01,
+ RenderPrefs_ForceOverlays = 0x02,
+ RenderPrefs_AllowOverlays = 0x00,
+ RenderPrefs_AllowOffscreen = 0x00,
+ RenderPrefs_DoNotRenderColorKeyAndBorder = 0x08,
+ RenderPrefs_Reserved = 0x10,
+ RenderPrefs_PreferAGPMemWhenMixing = 0x20,
+ RenderPrefs_Mask = 0x3f
+} VMRRenderPrefs;
+
+typedef enum _VMRMode
+{
+ VMRMode_Windowed = 0x1,
+ VMRMode_Windowless = 0x2,
+ VMRMode_Renderless = 0x4,
+ VMRMode_Mask = 0x7
+} VMRMode;
+
+enum { MAX_NUMBER_OF_STREAMS = 16 };
+
+[
+ local,
+ object,
+ uuid(9e5530c5-7034-48b4-bb46-0b8a6efc8e36),
+ helpstring("IVMRFilterConfig interface"),
+ pointer_default(unique)
+]
+interface IVMRFilterConfig : IUnknown
+{
+ HRESULT SetImageCompositor([in] IVMRImageCompositor *compositor);
+ HRESULT SetNumberOfStreams([in] DWORD streams);
+ HRESULT GetNumberOfStreams([out] DWORD *streams);
+ HRESULT SetRenderingPrefs([in] DWORD prefs);
+ HRESULT GetRenderingPrefs([out] DWORD *prefs);
+ HRESULT SetRenderingMode([in] DWORD mode);
+ HRESULT GetRenderingMode([out] DWORD *mode);
+};
+
+[
+ local,
+ object,
+ uuid(ede80b5c-bad6-4623-b537-65586c9f8dfd),
+ helpstring("IVMRAspectRatioControl interface"),
+ pointer_default(unique)
+]
+interface IVMRAspectRatioControl : IUnknown
+{
+ HRESULT GetAspectRatioMode([out] DWORD *armode);
+ HRESULT SetAspectRatioMode([in] DWORD armode);
+};
+
+typedef enum _VMRDeinterlacePrefs
+{
+ DeinterlacePref_NextBest = 0x1,
+ DeinterlacePref_BOB = 0x2,
+ DeinterlacePref_Weave = 0x4,
+ DeinterlacePref_Mask = 0x7
+} VMRDeinterlacePrefs;
+
+typedef enum _VMRDeinterlaceTech
+{
+ DeinterlaceTech_Unknown = 0x00,
+ DeinterlaceTech_BOBLineReplicate = 0x01,
+ DeinterlaceTech_BOBVerticalStretch = 0x02,
+ DeinterlaceTech_MedianFiltering = 0x04,
+ DeinterlaceTech_EdgeFiltering = 0x08,
+ DeinterlaceTech_FieldAdaptive = 0x10,
+ DeinterlaceTech_PixelAdaptive = 0x20,
+ DeinterlaceTech_MotionVectorSteered = 0x80
+} VMRDeinterlaceTech;
+
+typedef struct _VMRFrequency
+{
+ DWORD dwNumerator, dwDenominator;
+} VMRFrequency;
+
+typedef struct _VMRVideoDesc
+{
+ DWORD dwSize;
+ DWORD dwSampleWidth;
+ DWORD dwSampleHeight;
+ BOOL SingleFieldPerSample;
+ DWORD dwFourCC;
+ VMRFrequency InputSampleFreq;
+ VMRFrequency OutputFrameFreq;
+} VMRVideoDesc;
+
+typedef struct _VMRDeinterlaceCaps
+{
+ DWORD dwSize;
+ DWORD dwNumPreviousOutputFrames;
+ DWORD dwNumForwardRefSamples;
+ DWORD dwNumBackwardRefSamples;
+ VMRDeinterlaceTech DeinterlaceTechnology;
+} VMRDeinterlaceCaps;
+
+[
+ local,
+ object,
+ uuid(bb057577-0db8-4e6a-87a7-1a8c9a505a0f),
+ helpstring("IVMRDeinterlaceControl interface"),
+ pointer_default(unique)
+]
+interface IVMRDeinterlaceControl : IUnknown
+{
+ HRESULT GetNumberOfDeinterlaceModes([in] VMRVideoDesc *desc, [in, out] DWORD *num_modes, [out] GUID *modes);
+ HRESULT GetDeinterlaceModeCaps([in] GUID *mode, [in] VMRVideoDesc *desc, [in, out] VMRDeinterlaceCaps *caps);
+ HRESULT GetDeinterlaceMode([in] DWORD id, [out] GUID *mode);
+ HRESULT SetDeinterlaceMode([in] DWORD id, [in] GUID *mode);
+ HRESULT GetDeinterlacePrefs([out] DWORD *prefs);
+ HRESULT SetDeinterlacePrefs([in] DWORD prefs);
+ HRESULT GetActualDeinterlaceMode([in] DWORD id, [out] GUID *mode);
+};
+
+typedef struct _VMRALPHABITMAP
+{
+ DWORD dwFlags;
+ HDC hdc;
+ IDirectDrawSurface7 *pDDS;
+ RECT rSrc;
+ RECT rDest;
+ FLOAT fAlpha;
+ COLORREF clrSrcKey;
+} VMRALPHABITMAP, *PVMRALPHABITMAP;
+
+cpp_quote("#define VMRBITMAP_DISABLE (0x01)")
+cpp_quote("#define VMRBITMAP_HDC (0x02)")
+cpp_quote("#define VMRBITMAP_ENTIREDDS (0x04)")
+cpp_quote("#define VMRBITMAP_SRCCOLORKEY (0x08)")
+cpp_quote("#define VMRBITMAP_SRCRECT (0x10)")
+
+[
+ local,
+ object,
+ uuid(1e673275-0257-40aa-af20-7c608d4a0428),
+ helpstring("IVMRMixerBitmap interface"),
+ pointer_default(unique)
+]
+interface IVMRMixerBitmap : IUnknown
+{
+ HRESULT SetAlphaBitmap([in] const VMRALPHABITMAP *params);
+ HRESULT UpdateAlphaBitmapParameters([in] VMRALPHABITMAP *params);
+ HRESULT GetAlphaBitmapParameters([out] VMRALPHABITMAP *params);
+};
+
+typedef struct _VMRVIDEOSTREAMINFO
+{
+ IDirectDrawSurface7 *pddsVideoSurface;
+ DWORD dwWidth;
+ DWORD dwHeight;
+ DWORD dwStrmID;
+ FLOAT fAlpha;
+ DDCOLORKEY ddClrKey;
+ NORMALIZEDRECT rNormal;
+} VMRVIDEOSTREAMINFO;
+
+[
+ local,
+ object,
+ uuid(7a4fb5af-479f-4074-bb40-ce6722e43c82),
+ helpstring("IVMRImageCompositor interface"),
+ pointer_default(unique)
+]
+interface IVMRImageCompositor : IUnknown
+{
+ HRESULT InitCompositionTarget([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget);
+ HRESULT TermCompositionTarget([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget);
+ HRESULT SetStreamMediaType([in] DWORD id, [in] AM_MEDIA_TYPE *pmt, [in] BOOL texture);
+ HRESULT CompositeImage([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget,
+ [in] AM_MEDIA_TYPE *pmt, [in] REFERENCE_TIME start, [in] REFERENCE_TIME stop,
+ [in] DWORD backgrnd, [in] VMRVIDEOSTREAMINFO *info, [in] UINT streams);
+};
+
+[
+ local,
+ object,
+ uuid(058d1f11-2a54-4bef-bd54-df706626b727),
+ helpstring("IVMRVideoStreamControl interface"),
+ pointer_default(unique)
+]
+interface IVMRVideoStreamControl : IUnknown
+{
+ HRESULT SetColorKey([in] DDCOLORKEY *key);
+ HRESULT GetColorKey([out] DDCOLORKEY *key);
+ HRESULT SetStreamActiveState([in] BOOL active);
+ HRESULT GetStreamActiveState([out] BOOL *active);
+};
+
+[
+ local,
+ object,
+ uuid(9f3a1c85-8555-49ba-935f-be5b5b29d178),
+ helpstring("IVMRImagePresenterConfig interface"),
+ pointer_default(unique)
+]
+interface IVMRImagePresenterConfig : IUnknown
+{
+ HRESULT SetRenderingPrefs([in] DWORD prefs);
+ HRESULT GetRenderingPrefs([out] DWORD *prefs);
+};
+
+[
+ local,
+ object,
+ uuid(e6f7ce40-4673-44f1-8f77-5499d68cb4ea),
+ helpstring("IVMRImagePresenterExclModeConfig interface"),
+ pointer_default(unique)
+]
+interface IVMRImagePresenterExclModeConfig : IVMRImagePresenterConfig
+{
+ HRESULT SetXlcModeDDObjAndPrimarySurface([in] IDirectDraw7 *dddev, [in] IDirectDrawSurface7 *ddsurface);
+ HRESULT GetXlcModeDDObjAndPrimarySurface([out] IDirectDraw7 **dddev, [out] IDirectDrawSurface7 **ddsurface);
+};
+
+[
+ local,
+ object,
+ uuid(aac18c18-e186-46d2-825d-a1f8dc8e395a),
+ helpstring("IVPManager interface"),
+ pointer_default(unique)
+]
+interface IVPManager : IUnknown
+{
+ HRESULT SetVideoPortIndex([in] DWORD index);
+ HRESULT GetVideoPortIndex([out] DWORD *index);
+};
--- /dev/null
+/*
+ * Copyright 2009 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
+ */
+
+cpp_quote("DEFINE_GUID(CLSID_WbemLocator, 0x4590f811,0x1d3A,0x11d0,0x89,0x1f,0x00,0xaa,0x00,0x4b,0x2e,0x24);")
+cpp_quote("DEFINE_GUID(CLSID_WbemStatusCode, 0xeb87e1bd,0x3233,0x11d2,0xae,0xc9,0x00,0xc0,0x4f,0xb6,0x88,0x20);")
+
+import "objidl.idl";
+
+interface IWbemContext;
+interface IWbemServices;
+interface IWbemStatusCodeText;
+
+typedef [v1_enum] enum tag_WBEMSTATUS
+{
+ WBEM_NO_ERROR = 0,
+ WBEM_S_NO_ERROR = 0,
+ WBEM_S_SAME = 0,
+ WBEM_S_FALSE = 1,
+ WBEM_S_ALREADY_EXISTS = 0x40001,
+ WBEM_S_RESET_TO_DEFAULT = 0x40002,
+ WBEM_S_DIFFERENT = 0x40003,
+ WBEM_S_TIMEDOUT = 0x40004,
+ WBEM_S_NO_MORE_DATA = 0x40005,
+ WBEM_S_OPERATION_CANCELLED = 0x40006,
+ WBEM_S_PENDING = 0x40007,
+ WBEM_S_DUPLICATE_OBJECTS = 0x40008,
+ WBEM_S_ACCESS_DENIED = 0x40009,
+ WBEM_S_PARTIAL_RESULTS = 0x40010,
+ WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
+ WBEM_E_FAILED = 0x80041001,
+ WBEM_E_NOT_FOUND = 0x80041002,
+ WBEM_E_ACCESS_DENIED = 0x80041003,
+ WBEM_E_PROVIDER_FAILURE = 0x80041004,
+ WBEM_E_TYPE_MISMATCH = 0x80041005,
+ WBEM_E_OUT_OF_MEMORY = 0x80041006,
+ WBEM_E_INVALID_CONTEXT = 0x80041007,
+ WBEM_E_INVALID_PARAMETER = 0x80041008,
+ WBEM_E_NOT_AVAILABLE = 0x80041009,
+ WBEM_E_CRITICAL_ERROR = 0x8004100a,
+ WBEM_E_INVALID_STREAM = 0x8004100b,
+ WBEM_E_NOT_SUPPORTED = 0x8004100c,
+ WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
+ WBEM_E_INVALID_NAMESPACE = 0x8004100e,
+ WBEM_E_INVALID_OBJECT = 0x8004100f,
+ WBEM_E_INVALID_CLASS = 0x80041010,
+ WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
+ WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
+ WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
+ WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
+ WBEM_E_TRANSPORT_FAILURE = 0x80041015,
+ WBEM_E_INVALID_OPERATION = 0x80041016,
+ WBEM_E_INVALID_QUERY = 0x80041017,
+ WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
+ WBEM_E_ALREADY_EXISTS = 0x80041019,
+ WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
+ WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
+ WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
+ WBEM_E_UNEXPECTED = 0x8004101d,
+ WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
+ WBEM_E_CANNOT_BE_KEY = 0x8004101f,
+ WBEM_E_INCOMPLETE_CLASS = 0x80041020,
+ WBEM_E_INVALID_SYNTAX = 0x80041021,
+ WBEM_E_NONDECORATED_OBJECT = 0x80041022,
+ WBEM_E_READ_ONLY = 0x80041023,
+ WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
+ WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
+ WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
+ WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
+ WBEM_E_ILLEGAL_NULL = 0x80041028,
+ WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
+ WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
+ WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
+ WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
+ WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
+ WBEM_E_INVALID_METHOD = 0x8004102e,
+ WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
+ WBEM_E_SYSTEM_PROPERTY = 0x80041030,
+ WBEM_E_INVALID_PROPERTY = 0x80041031,
+ WBEM_E_CALL_CANCELLED = 0x80041032,
+ WBEM_E_SHUTTING_DOWN = 0x80041033,
+ WBEM_E_PROPAGATED_METHOD = 0x80041034,
+ WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
+ WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
+ WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
+ WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
+ WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
+ WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
+ WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
+ WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
+ WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
+ WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
+ WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
+ WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
+ WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
+ WBEM_E_INVALID_QUALIFIER = 0x80041042,
+ WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
+ WBEM_E_TOO_MUCH_DATA = 0x80041044,
+ WBEM_E_SERVER_TOO_BUSY = 0x80041045,
+ WBEM_E_INVALID_FLAVOR = 0x80041046,
+ WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
+ WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
+ WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
+ WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
+ WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
+ WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
+ WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
+ WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
+ WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
+ WBEM_E_METHOD_DISABLED = 0x80041056,
+ WBEM_E_REFRESHER_BUSY = 0x80041057,
+ WBEM_E_UNPARSABLE_QUERY = 0x80041058,
+ WBEM_E_NOT_EVENT_CLASS = 0x80041059,
+ WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
+ WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
+ WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
+ WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
+ WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
+ WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
+ WBEM_E_QUEUE_OVERFLOW = 0x80041061,
+ WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
+ WBEM_E_INVALID_OPERATOR = 0x80041063,
+ WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
+ WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
+ WBEM_E_AMENDED_OBJECT = 0x80041066,
+ WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
+ WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
+ WBEM_E_TIMED_OUT = 0x80041069,
+ WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
+ WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
+ WBEM_E_QUOTA_VIOLATION = 0x8004106c,
+ WBEM_E_RESERVED_001 = 0x8004106d,
+ WBEM_E_RESERVED_002 = 0x8004106e,
+ WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
+ WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
+ WBEM_E_CONNECTION_FAILED = 0x80041071,
+ WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
+ WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
+ WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
+ WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
+ WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
+ WBEM_E_RERUN_COMMAND = 0x80041077,
+ WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
+ WBEM_E_VETO_DELETE = 0x80041079,
+ WBEM_E_VETO_PUT = 0x8004107a,
+ WBEM_E_INVALID_LOCALE = 0x80041080,
+ WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
+ WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
+ WBEM_E_NO_SCHEMA = 0x80041083,
+ WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
+ WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
+ WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
+ WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
+ WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
+ WBEM_E_NO_KEY = 0x80041089,
+ WBEM_E_PROVIDER_DISABLED = 0x8004108a
+} WBEMSTATUS;
+
+[
+ object,
+ restricted,
+ local,
+ uuid(dc12a687-737f-11cf-884d-00aa004b2e24),
+ pointer_default(unique)
+]
+interface IWbemLocator : IUnknown
+{
+ HRESULT ConnectServer(
+ [in] const BSTR strNetworkResource,
+ [in] const BSTR strUser,
+ [in] const BSTR strPassword,
+ [in] const BSTR strLocale,
+ [in] LONG lSecurityFlags,
+ [in] const BSTR strAuthority,
+ [in] IWbemContext *pCtx,
+ [out] IWbemServices **ppNamespace);
+};
+
+[
+ object,
+ local,
+ uuid(eb87e1bc-3233-11d2-aec9-00c04fb68820)
+]
+interface IWbemStatusCodeText : IUnknown
+{
+ HRESULT GetErrorCodeText(
+ [in] HRESULT hRes,
+ [in] LCID LocaleId,
+ [in] LONG lFlags,
+ [out] BSTR *MessageText);
+
+ HRESULT GetFacilityCodeText(
+ [in] HRESULT hRes,
+ [in] LCID LocaleId,
+ [in] LONG lFlags,
+ [out] BSTR *MessageText);
+};
WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD
} WICBitmapPaletteType;
+typedef enum WICBitmapTransformOptions {
+ WICBitmapTransformRotate0 = 0x00000000,
+ WICBitmapTransformRotate90 = 0x00000001,
+ WICBitmapTransformRotate180 = 0x00000002,
+ WICBitmapTransformRotate270 = 0x00000003,
+ WICBitmapTransformFlipHorizontal = 0x00000008,
+ WICBitmapTransformFlipVertical = 0x00000010,
+ WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
+} WICBitmapTransformOptions;
+
+typedef enum WICColorContextType {
+ WICColorContextUninitialized = 0x00000000,
+ WICColorContextProfile = 0x00000001,
+ WICColorContextExifColorSpace = 0x00000002
+} WICColorContextType;
+
typedef enum WICComponentType {
WICDecoder = 0x00000001,
WICEncoder = 0x00000002,
cpp_quote("#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c")
interface IWICPalette;
-interface IWICBitmapClipper;
-interface IWICBitmapFlipRotator;
-interface IWICColorContext;
interface IWICColorTransform;
interface IWICFastMetadataEncoder;
interface IWICMetadataQueryReader;
interface IWICMetadataQueryWriter;
+[
+ object,
+ uuid(3c613a02-34b2-44ea-9a7c-45aea9c6fd6d)
+]
+interface IWICColorContext : IUnknown
+{
+ HRESULT InitializeFromFilename(
+ [in] LPCWSTR wzFilename);
+
+ HRESULT InitializeFromMemory(
+ [in, size_is(cbBufferSize)] const BYTE *pbBuffer,
+ [in] UINT cbBufferSize);
+
+ HRESULT InitializeFromExifColorSpace(
+ [in] UINT value);
+
+ HRESULT GetType(
+ [out] WICColorContextType *pType);
+
+ HRESULT GetProfileBytes(
+ [in] UINT cbBuffer,
+ [in, out, unique, size_is(cbBuffer)] BYTE *pbBuffer,
+ [out] UINT *pcbActual);
+
+ HRESULT GetExifColorSpace(
+ [out] UINT *pValue);
+}
+
[
object,
uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94)
[out] WICPixelFormatGUID *pPixelFormat);
}
+[
+ object,
+ uuid(5009834f-2d6a-41ce-9e1b-17c5aff7a782)
+]
+interface IWICBitmapFlipRotator : IWICBitmapSource
+{
+ HRESULT Initialize(
+ [in] IWICBitmapSource *pISource,
+ [in] WICBitmapTransformOptions options);
+}
+
[
object,
uuid(00000121-a8f2-4877-ba0a-fd2b6645fb94)
[in] WICBitmapInterpolationMode mode);
}
+[
+ object,
+ uuid(e4fbcf03-223d-4e81-9333-d635556dd1b5)
+]
+interface IWICBitmapClipper : IWICBitmapSource
+{
+ HRESULT Initialize(
+ [in] IWICBitmapSource *pISource,
+ [in] const WICRect *prc);
+}
+
cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);")
[
#define SUBLANG_GREENLANDIC_GREENLAND 0x01
#define SUBLANG_GUJARATI_INDIA 0x01
#define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
+#define SUBLANG_HAUSA_NIGERIA 0x01
#define SUBLANG_HEBREW_ISRAEL 0x01
#define SUBLANG_HINDI_INDIA 0x01
#define SUBLANG_HUNGARIAN_HUNGARY 0x01
#define SUBLANG_KOREAN 0x01
#define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
#define SUBLANG_LAO_LAO 0x01
+#define SUBLANG_LAO_LAO_PDR 0x01
#define SUBLANG_LATVIAN_LATVIA 0x01
#define SUBLANG_LITHUANIAN_LITHUANIA 0x01
+#define SUBLANG_LITHUANIAN 0x01
#define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
#define SUBLANG_MACEDONIAN_MACEDONIA 0x01
#define SUBLANG_SPANISH_URUGUAY 0x0e
#define SUBLANG_SPANISH_VENEZUELA 0x08
#define SUBLANG_SWAHILI 0x01
+#define SUBLANG_SWAHILI_KENYA 0x01
#define SUBLANG_SWEDISH_FINLAND 0x02
#define SUBLANG_SWEDISH 0x01
#define SUBLANG_SWEDISH_SWEDEN 0x01
#endif
UINT WINAPI PrivateExtractIconsA(LPCSTR,int,int,int,HICON*,UINT*,UINT,UINT);
UINT WINAPI PrivateExtractIconsW(LPCWSTR,int,int,int,HICON*,UINT*,UINT,UINT);
+UINT WINAPI WINAPI PrivateExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
+UINT WINAPI WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
BOOL WINAPI PtInRect(LPCRECT,POINT);
HWND WINAPI RealChildWindowFromPoint(HWND,POINT);
UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
DWORD dwVersionLo;
} QUERYCONTEXT;
-typedef [v1_enum] enum tagTYSPEC
+typedef [v1_enum] enum tagTYSPEC
{
TYSPEC_CLSID,
TYSPEC_FILEEXT,
#include "docobj.h"
#include "exdisp.h"
+#include "shdeprecated.h"
#include "shlguid.h"
#include "shlguid_undoc.h"
#include "shlobj.h"
DEFINE_GUID(CLSID_StaticMetafile, 0x00000315,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_Picture_Dib, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_StaticDib, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(CLSID_Picture_EnhMetafile, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
+DEFINE_GUID(CLSID_Picture_EnhMetafile, 0x00000319,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_DCOMAccessControl, 0x0000031d,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_StdGlobalInterfaceTable,0x00000323,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_ComBinding, 0x00000328,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(CLSID_TF_InputProcessorProfiles, 0x33c53a50,0xf456,0x4884,0xb0,0x49,0x85,0xfd,0x64,0x3e,0xcf,0xed);
DEFINE_GUID(CLSID_TF_CategoryMgr, 0xA4B544A1,0x438D,0x4B41,0x93,0x25,0x86,0x95,0x23,0xE2,0xD6,0xC7);
DEFINE_GUID(CLSID_TF_LangBarMgr, 0xebb08c45,0x6c4a,0x4fdc,0xae,0x53,0x4e,0xb8,0xc4,0xc7,0xdb,0x8e);
+DEFINE_GUID(CLSID_TF_DisplayAttributeMgr, 0x3ce74de4,0x53d3,0x4d74,0x8b,0x83,0x43,0x1b,0x38,0x28,0xba,0x53);
DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344,0xfd6d,0x11d0,0x95,0x8a,0x00,0x60,0x97,0xc9,0xa0,0x90);
DEFINE_GUID(GUID_TFCAT_TIP_KEYBOARD, 0x34745c63,0xb2f0,0x4784,0x8b,0x67,0x5e,0x12,0xc8,0x70,0x1a,0x31);
DEFINE_GUID(GUID_TFCAT_TIP_SPEECH, 0xB5A73CD1,0x8355,0x426B,0xA1,0x61,0x25,0x98,0x08,0xF2,0x6B,0x14);
DEFINE_GUID(GUID_TFCAT_TIP_HANDWRITING, 0x246ecb87,0xc2f2,0x4abe,0x90,0x5b,0xc8,0xb3,0x8a,0xdd,0x2c,0x43);
DEFINE_GUID(CLSID_ConnectionManager, 0xBA126AD1,0x2166,0x11D1,0xB1,0xD0,0x0,0x80,0x5F,0xC1,0x27,0x0E);
DEFINE_GUID(CLSID_CNetCfg, 0x5B035261,0x40F9,0x11D1,0xAA,0xEC,0x00,0x80,0x5F,0xC1,0x27,0x0E);
-
+DEFINE_GUID(GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER, 0x046B8C80,0x1647,0x40F7,0x9B,0x21,0xB9,0x3B,0x81,0xAA,0xBC,0x1B);
+DEFINE_GUID(GUID_COMPARTMENT_KEYBOARD_DISABLED, 0x71a5b253,0x1951,0x466b,0x9f,0xbc,0x9c,0x88,0x08,0xfa,0x84,0xf2);
+DEFINE_GUID(GUID_COMPARTMENT_KEYBOARD_OPENCLOSE, 0x58273aad,0x01bb,0x4164,0x95,0xc6,0x75,0x5b,0xa0,0xb5,0x16,0x2d);
+DEFINE_GUID(GUID_COMPARTMENT_HANDWRITING_OPENCLOSE, 0xf9ae2c6b,0x1866,0x4361,0xaf,0x72,0x7a,0xa3,0x09,0x48,0x89,0x0e);
+DEFINE_GUID(GUID_COMPARTMENT_SPEECH_DISABLED, 0x56c5c607,0x0703,0x4e59,0x8e,0x52,0xcb,0xc8,0x4e,0x8b,0xbe,0x35);
+DEFINE_GUID(GUID_COMPARTMENT_SPEECH_OPENCLOSE, 0x544d6a63,0xe2e8,0x4752,0xbb,0xd1,0x00,0x09,0x60,0xbc,0xa0,0x83);
+DEFINE_GUID(GUID_COMPARTMENT_SPEECH_GLOBALSTATE, 0x2a54fe8e,0x0d08,0x460c,0xa7,0x5d,0x87,0x03,0x5f,0xf4,0x36,0xc5);
+DEFINE_GUID(GUID_COMPARTMENT_PERSISTMENUENABLED, 0x575f3783,0x70c8,0x47c8,0xae,0x5d,0x91,0xa0,0x1a,0x1f,0x75,0x92);
+DEFINE_GUID(GUID_COMPARTMENT_EMPTYCONTEXT, 0xd7487dbf,0x804e,0x41c5,0x89,0x4d,0xad,0x96,0xfd,0x4e,0xea,0x13);
+DEFINE_GUID(GUID_COMPARTMENT_TIPUISTATUS, 0x148ca3ec,0x0366,0x401c,0x8d,0x75,0xed,0x97,0x8d,0x85,0xfb,0xc9);