[PSDK]
authorAleksey Bragin <aleksey@reactos.org>
Mon, 8 Mar 2010 20:51:33 +0000 (20:51 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Mon, 8 Mar 2010 20:51:33 +0000 (20:51 +0000)
- Update all IDLs to Wine-1.1.40. If you feel some of your change was lost, it wasn't needed for building. Please recommit if you still think it's of a high value.

svn path=/trunk/; revision=46005

48 files changed:
reactos/dll/win32/msi/msiserver.idl
reactos/dll/win32/shell32/dataobject.c
reactos/dll/win32/shell32/pidl.c
reactos/dll/win32/shell32/she_ocmenu.c
reactos/dll/win32/shell32/shelllink.c
reactos/dll/win32/shell32/shfldr_fs.c
reactos/dll/win32/shell32/shlfolder.c
reactos/dll/win32/shell32/shlview.c
reactos/dll/win32/shell32/shv_def_cmenu.c
reactos/dll/win32/shell32/stubs.c
reactos/include/dxsdk/axextend.idl
reactos/include/psdk/access.idl [new file with mode: 0644]
reactos/include/psdk/asynot.idl [new file with mode: 0644]
reactos/include/psdk/asysta.idl [new file with mode: 0644]
reactos/include/psdk/binres.idl [new file with mode: 0644]
reactos/include/psdk/bits.idl
reactos/include/psdk/cmdbas.idl [new file with mode: 0644]
reactos/include/psdk/cmdtxt.idl [new file with mode: 0644]
reactos/include/psdk/control.idl
reactos/include/psdk/crtrow.idl [new file with mode: 0644]
reactos/include/psdk/dbccmd.idl [new file with mode: 0644]
reactos/include/psdk/dbcses.idl [new file with mode: 0644]
reactos/include/psdk/dbdsad.idl [new file with mode: 0644]
reactos/include/psdk/dbprop.idl
reactos/include/psdk/dbs.idl
reactos/include/psdk/dimm.idl
reactos/include/psdk/dispex.idl
reactos/include/psdk/hlink.idl
reactos/include/psdk/mlang.idl
reactos/include/psdk/mscoree.idl
reactos/include/psdk/msctf.idl
reactos/include/psdk/objidl.idl
reactos/include/psdk/oledb.idl
reactos/include/psdk/opnrst.idl [new file with mode: 0644]
reactos/include/psdk/propidl.idl
reactos/include/psdk/row.idl [new file with mode: 0644]
reactos/include/psdk/rowchg.idl [new file with mode: 0644]
reactos/include/psdk/rstbas.idl [new file with mode: 0644]
reactos/include/psdk/rstinf.idl [new file with mode: 0644]
reactos/include/psdk/rstloc.idl [new file with mode: 0644]
reactos/include/psdk/sensevts.idl
reactos/include/psdk/sesprp.idl [new file with mode: 0644]
reactos/include/psdk/shlobj.h
reactos/include/psdk/shobjidl.idl
reactos/include/psdk/shtypes.idl
reactos/include/psdk/tom.idl
reactos/include/psdk/wtypes.idl
reactos/include/reactos/wine/wined3d.idl

index aa93436..25210fe 100644 (file)
@@ -29,7 +29,6 @@ typedef int INSTALLMESSAGE;
 typedef int MSICONDITION;
 typedef int MSIRUNMODE;
 typedef int INSTALLSTATE;
-typedef WORD LANGID;
 cpp_quote("#endif")
 
 [
index 503ff45..6da7095 100644 (file)
@@ -428,9 +428,9 @@ LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner,
         dto->apidl = _ILCopyaPidl(apidl, cidl);
         dto->cidl = cidl;
 
-        dto->cfShellIDList = RegisterClipboardFormatA(CFSTR_SHELLIDLIST);
+        dto->cfShellIDList = RegisterClipboardFormatW(CFSTR_SHELLIDLIST);
         dto->cfFileNameA = RegisterClipboardFormatA(CFSTR_FILENAMEA);
-        dto->cfFileNameW = RegisterClipboardFormatA(CFSTR_FILENAMEW);
+        dto->cfFileNameW = RegisterClipboardFormatW(CFSTR_FILENAMEW);
         InitFormatEtc(dto->pFormatEtc[0], dto->cfShellIDList, TYMED_HGLOBAL);
         InitFormatEtc(dto->pFormatEtc[1], CF_HDROP, TYMED_HGLOBAL);
         InitFormatEtc(dto->pFormatEtc[2], dto->cfFileNameA, TYMED_HGLOBAL);
index 0b4f226..f229bd9 100644 (file)
@@ -413,7 +413,7 @@ HRESULT WINAPI SHILCreateFromPathAW (LPCVOID path, LPITEMIDLIST * ppidl, DWORD *
  *  Caller is responsible for deallocating the returned ItemIDList with the
  *  shells IMalloc interface, aka ILFree.
  */
-PIDLIST_ABSOLUTE WINAPI SHCloneSpecialIDList(HWND hwndOwner, int nFolder, BOOL fCreate)
+LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwndOwner, int nFolder, BOOL fCreate)
 {
     LPITEMIDLIST ppidl;
     TRACE_(shell)("(hwnd=%p,csidl=0x%x,%s).\n", hwndOwner, nFolder, fCreate ? "T" : "F");
@@ -696,7 +696,7 @@ HRESULT WINAPI SHGetRealIDL(LPSHELLFOLDER lpsf, LPCITEMIDLIST pidlSimple, LPITEM
         STGMEDIUM medium;
         FORMATETC fmt;
 
-        fmt.cfFormat = RegisterClipboardFormatA(CFSTR_SHELLIDLIST);
+        fmt.cfFormat = RegisterClipboardFormatW(CFSTR_SHELLIDLIST);
         fmt.ptd = NULL;
         fmt.dwAspect = DVASPECT_CONTENT;
         fmt.lindex = -1;
index 618d6ad..dc66376 100644 (file)
@@ -1185,7 +1185,7 @@ SHEOW_LoadOpenWithItems(SHEOWImpl *This, IDataObject *pdtobj)
     LPWSTR szPtr;
     static const WCHAR szShortCut[] = { '.','l','n','k', 0 };
 
-    fmt.cfFormat = RegisterClipboardFormatA(CFSTR_SHELLIDLIST);
+    fmt.cfFormat = RegisterClipboardFormatW(CFSTR_SHELLIDLIST);
     fmt.ptd = NULL;
     fmt.dwAspect = DVASPECT_CONTENT;
     fmt.lindex = -1;
index 5e05bc5..2d9ef1c 100644 (file)
@@ -734,30 +734,30 @@ static HRESULT Stream_LoadAdvertiseInfo( IStream* stm, LPWSTR *str )
 
     TRACE("%p\n",stm);
 
-    r = IStream_Read( stm, &buffer.cbSize, sizeof (DWORD), &count );
+    r = IStream_Read( stm, &buffer.dbh.cbSize, sizeof (DWORD), &count );
     if( FAILED( r ) )
         return r;
 
     /* make sure that we read the size of the structure even on error */
     size = sizeof buffer - sizeof (DWORD);
-    if( buffer.cbSize != sizeof buffer )
+    if( buffer.dbh.cbSize != sizeof buffer )
     {
         ERR("Ooops.  This structure is not as expected...\n");
         return E_FAIL;
     }
 
-    r = IStream_Read( stm, &buffer.dwSignature, size, &count );
+    r = IStream_Read( stm, &buffer.dbh.dwSignature, size, &count );
     if( FAILED( r ) )
         return r;
 
     if( count != size )
         return E_FAIL;
 
-    TRACE("magic %08x  string = %s\n", buffer.dwSignature, debugstr_w(buffer.szwDarwinID));
+    TRACE("magic %08x  string = %s\n", buffer.dbh.dwSignature, debugstr_w(buffer.szwDarwinID));
 
-    if( (buffer.dwSignature&0xffff0000) != 0xa0000000 )
+    if( (buffer.dbh.dwSignature&0xffff0000) != 0xa0000000 )
     {
-        ERR("Unknown magic number %08x in advertised shortcut\n", buffer.dwSignature);
+        ERR("Unknown magic number %08x in advertised shortcut\n", buffer.dbh.dwSignature);
         return E_FAIL;
     }
 
@@ -1031,8 +1031,8 @@ static EXP_DARWIN_LINK* shelllink_build_darwinid( LPCWSTR string, DWORD magic )
     EXP_DARWIN_LINK *buffer;
 
     buffer = LocalAlloc( LMEM_ZEROINIT, sizeof *buffer );
-    buffer->cbSize = sizeof *buffer;
-    buffer->dwSignature = magic;
+    buffer->dbh.cbSize = sizeof *buffer;
+    buffer->dbh.dwSignature = magic;
     lstrcpynW( buffer->szwDarwinID, string, MAX_PATH );
     WideCharToMultiByte(CP_ACP, 0, string, -1, buffer->szDarwinID, MAX_PATH, NULL, NULL );
 
@@ -1048,7 +1048,7 @@ static HRESULT Stream_WriteAdvertiseInfo( IStream* stm, LPCWSTR string, DWORD ma
 
     buffer = shelllink_build_darwinid( string, magic );
 
-    return IStream_Write( stm, buffer, buffer->cbSize, &count );
+    return IStream_Write( stm, buffer, buffer->dbh.cbSize, &count );
 }
 
 /************************************************************************
index da13918..6a0c953 100644 (file)
@@ -97,7 +97,7 @@ static void SF_RegisterClipFmt (IGenericSFImpl * This)
     TRACE ("(%p)\n", This);
 
     if (!This->cfShellIDList) {
-        This->cfShellIDList = RegisterClipboardFormatA (CFSTR_SHELLIDLIST);
+        This->cfShellIDList = RegisterClipboardFormatW (CFSTR_SHELLIDLIST);
     }
 }
 
index a08b755..f9d5c1e 100644 (file)
@@ -554,7 +554,7 @@ HRESULT WINAPI SHCreateLinks( HWND hWnd, LPCSTR lpszDir, LPDATAOBJECT lpDataObje
  */
 HRESULT
 WINAPI
-SHOpenFolderAndSelectItems(PCIDLIST_ABSOLUTE pidlFolder,
+SHOpenFolderAndSelectItems(LPITEMIDLIST pidlFolder,
                            UINT cidl,
                            PCUITEMID_CHILD_ARRAY *apidl,
                            DWORD dwFlags)
index 696cd11..ef7f587 100644 (file)
@@ -914,7 +914,7 @@ static HRESULT ShellView_OpenSelectedItems(IShellViewImpl * This)
 
        if (0 == CF_IDLIST)
        {
-         CF_IDLIST = RegisterClipboardFormatA(CFSTR_SHELLIDLIST);
+         CF_IDLIST = RegisterClipboardFormatW(CFSTR_SHELLIDLIST);
        }
        fetc.cfFormat = CF_IDLIST;
        fetc.ptd = NULL;
index 3df3dd2..71c25a7 100644 (file)
@@ -294,7 +294,7 @@ HasClipboardData()
       TRACE("pda=%p\n", pda);
 
       /* Set the FORMATETC structure*/
-      InitFormatEtc(formatetc, RegisterClipboardFormatA(CFSTR_SHELLIDLIST), TYMED_HGLOBAL);
+      InitFormatEtc(formatetc, RegisterClipboardFormatW(CFSTR_SHELLIDLIST), TYMED_HGLOBAL);
       if(SUCCEEDED(IDataObject_GetData(pda,&formatetc,&medium)))
       {
           ret = TRUE;
@@ -1018,7 +1018,7 @@ DoPaste(
     if (OleGetClipboard(&pda) != S_OK)
         return E_FAIL;
 
-    InitFormatEtc(formatetc, RegisterClipboardFormatA(CFSTR_SHELLIDLIST), TYMED_HGLOBAL);
+    InitFormatEtc(formatetc, RegisterClipboardFormatW(CFSTR_SHELLIDLIST), TYMED_HGLOBAL);
     hr = IDataObject_GetData(pda,&formatetc,&medium);
 
     if (FAILED(hr))
index 1ead574..b3192ea 100644 (file)
@@ -381,7 +381,7 @@ CDefFolderMenu_MergeMenu(HINSTANCE hInstance,
  */
 HRESULT
 WINAPI
-CDefFolderMenu_Create(PCIDLIST_ABSOLUTE pidlFolder,
+CDefFolderMenu_Create(LPITEMIDLIST pidlFolder,
                       HWND hwnd,
                       UINT uidl,
                       PCUITEMID_CHILD_ARRAY *apidl,
index 8b52d79..66e43f1 100644 (file)
@@ -420,6 +420,10 @@ interface IOverlayNotify : IUnknown
 
 typedef IOverlayNotify *POVERLAYNOTIFY;
 
+cpp_quote("#if 0")
+typedef HANDLE HMONITOR;
+cpp_quote("#endif /* 0 */")
+
 [
 object,
 local,
diff --git a/reactos/include/psdk/access.idl b/reactos/include/psdk/access.idl
new file mode 100644 (file)
index 0000000..d3d9424
--- /dev/null
@@ -0,0 +1,79 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a8c-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IAccessor : IUnknown\r
+{\r
+\r
+    typedef DWORD DBACCESSORFLAGS;\r
+\r
+    typedef DWORD DBBINDSTATUS;\r
+\r
+    [local]\r
+    HRESULT AddRefAccessor([in] HACCESSOR hAccessor,\r
+                           [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount);\r
+\r
+    [call_as(AddRefAccessor)]\r
+    HRESULT RemoteAddRefAccessor([in] HACCESSOR hAccessor,\r
+                                 [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount,\r
+                                 [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT CreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags,\r
+                           [in] DBCOUNTITEM cBindings,\r
+                           [in, size_is(cBindings), annotation("__in_ecount(cBindings)")] const DBBINDING rgBindings[],\r
+                           [in] DBLENGTH cbRowSize,\r
+                           [out, annotation("__out")] HACCESSOR *phAccessor,\r
+                           [out, size_is(cBindings), annotation("__out_ecount_opt(cBindings)")] DBBINDSTATUS rgStatus[]);\r
+\r
+    [call_as(CreateAccessor)]\r
+    HRESULT RemoteCreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags,\r
+                                 [in] DBCOUNTITEM cBindings,\r
+                                 [in, unique, size_is(cBindings)] DBBINDING *rgBindings,\r
+                                 [in] DBLENGTH cbRowSize,\r
+                                 [out] HACCESSOR *phAccessor,\r
+                                 [in, out, unique, size_is(cBindings)] DBBINDSTATUS *rgStatus,\r
+                                 [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT GetBindings([in] HACCESSOR hAccessor,\r
+                        [out, annotation("__out")] DBACCESSORFLAGS *pdwAccessorFlags,\r
+                        [in, out, annotation("__out_opt")] DBCOUNTITEM *pcBindings,\r
+                        [out, size_is(,*pcBindings), annotation("__deref_out_ecount_opt(*pcBindings)")] DBBINDING **prgBindings);\r
+\r
+    [call_as(GetBindings)]\r
+    HRESULT RemoteGetBindings([in] HACCESSOR hAccessor,\r
+                              [out] DBACCESSORFLAGS *pdwAccessorFlags,\r
+                              [in, out] DBCOUNTITEM *pcBindings,\r
+                              [out, size_is(,*pcBindings)] DBBINDING **prgBindings,\r
+                              [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT ReleaseAccessor([in] HACCESSOR hAccessor,\r
+                            [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount);\r
+\r
+    [call_as(ReleaseAccessor)]\r
+    HRESULT RemoteReleaseAccessor([in] HACCESSOR hAccessor,\r
+                                  [in, out, unique] DBREFCOUNT *pcRefCount,\r
+                                  [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+};\r
diff --git a/reactos/include/psdk/asynot.idl b/reactos/include/psdk/asynot.idl
new file mode 100644 (file)
index 0000000..b745bd9
--- /dev/null
@@ -0,0 +1,59 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a96-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IDBAsynchNotify : IUnknown\r
+{\r
+    [local]\r
+    HRESULT OnLowResource([in] DB_DWRESERVE dwReserved);\r
+\r
+    [call_as(OnLowResource)]\r
+    HRESULT RemoteOnLowResource([in] DB_DWRESERVE dwReserved);\r
+\r
+    [local]\r
+    HRESULT OnProgress([in] HCHAPTER hChapter,\r
+                       [in] DBASYNCHOP eOperation,\r
+                       [in] DBCOUNTITEM ulProgress,\r
+                       [in] DBCOUNTITEM ulProgressMax,\r
+                       [in] DBASYNCHPHASE eAsynchPhase,\r
+                       [in, annotation("__in_opt")] LPOLESTR pwszStatusText);\r
+\r
+    [call_as(OnProgress)]\r
+    HRESULT RemoteOnProgress([in] HCHAPTER hChapter,\r
+                             [in] DBASYNCHOP eOperation,\r
+                             [in] DBCOUNTITEM ulProgress,\r
+                             [in] DBCOUNTITEM ulProgressMax,\r
+                             [in] DBASYNCHPHASE eAsynchPhase,\r
+                             [in, unique, string] LPOLESTR pwszStatusText);\r
+\r
+    [local]\r
+    HRESULT OnStop([in] HCHAPTER hChapter,\r
+                   [in] DBASYNCHOP eOperation,\r
+                   [in] HRESULT hrStatus,\r
+                   [in, annotation("__in_opt")] LPOLESTR pwszStatusText);\r
+\r
+    [call_as(OnStop)]\r
+    HRESULT RemoteOnStop([in] HCHAPTER hChapter,\r
+                         [in] DBASYNCHOP eOperation,\r
+                         [in] HRESULT hrStatus,\r
+                         [in, unique, string] LPOLESTR pwszStatusText);\r
+}\r
diff --git a/reactos/include/psdk/asysta.idl b/reactos/include/psdk/asysta.idl
new file mode 100644 (file)
index 0000000..40bca84
--- /dev/null
@@ -0,0 +1,51 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a95-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IDBAsynchStatus : IUnknown\r
+{\r
+    [local]\r
+    HRESULT Abort([in] HCHAPTER hChapter,\r
+                  [in] DBASYNCHOP eOperation);\r
+\r
+    [call_as(Abort)]\r
+    HRESULT RemoteAbort([in] HCHAPTER hChapter,\r
+                        [in] DBASYNCHOP eOperation,\r
+                        [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT GetStatus([in] HCHAPTER hChapter,\r
+                      [in] DBASYNCHOP eOperation,\r
+                      [out, annotation("__out_opt")] DBCOUNTITEM *pulProgress,\r
+                      [out, annotation("__out_opt")] DBCOUNTITEM *pulProgressMax,\r
+                      [out, annotation("__out")] DBASYNCHPHASE *peAsynchPhase,\r
+                      [out, annotation("__deref_opt_inout_opt")] LPOLESTR *ppwszStatusText);\r
+\r
+    [call_as(GetStatus)]\r
+    HRESULT RemoteGetStatus([in] HCHAPTER hChapter,\r
+                            [in] DBASYNCHOP eOperation,\r
+                            [in, out, unique] DBCOUNTITEM *pulProgress,\r
+                            [in, out, unique] DBCOUNTITEM *pulProgressMax,\r
+                            [in, out, unique] DBASYNCHPHASE *peAsynchPhase,\r
+                            [in, out, unique] LPOLESTR *ppwszStatusText,\r
+                            [out] IErrorInfo **ppErrorInfoRem);\r
+}\r
diff --git a/reactos/include/psdk/binres.idl b/reactos/include/psdk/binres.idl
new file mode 100644 (file)
index 0000000..f09d124
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733ab1-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IBindResource : IUnknown\r
+{\r
+    [local]\r
+    HRESULT Bind([in] IUnknown *pUnkOuter,\r
+                 [in] LPCOLESTR pwszURL,\r
+                 [in] DBBINDURLFLAG dwBindURLFlags,\r
+                 [in] REFGUID rguid,\r
+                 [in] REFIID riid,\r
+                 [in] IAuthenticate *pAuthenticate,\r
+                 [in, out, unique] DBIMPLICITSESSION *pImplSession,\r
+                 [in, out, unique] DBBINDURLSTATUS *pdwBindStatus,\r
+                 [out, iid_is(riid)] IUnknown **ppUnk);\r
+\r
+    [call_as(Bind)]\r
+    HRESULT RemoteBind([in] IUnknown *pUnkOuter,\r
+                       [in] LPCOLESTR pwszURL,\r
+                       [in] DBBINDURLFLAG dwBindURLFlags,\r
+                       [in] REFGUID rguid,\r
+                       [in] REFIID riid,\r
+                       [in] IAuthenticate *pAuthenticate,\r
+                       [in] IUnknown *pSessionUnkOuter,\r
+                       [in, unique] IID *piid,\r
+                       [in, out, unique, iid_is(piid)] IUnknown **ppSession,\r
+                       [in, out, unique] DBBINDURLSTATUS *pdwBindStatus,\r
+                       [out, iid_is(riid)] IUnknown **ppUnk);\r
+}\r
index 386d6c0..89b916d 100644 (file)
@@ -30,6 +30,10 @@ cpp_quote("#define BG_NOTIFY_JOB_ERROR 0x0002")
 cpp_quote("#define BG_NOTIFY_DISABLE 0x0004")
 cpp_quote("#define BG_NOTIFY_JOB_MODIFICATION 0x0008")
 
+cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
+cpp_quote("#undef EnumJobs")
+cpp_quote("#undef GetJob")
+cpp_quote("#endif")
 
 #define BG_ENUM_SIZEIS(maxcount) maxcount
 #define BG_ENUM_LENGTHIS(maxcount,lengthptr) lengthptr ? *lengthptr : maxcount
diff --git a/reactos/include/psdk/cmdbas.idl b/reactos/include/psdk/cmdbas.idl
new file mode 100644 (file)
index 0000000..01be460
--- /dev/null
@@ -0,0 +1,62 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a63-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface ICommand : IUnknown\r
+{\r
+    [local]\r
+    HRESULT Cancel();\r
+\r
+    [call_as(Cancel)]\r
+    HRESULT RemoteCancel([out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT Execute([in, annotation("__in_opt")] IUnknown *pUnkOuter,\r
+                    [in] REFIID riid,\r
+                    [in, out, annotation("__inout_opt")] DBPARAMS *pParams,\r
+                    [out, annotation("__out_opt")] DBROWCOUNT *pcRowsAffected,\r
+                    [out, iid_is(riid), annotation("__deref_opt_out")] IUnknown **ppRowset);\r
+\r
+    [call_as(Execute)]\r
+    HRESULT RemoteExecute([in] IUnknown *pUnkOuter,\r
+                          [in] REFIID riid,\r
+                          [in] HACCESSOR hAccessor,\r
+                          [in] DB_UPARAMS cParamSets,\r
+                          [in, unique] GUID *pGuid,\r
+                          [in] ULONG ulGuidOffset,\r
+                          [in, unique] RMTPACK *pInputParams,\r
+                          [in, out, unique] RMTPACK *pOutputParams,\r
+                          [in] DBCOUNTITEM cBindings,\r
+                          [in, unique, size_is(cBindings)] DBBINDING *rgBindings,\r
+                          [in, out, unique, size_is(cBindings)] DBSTATUS *rgStatus,\r
+                          [in, out, unique] DBROWCOUNT *pcRowsAffected,\r
+                          [in, out, unique, iid_is(riid)] IUnknown **ppRowset);\r
+\r
+    [local]\r
+    HRESULT GetDBSession([in] REFIID riid,\r
+                         [out, iid_is(riid), annotation("__deref_out_opt")] IUnknown **ppSession);\r
+\r
+    [call_as(GetDBSession)]\r
+    HRESULT RemoteGetDBSession([in] REFIID riid,\r
+                               [out, iid_is(riid)] IUnknown **ppSession,\r
+                               [out] IErrorInfo **ppErrorInfoRem);\r
+};\r
diff --git a/reactos/include/psdk/cmdtxt.idl b/reactos/include/psdk/cmdtxt.idl
new file mode 100644 (file)
index 0000000..3220884
--- /dev/null
@@ -0,0 +1,44 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a27-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface ICommandText : ICommand\r
+{\r
+    [local]\r
+    HRESULT GetCommandText([in, out /*, annotation("__inout_opt")*/] GUID *pguidDialect,\r
+                           [out /*, annotation("__deref_out")*/] LPOLESTR *ppwszCommand);\r
+\r
+    [call_as(GetCommandText)]\r
+    HRESULT RemoteGetCommandText([in, out, unique] GUID *pguidDialect,\r
+                                 [out] LPOLESTR *ppwszCommand,\r
+                                 [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT SetCommandText([in] REFGUID rguidDialect,\r
+                           [in, unique /*, annotation("__in_z_opt")*/] LPCOLESTR pwszCommand);\r
+\r
+    [call_as(SetCommandText)]\r
+    HRESULT RemoteSetCommandText([in] REFGUID rguidDialect,\r
+                                 [in, unique] LPCOLESTR pwszCommand,\r
+                                 [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+};\r
index c0b1914..84a4f88 100644 (file)
@@ -27,7 +27,7 @@ interface IMediaEvent;
 interface IMediaEventEx;
 interface IMediaPosition;
 
-typedef long OAFilterState;
+typedef LONG OAFilterState;
 typedef LONG_PTR OAHWND;
 typedef LONG_PTR OAEVENT;
 
@@ -68,10 +68,10 @@ interface IMediaControl : IDispatch
 ]
 interface IBasicAudio : IDispatch
 {
-    [propput] HRESULT Volume( [in] long lVolume );
-    [propget] HRESULT Volume( [out] long *plVolume );
-    [propput] HRESULT Balance( [in] long lBalance );
-    [propget] HRESULT Balance( [out] long *plBalance );
+    [propput] HRESULT Volume( [in] LONG lVolume );
+    [propget] HRESULT Volume( [out] LONG *plVolume );
+    [propput] HRESULT Balance( [in] LONG lBalance );
+    [propget] HRESULT Balance( [out] LONG *plBalance );
 }
 
 
@@ -87,43 +87,43 @@ interface IVideoWindow : IDispatch
 {
     [propput] HRESULT Caption( [in] BSTR strCaption );
     [propget] HRESULT Caption( [out] BSTR *strCaption );
-    [propput] HRESULT WindowStyle( [in] long WindowStyle );
-    [propget] HRESULT WindowStyle( [out] long *WindowStyle );
-    [propput] HRESULT WindowStyleEx( [in] long WindowStyleEx );
-    [propget] HRESULT WindowStyleEx( [out] long *WindowStyleEx );
-    [propput] HRESULT AutoShow( [in] long AutoShow );
-    [propget] HRESULT AutoShow( [out] long *AutoShow );
-    [propput] HRESULT WindowState( [in] long WindowState );
-    [propget] HRESULT WindowState( [out] long *WindowState );
-    [propput] HRESULT BackgroundPalette( [in] long BackgroundPalette );
-    [propget] HRESULT BackgroundPalette( [out] long *pBackgroundPalette );
-    [propput] HRESULT Visible( [in] long Visible );
-    [propget] HRESULT Visible( [out] long *pVisible );
-    [propput] HRESULT Left( [in] long Left );
-    [propget] HRESULT Left( [out] long *pLeft );
-    [propput] HRESULT Width( [in] long Width );
-    [propget] HRESULT Width( [out] long *pWidth );
-    [propput] HRESULT Top( [in] long Top );
-    [propget] HRESULT Top( [out] long *pTop );
-    [propput] HRESULT Height( [in] long Height );
-    [propget] HRESULT Height( [out] long *pHeight );
+    [propput] HRESULT WindowStyle( [in] LONG WindowStyle );
+    [propget] HRESULT WindowStyle( [out] LONG *WindowStyle );
+    [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx );
+    [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx );
+    [propput] HRESULT AutoShow( [in] LONG AutoShow );
+    [propget] HRESULT AutoShow( [out] LONG *AutoShow );
+    [propput] HRESULT WindowState( [in] LONG WindowState );
+    [propget] HRESULT WindowState( [out] LONG *WindowState );
+    [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette );
+    [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette );
+    [propput] HRESULT Visible( [in] LONG Visible );
+    [propget] HRESULT Visible( [out] LONG *pVisible );
+    [propput] HRESULT Left( [in] LONG Left );
+    [propget] HRESULT Left( [out] LONG *pLeft );
+    [propput] HRESULT Width( [in] LONG Width );
+    [propget] HRESULT Width( [out] LONG *pWidth );
+    [propput] HRESULT Top( [in] LONG Top );
+    [propget] HRESULT Top( [out] LONG *pTop );
+    [propput] HRESULT Height( [in] LONG Height );
+    [propget] HRESULT Height( [out] LONG *pHeight );
     [propput] HRESULT Owner( [in] OAHWND Owner );
     [propget] HRESULT Owner( [out] OAHWND *Owner );
     [propput] HRESULT MessageDrain( [in] OAHWND Drain );
     [propget] HRESULT MessageDrain( [out] OAHWND *Drain );
-    [propget] HRESULT BorderColor( [out] long *Color );
-    [propput] HRESULT BorderColor( [in] long Color );
-    [propget] HRESULT FullScreenMode( [out] long *FullScreenMode );
-    [propput] HRESULT FullScreenMode( [in] long FullScreenMode );
-    HRESULT SetWindowForeground( [in] long Focus );
-    HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] long uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam );
-    HRESULT SetWindowPosition( [in] long Left, [in] long Top, [in] long Width, [in] long Height );
-    HRESULT GetWindowPosition( [out] long *pLeft, [out] long *pTop, [out] long *pWidth, [out] long *pHeight );
-    HRESULT GetMinIdealImageSize( [out] long *pWidth, [out] long *pHeight );
-    HRESULT GetMaxIdealImageSize( [out] long *pWidth, [out] long *pHeight );
-    HRESULT GetRestorePosition( [out] long *pLeft, [out] long *pTop, [out] long *pWidth, [out] long *pHeight );
-    HRESULT HideCursor( [in] long HideCursor );
-    HRESULT IsCursorHidden( [out] long *CursorHidden );
+    [propget] HRESULT BorderColor( [out] LONG *Color );
+    [propput] HRESULT BorderColor( [in] LONG Color );
+    [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode );
+    [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode );
+    HRESULT SetWindowForeground( [in] LONG Focus );
+    HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam );
+    HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+    HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+    HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
+    HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
+    HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+    HRESULT HideCursor( [in] LONG HideCursor );
+    HRESULT IsCursorHidden( [out] LONG *CursorHidden );
 }
 
 
@@ -138,39 +138,39 @@ interface IVideoWindow : IDispatch
 interface IBasicVideo : IDispatch
 {
     [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame );
-    [propget] HRESULT BitRate( [out] long *pBitRate );
-    [propget] HRESULT BitErrorRate( [out] long *pBitErrorRate );
-    [propget] HRESULT VideoWidth( [out] long *pVideoWidth );
-    [propget] HRESULT VideoHeight( [out] long *pVideoHeight );
-    [propput] HRESULT SourceLeft( [in] long SourceLeft );
-    [propget] HRESULT SourceLeft( [out] long *pSourceLeft );
-    [propput] HRESULT SourceWidth( [in] long SourceWidth );
-    [propget] HRESULT SourceWidth( [out] long *pSourceWidth );
-    [propput] HRESULT SourceTop( [in] long SourceTop );
-    [propget] HRESULT SourceTop( [out] long *pSourceTop );
-    [propput] HRESULT SourceHeight( [in] long SourceHeight );
-    [propget] HRESULT SourceHeight( [out] long *pSourceHeight );
-    [propput] HRESULT DestinationLeft( [in] long DestinationLeft );
-    [propget] HRESULT DestinationLeft( [out] long *pDestinationLeft );
-    [propput] HRESULT DestinationWidth( [in] long DestinationWidth );
-    [propget] HRESULT DestinationWidth( [out] long *pDestinationWidth );
-    [propput] HRESULT DestinationTop( [in] long DestinationTop );
-    [propget] HRESULT DestinationTop( [out] long *pDestinationTop );
-    [propput] HRESULT DestinationHeight( [in] long DestinationHeight );
-    [propget] HRESULT DestinationHeight( [out] long *pDestinationHeight );
-    HRESULT SetSourcePosition( [in] long Left, [in] long Top, [in] long Width, [in] long Height );
-    HRESULT GetSourcePosition( [out] long *pLeft, [out] long *pTop, [out] long *pWidth, [out] long *pHeight );
+    [propget] HRESULT BitRate( [out] LONG *pBitRate );
+    [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate );
+    [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth );
+    [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight );
+    [propput] HRESULT SourceLeft( [in] LONG SourceLeft );
+    [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft );
+    [propput] HRESULT SourceWidth( [in] LONG SourceWidth );
+    [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth );
+    [propput] HRESULT SourceTop( [in] LONG SourceTop );
+    [propget] HRESULT SourceTop( [out] LONG *pSourceTop );
+    [propput] HRESULT SourceHeight( [in] LONG SourceHeight );
+    [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight );
+    [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft );
+    [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft );
+    [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth );
+    [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth );
+    [propput] HRESULT DestinationTop( [in] LONG DestinationTop );
+    [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop );
+    [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight );
+    [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight );
+    HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+    HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
     HRESULT SetDefaultSourcePosition();
-    HRESULT SetDestinationPosition( [in] long Left, [in] long Top, [in] long Width, [in] long Height );
-    HRESULT GetDestinationPosition( [out] long *pLeft, [out] long *pTop, [out] long *pWidth, [out] long *pHeight );
+    HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+    HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
     HRESULT SetDefaultDestinationPosition();
-    HRESULT GetVideoSize( [out] long *pWidth, [out] long *pHeight );
-    HRESULT GetVideoPaletteEntries( [in] long StartIndex,
-                                    [in] long Entries,
-                                    [out] long *pRetrieved,
-                                    [out, size_is(Entries), length_is(*pRetrieved)] long *pPalette );
-    HRESULT GetCurrentImage( [in, out] long *pBufferSize,
-                             [out, size_is(*pBufferSize), length_is(*pBufferSize)] long *pDIBImage );
+    HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight );
+    HRESULT GetVideoPaletteEntries( [in] LONG StartIndex,
+                                    [in] LONG Entries,
+                                    [out] LONG *pRetrieved,
+                                    [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette );
+    HRESULT GetCurrentImage( [in, out] LONG *pBufferSize,
+                             [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage );
     HRESULT IsUsingDefaultSource();
     HRESULT IsUsingDefaultDestination();
 }
@@ -198,11 +198,11 @@ interface IBasicVideo2 : IBasicVideo
 interface IMediaEvent : IDispatch
 {
     HRESULT GetEventHandle( [out] OAEVENT *hEvent );
-    HRESULT GetEvent( [out] long *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] long msTimeout );
-    HRESULT WaitForCompletion( [in] long msTimeout, [out] long *pEvCode );
-    HRESULT CancelDefaultHandling( [in] long lEvCode );
-    HRESULT RestoreDefaultHandling( [in] long lEvCode );
-    HRESULT FreeEventParams( [in] long lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 );
+    HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout );
+    HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode );
+    HRESULT CancelDefaultHandling( [in] LONG lEvCode );
+    HRESULT RestoreDefaultHandling( [in] LONG lEvCode );
+    HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 );
 }
 
 
@@ -216,9 +216,9 @@ interface IMediaEvent : IDispatch
 ]
 interface IMediaEventEx : IMediaEvent
 {
-    HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] long lMsg, [in] LONG_PTR lInstanceData );
-    HRESULT SetNotifyFlags( [in] long lNoNotifyFlags );
-    HRESULT GetNotifyFlags( [out] long *lplNoNotifyFlags );
+    HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData );
+    HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags );
+    HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags );
 }
 
 
diff --git a/reactos/include/psdk/crtrow.idl b/reactos/include/psdk/crtrow.idl
new file mode 100644 (file)
index 0000000..7088e00
--- /dev/null
@@ -0,0 +1,51 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733ab2-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface ICreateRow : IUnknown\r
+{\r
+    [local]\r
+    HRESULT CreateRow([in, unique] IUnknown *pUnkOuter,\r
+                      [in] LPCOLESTR pwszURL,\r
+                      [in] DBBINDURLFLAG dwBindURLFlags,\r
+                      [in] REFGUID rguid,\r
+                      [in] REFIID riid,\r
+                      [in,  unique] IAuthenticate *pAuthenticate,\r
+                      [in, out, unique] DBIMPLICITSESSION *pImplSession,\r
+                      [in, out, unique] DBBINDURLSTATUS *pdwBindStatus,\r
+                      [out, annotation("__deref_opt_out_opt")] LPOLESTR *ppwszNewURL,\r
+                      [out, iid_is(riid)] IUnknown **ppUnk);\r
+\r
+    [call_as(CreateRow)]\r
+    HRESULT RemoteCreateRow([in] IUnknown *pUnkOuter,\r
+                            [in] LPCOLESTR pwszURL,\r
+                            [in] DBBINDURLFLAG dwBindURLFlags,\r
+                            [in] REFGUID rguid,\r
+                            [in] REFIID riid,\r
+                            [in] IAuthenticate *pAuthenticate,\r
+                            [in] IUnknown *pSessionUnkOuter,\r
+                            [in, unique] IID *piid,\r
+                            [in, out, unique, iid_is(piid)] IUnknown **ppSession,\r
+                            [in, out, unique] DBBINDURLSTATUS *pdwBindStatus,\r
+                            [in, out, unique] LPOLESTR *ppwszNewURL,\r
+                            [out, iid_is(riid)] IUnknown **ppUnk);\r
+}\r
diff --git a/reactos/include/psdk/dbccmd.idl b/reactos/include/psdk/dbccmd.idl
new file mode 100644 (file)
index 0000000..99274bc
--- /dev/null
@@ -0,0 +1,36 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a1d-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IDBCreateCommand : IUnknown\r
+{\r
+    [local]\r
+    HRESULT CreateCommand([in] IUnknown *pUnkOuter,\r
+                          [in] REFIID riid,\r
+                          [out, iid_is(riid)] IUnknown **ppCommand);\r
+\r
+    [call_as(CreateCommand)]\r
+    HRESULT RemoteCreateCommand([in] IUnknown *pUnkOuter,\r
+                                [in] REFIID riid,\r
+                                [out, iid_is(riid)] IUnknown **ppCommand,\r
+                                [out] IErrorInfo **ppErrorInfoRem);\r
+}\r
diff --git a/reactos/include/psdk/dbcses.idl b/reactos/include/psdk/dbcses.idl
new file mode 100644 (file)
index 0000000..3bdb0d7
--- /dev/null
@@ -0,0 +1,36 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a5d-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IDBCreateSession : IUnknown\r
+{\r
+    [local]\r
+    HRESULT CreateSession([in] IUnknown *pUnkOuter,\r
+                          [in] REFIID riid,\r
+                          [out, iid_is(riid)] IUnknown **ppDBSession);\r
+\r
+    [call_as(CreateSession)]\r
+    HRESULT RemoteCreateSession([in] IUnknown *pUnkOuter,\r
+                                [in] REFIID riid,\r
+                                [out, iid_is(riid)] IUnknown **ppDBSession,\r
+                                [out] IErrorInfo **ppErrorInfoRem);\r
+}\r
diff --git a/reactos/include/psdk/dbdsad.idl b/reactos/include/psdk/dbdsad.idl
new file mode 100644 (file)
index 0000000..c6fb2b4
--- /dev/null
@@ -0,0 +1,75 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a7a-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IDBDataSourceAdmin : IUnknown\r
+{\r
+    [local]\r
+    HRESULT CreateDataSource([in] ULONG cPropertySets,\r
+                             [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[],\r
+                             [in] IUnknown *pUnkOuter,\r
+                             [in] REFIID riid,\r
+                             [out, iid_is(riid)] IUnknown **ppDBSession);\r
+\r
+    [call_as(CreateDataSource)]\r
+    HRESULT RemoteCreateDataSource([in] ULONG cPropertySets,\r
+                                   [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets,\r
+                                   [in] IUnknown *pUnkOuter,\r
+                                   [in] REFIID riid,\r
+                                   [in, out, unique, iid_is(riid)] IUnknown **ppDBSession,\r
+                                   [in] ULONG cTotalProps,\r
+                                   [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus,\r
+                                   [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT DestroyDataSource();\r
+\r
+    [call_as(DestroyDataSource)]\r
+    HRESULT RemoteDestroyDataSource([out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT GetCreationProperties([in] ULONG cPropertyIDSets,\r
+                                  [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],\r
+                                  [in, out] ULONG *pcPropertyInfoSets,\r
+                                  [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets,\r
+                                  [out, annotation("__deref_out_z_opt")] OLECHAR **ppDescBuffer);\r
+\r
+    [call_as(GetCreationProperties)]\r
+    HRESULT RemoteGetCreationProperties([in] ULONG cPropertyIDSets,\r
+                                        [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,\r
+                                        [in, out] ULONG *pcPropertyInfoSets,\r
+                                        [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets,\r
+                                        [in, out] DBCOUNTITEM *pcOffsets,\r
+                                        [out, size_is(,(ULONG)*pcOffsets)] DBBYTEOFFSET **prgDescOffsets,\r
+                                        [in, out] ULONG *pcbDescBuffer,\r
+                                        [in, out, unique, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer,\r
+                                        [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT ModifyDataSource([in] ULONG cPropertySets,\r
+                             [in, size_is(cPropertySets)] DBPROPSET rgPropertySets[]);\r
+\r
+    [call_as(ModifyDataSource)]\r
+    HRESULT RemoteModifyDataSource([in] ULONG cPropertySets,\r
+                                   [in, size_is(cPropertySets)] DBPROPSET *rgPropertySets,\r
+                                   [out] IErrorInfo **ppErrorInfoRem);\r
+}\r
index 5ed5301..782191a 100644 (file)
@@ -30,7 +30,7 @@ interface IDBProperties : IUnknown {
 
     [call_as(GetProperties)] HRESULT RemoteGetProperties(
              [in] ULONG cPropertyIDSets,
-             [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],
+             [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,
              [in, out] ULONG *pcPropertySets,
              [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets,
              [out] IErrorInfo **ppErrorInfoRem);
@@ -39,17 +39,18 @@ interface IDBProperties : IUnknown {
              [in] ULONG cPropertyIDSets,
              [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],
              [in, out] ULONG *pcPropertyInfoSets,
-             [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets);
+             [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets,
+             [out, annotation("__deref_out_z_opt")] OLECHAR **ppDescBuffer);
 
     [call_as(GetPropertyInfo)] HRESULT RemoteGetPropertyInfo(
              [in] ULONG cPropertyIDSets,
-             [in,size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,
+             [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,
              [in, out] ULONG *pcPropertyInfoSets,
              [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets,
              [in, out] ULONG *pcOffsets,
              [out, size_is(,*pcOffsets)] DBBYTEOFFSET **prgDescOffsets,
              [in, out] ULONG *pcbDescBuffer,
-             [out, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer,
+             [in, out, unique, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer,
              [out] IErrorInfo **ppErrorInfoRem);
 
     [local] HRESULT SetProperties(
@@ -58,7 +59,7 @@ interface IDBProperties : IUnknown {
 
     [call_as(SetProperties)] HRESULT RemoteSetProperties(
              [in] ULONG cPropertySets,
-             [in, out, size_is(cPropertySets)] DBPROPSET *rgPropertySets,
+             [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets,
              [in] ULONG cTotalProps,
              [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus,
              [out] IErrorInfo **ppErrorInfoRem);
index 19c2997..8ca2e2a 100644 (file)
@@ -99,3 +99,247 @@ typedef struct tagDBPROPINFOSET {
     ULONG cPropertyInfos;
     GUID guidPropertySet;
 } DBPROPINFOSET;
+
+typedef DWORD DBBINDURLFLAG;
+typedef DWORD DBBINDURLSTATUS;
+
+typedef struct tagDBIMPLICITSESSION
+{
+    IUnknown *pUnkOuter;
+    IID *piid;
+    IUnknown *pSession;
+} DBIMPLICITSESSION;
+
+typedef WORD DBTYPE;
+
+enum DBTYPEENUM
+{
+    DBTYPE_EMPTY         = 0,
+    DBTYPE_NULL          = 1,
+    DBTYPE_I2            = 2,
+    DBTYPE_I4            = 3,
+    DBTYPE_R4            = 4,
+    DBTYPE_R8            = 5,
+    DBTYPE_CY            = 6,
+    DBTYPE_DATE          = 7,
+    DBTYPE_BSTR          = 8,
+    DBTYPE_IDISPATCH     = 9,
+    DBTYPE_ERROR         = 10,
+    DBTYPE_BOOL          = 11,
+    DBTYPE_VARIANT       = 12,
+    DBTYPE_IUNKNOWN      = 13,
+    DBTYPE_DECIMAL       = 14,
+    DBTYPE_I1            = 16,
+    DBTYPE_UI1           = 17,
+    DBTYPE_UI2           = 18,
+    DBTYPE_UI4           = 19,
+    DBTYPE_I8            = 20,
+    DBTYPE_UI8           = 21,
+    DBTYPE_GUID          = 72,
+    DBTYPE_BYTES         = 128,
+    DBTYPE_STR           = 129,
+    DBTYPE_WSTR          = 130,
+    DBTYPE_NUMERIC       = 131,
+    DBTYPE_UDT           = 132,
+    DBTYPE_DBDATE        = 133,
+    DBTYPE_DBTIME        = 134,
+    DBTYPE_DBTIMESTAMP   = 135,
+
+    DBTYPE_VECTOR        = 0x1000,
+    DBTYPE_ARRAY         = 0x2000,
+    DBTYPE_BYREF         = 0x4000,
+    DBTYPE_RESERVED      = 0x8000
+};
+
+enum DBTYPEENUM15
+{
+    DBTYPE_HCHAPTER      = 136
+};
+
+enum DBTYPEENUM20
+{
+    DBTYPE_FILETIME      = 64,
+    DBTYPE_PROPVARIANT   = 138,
+    DBTYPE_VARNUMERIC    = 139
+};
+
+typedef DWORD DBSTATUS;
+
+enum DBSTATUSENUM
+{
+    DBSTATUS_S_OK = 0,
+    DBSTATUS_E_BADACCESSOR = 1,
+    DBSTATUS_E_CANTCONVERTVALUE = 2,
+    DBSTATUS_S_ISNULL = 3,
+    DBSTATUS_S_TRUNCATED = 4,
+    DBSTATUS_E_SIGNMISMATCH = 5,
+    DBSTATUS_E_DATAOVERFLOW = 6,
+    DBSTATUS_E_CANTCREATE = 7,
+    DBSTATUS_E_UNAVAILABLE = 8,
+    DBSTATUS_E_PERMISSIONDENIED = 9,
+    DBSTATUS_E_INTEGRITYVIOLATION = 10,
+    DBSTATUS_E_SCHEMAVIOLATION = 11,
+    DBSTATUS_E_BADSTATUS = 12,
+    DBSTATUS_S_DEFAULT = 13
+};
+
+cpp_quote("#ifdef DBINITCONSTANTS")
+cpp_quote("#ifdef __cplusplus")
+cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\")
+cpp_quote("        EXTERN_C const GUID name DECLSPEC_HIDDEN;     \\")
+cpp_quote("        EXTERN_C const GUID name =                    \\")
+cpp_quote("    { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }")
+cpp_quote("#else")
+cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\")
+cpp_quote("        const GUID name DECLSPEC_HIDDEN;      \\")
+cpp_quote("        const GUID name =                             \\")
+cpp_quote("    { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }")
+cpp_quote("#endif")
+cpp_quote("#else")
+cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\")
+cpp_quote("    EXTERN_C const GUID name DECLSPEC_HIDDEN")
+cpp_quote("#endif")
+
+cpp_quote("DEFINE_DBGUID(DBGUID_SESSION,    0xc8b522f5, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);")
+cpp_quote("DEFINE_DBGUID(DBGUID_ROWSET,     0xc8b522f6, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);")
+cpp_quote("DEFINE_DBGUID(DBGUID_ROW,        0xc8b522f7, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);")
+cpp_quote("DEFINE_DBGUID(DBGUID_STREAM,     0xc8b522f9, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);")
+
+typedef struct tagDBCOLUMNACCESS
+{
+    void *pData;
+    DBID columnid;
+    DBLENGTH cbDataLen;
+    DBSTATUS dwStatus;
+    DBLENGTH cbMaxLen;
+    DB_DWRESERVE dwReserved;
+    DBTYPE wType;
+    BYTE bPrecision;
+    BYTE bScale;
+} DBCOLUMNACCESS;
+
+typedef DWORD DBROWSTATUS;
+
+enum DBROWSTATUSENUM
+{
+    DBROWSTATUS_S_OK         = 0,
+    /* FIXME */
+    DBROWSTATUS_E_FAIL       = 19,
+
+};
+
+typedef DWORD DBPART;
+
+enum DBPARTENUM
+{
+    DBPART_INVALID  = 0,
+    DBPART_VALUE    = 1,
+    DBPART_LENGTH   = 2,
+    DBPART_STATUS   = 4,
+};
+
+typedef DWORD DBPARAMIO;
+
+enum DBPARAMIOENUM
+{
+    DBPARAMIO_NOTPARAM = 0,
+    DBPARAMIO_INPUT    = 1,
+    DBPARAMIO_OUTPUT   = 2,
+};
+
+typedef DWORD DBMEMOWNER;
+
+enum DBMEMOWNERENUM
+{
+    DBMEMOWNER_CLIENTOWNED    = 0,
+    DBMEMOWNER_PROVIDEROWNED  = 1,
+};
+
+typedef struct tagDBOBJECT
+{
+    DWORD dwFlags;
+    IID iid;
+} DBOBJECT;
+
+typedef struct tagDBBINDEXT
+{
+    [size_is((ULONG)ulExtension)] BYTE *pExtension;
+    DBCOUNTITEM ulExtension;
+} DBBINDEXT;
+
+typedef struct tagDBBINDING
+{
+    DBORDINAL iOrdinal;
+    DBBYTEOFFSET obValue;
+    DBBYTEOFFSET obLength;
+    DBBYTEOFFSET obStatus;
+    ITypeInfo *pTypeInfo;
+    DBOBJECT *pObject;
+    DBBINDEXT *pBindExt;
+    DBPART dwPart;
+    DBMEMOWNER dwMemOwner;
+    DBPARAMIO eParamIO;
+    DBLENGTH cbMaxLen;
+    DWORD dwFlags;
+    DBTYPE wType;
+    BYTE bPrecision;
+    BYTE bScale;
+} DBBINDING;
+
+typedef ULONG_PTR HACCESSOR;
+
+cpp_quote("#define DB_INVALID_HACCESSOR 0x00")
+
+typedef ULONG_PTR HROW;
+
+cpp_quote("#define DB_NULL_HROW 0x00")
+
+typedef ULONG_PTR HWATCHREGION;
+
+cpp_quote("#define DBWATCHREGION_NULL NULL")
+
+typedef ULONG_PTR HCHAPTER;
+
+cpp_quote("#define DB_NULL_HCHAPTER 0x00")
+
+typedef struct tagDBPARAMS
+{
+    void *pData;
+    DB_UPARAMS cParamSets;
+    HACCESSOR hAccessor;
+} DBPARAMS;
+
+typedef DWORD DBASYNCHOP;
+
+enum DBASYNCHOPENUM
+{
+    DBSYNCHOP_OPEN,
+};
+
+typedef DWORD DBASYNCHPHASE;
+
+enum DBASYNCHPHASEENUM
+{
+    DBASYNCHPHASE_INITIALIZATION,
+    DBASYNCHPHASE_POPULATION,
+    DBASYNCHPHASE_COMPLETE,
+    DBASYNCHPHASE_CANCELED,
+};
+
+typedef struct tagRMTPACK
+{
+    ISequentialStream *pISeqStream;
+    ULONG cbData;
+    ULONG cBSTR;
+    [size_is(cBSTR)] BSTR *rgBSTR;
+    ULONG cVARIANT;
+    [size_is(cVARIANT)] VARIANT *rgVARIANT;
+    ULONG cIDISPATCH;
+    [size_is(cIDISPATCH)] IDispatch **rgIDISPATCH;
+    ULONG cIUNKNOWN;
+    [size_is(cIUNKNOWN)] IUnknown **rgIUNKNOWN;
+    ULONG cPROPVARIANT;
+    [size_is(cPROPVARIANT)] PROPVARIANT *rgPROPVARIANT;
+    ULONG cArray;
+    [size_is(cArray)] VARIANT *rgArray;
+} RMTPACK;
index 07e04b2..851ec90 100644 (file)
@@ -24,8 +24,6 @@ cpp_quote("#include <imm.h>")
 
 cpp_quote("#if 0")
 
-typedef WORD LANGID;
-
 typedef struct {
     LPSTR lpReading;
     LPSTR lpWord;
index b1759dd..6f1c545 100644 (file)
@@ -81,13 +81,13 @@ interface IDispatchEx : IDispatch
 
     [local]
     HRESULT InvokeEx(
-            [in] DISPID id,
-            [in] LCID lcid,
-            [in] WORD wFlags,
-            [in] DISPPARAMS *pdp,
-            [out] VARIANT *pvarRes,
-            [out] EXCEPINFO *pei,
-            [in, unique] IServiceProvider *pspCaller);
+            [in, annotation("__in")] DISPID id,
+            [in, annotation("__in")] LCID lcid,
+            [in, annotation("__in")] WORD wFlags,
+            [in, annotation("__in")] DISPPARAMS *pdp,
+            [out, annotation("__out_opt")] VARIANT *pvarRes,
+            [out, annotation("__out_opt")] EXCEPINFO *pei,
+            [in, unique, annotation("__in_opt")] IServiceProvider *pspCaller);
 
     [call_as(InvokeEx)]
     HRESULT RemoteInvokeEx(
@@ -191,3 +191,15 @@ interface ICanHandleException : IUnknown
             [in] EXCEPINFO *pExcepInfo,
             [in] VARIANT *pvar);
 }
+
+[
+    object,
+    uuid(10e2414a-ec59-49d2-bc51-5add2c36febc),
+    pointer_default(unique)
+]
+interface IProvideRuntimeContext : IUnknown
+{
+    HRESULT GetCurrentSourceContext(
+            [out] DWORD_PTR *pdwContext,
+            [out] VARIANT_BOOL *pfExecutingGlobalCode);
+}
index 886acb3..af3f8f5 100644 (file)
@@ -151,7 +151,7 @@ interface IHlink: IUnknown
 }
 
 /*****************************************************************************
- *    IHlink interface
+ *    IHlinkSite interface
  */
 [
     object,
index c9d90cb..a5b1b47 100644 (file)
@@ -25,11 +25,6 @@ interface IStream;
 cpp_quote("#define CPIOD_PEEK          0x40000000")
 cpp_quote("#define CPIOD_FORCE_PROMPT  0x80000000")
 
-/* FIXME: LANGID is defined in winnt.h and mlang.h in the platform SDK */
-cpp_quote("#ifndef _WINNT_H")
-typedef WORD LANGID;
-cpp_quote("#endif")
-
 [
   object,
   uuid(359f3443-bd4a-11d0-b188-00aa0038c969),
@@ -42,10 +37,10 @@ interface IMLangCodePages : IUnknown
         [out] DWORD *pdwCodePages);
     HRESULT GetStrCodePages(      
         [in, size_is(cchSrc)] const WCHAR *pszSrc,
-        [in] long cchSrc,
+        [in] LONG cchSrc,
         [in] DWORD dwPriorityCodePages,
         [out] DWORD *pdwCodePages,
-        [out] long *pcchCodePages);
+        [out] LONG *pcchCodePages);
     HRESULT CodePageToCodePages(      
         [in] UINT uCodePage,
         [out] DWORD *pdwCodePages);
@@ -233,11 +228,11 @@ interface IMLangString : IUnknown
 {
 #ifdef NEWMLSTR
     HRESULT LockMLStr(
-        [in] long lPos,
+        [in] LONG lPos,
         [in] DWORD dwFlags,
         [out] DWORD* pdwCookie,
-        [out] long* plActualPos,
-        [out] long* plActualLen);
+        [out] LONG* plActualPos,
+        [out] LONG* plActualLen);
 
     HRESULT UnlockMLStr(
         [in] DWORD dwCookie);
@@ -246,13 +241,13 @@ interface IMLangString : IUnknown
         [in] BOOL fNoAccess);
 #endif
     HRESULT GetLength(
-        [out, retval] long* plLen);
+        [out, retval] LONG* plLen);
     HRESULT SetMLStr(
-        [in] long lDestPos,
-        [in] long lDestLen,
+        [in] LONG lDestPos,
+        [in] LONG lDestLen,
         [in] IUnknown *pSrcMLStr,
-        [in] long lSrcPos,
-        [in] long lSrcLen);
+        [in] LONG lSrcPos,
+        [in] LONG lSrcLen);
 #ifdef NEWMLSTR
     HRESULT RegisterAttr(
         [in] IUnknown *pUnk,
@@ -267,14 +262,14 @@ interface IMLangString : IUnknown
         [out] IUnknown **ppUnk);
 #else
     HRESULT GetMLStr(
-        [in] long lSrcPos,
-        [in] long lSrcLen,
+        [in] LONG lSrcPos,
+        [in] LONG lSrcLen,
         [in] IUnknown *pUnkOuter,
         [in] DWORD dwClsContext,
         [in] const IID* piid,
         [out] IUnknown** ppDestMLStr,
-        [out] long* plDestPos,
-        [out] long* plDestLen);
+        [out] LONG* plDestPos,
+        [out] LONG* plDestLen);
 #endif
 }
 
@@ -287,29 +282,29 @@ interface IMLangLineBreakConsole : IUnknown
 {
     HRESULT BreakLineML(
         [in] IMLangString* pSrcMLStr,
-        [in] long lSrcPos,
-        [in] long lSrcLen,
-        [in] long cMinColumns,
-        [in] long cMaxColumns,
-        [out] long* plLineLen,
-        [out] long* plSkipLen);
+        [in] LONG lSrcPos,
+        [in] LONG lSrcLen,
+        [in] LONG cMinColumns,
+        [in] LONG cMaxColumns,
+        [out] LONG* plLineLen,
+        [out] LONG* plSkipLen);
 
     HRESULT BreakLineW(
         [in] LCID locale,
         [in, size_is(cchSrc)] const WCHAR* pszSrc,
-        [in] long cchSrc,
-        [in] long cMaxColumns,
-        [out] long* pcchLine,
-        [out] long* pcchSkip );
+        [in] LONG cchSrc,
+        [in] LONG cMaxColumns,
+        [out] LONG* pcchLine,
+        [out] LONG* pcchSkip );
 
     HRESULT BreakLineA(
         [in] LCID locale,
         [in] UINT uCodePage,
         [in, size_is(cchSrc)] const CHAR* pszSrc,
-        [in] long cchSrc,
-        [in] long cMaxColumns,
-        [out] long* pcchLine,
-        [out] long* pcchSkip);
+        [in] LONG cchSrc,
+        [in] LONG cMaxColumns,
+        [out] LONG* pcchLine,
+        [out] LONG* pcchSkip);
 }
 
 [
index aed31da..19749fb 100644 (file)
@@ -27,7 +27,11 @@ cpp_quote("HRESULT     WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);")
 cpp_quote("HRESULT     WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);")
 cpp_quote("HRESULT     WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);")
 cpp_quote("HRESULT     WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);")
+cpp_quote("#ifdef WINE_STRICT_PROTOTYPES")
+cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)(void);")
+cpp_quote("#else")
 cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)();")
+cpp_quote("#endif")
 cpp_quote("HRESULT     WINAPI LockClrVersion(FLockClrVersionCallback,FLockClrVersionCallback*,FLockClrVersionCallback*);")
 
 typedef void* HDOMAINENUM;
index e98df4d..fcb568e 100644 (file)
@@ -24,11 +24,6 @@ import "ctfutb.idl";
 #endif
 cpp_quote("#include <winuser.h>")
 
-/* FIXME: LANGID is defined in winnt.h and mlang.h in the platform SDK */
-cpp_quote("#ifndef _WINNT_H")
-typedef WORD LANGID;
-cpp_quote("#endif")
-
 cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
 cpp_quote("#define TF_E_DISCONNECTED    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
 cpp_quote("#define TF_E_ALREADY_EXISTS  MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
index e54fb1c..70f93ab 100644 (file)
@@ -907,7 +907,7 @@ interface IStorage : IUnknown
   [call_as(OpenStream)]
   HRESULT RemoteOpenStream(
     [in] LPCOLESTR pwcsName,
-    [in] ULONG cbReserved1,
+    [in] unsigned long cbReserved1,
     [in, unique, size_is(cbReserved1)] byte *reserved1,
     [in] DWORD grfMode,
     [in] DWORD reserved2,
@@ -955,7 +955,7 @@ interface IStorage : IUnknown
   [call_as(EnumElements)]
   HRESULT RemoteEnumElements(
     [in] DWORD reserved1,
-    [in] ULONG cbReserved2,
+    [in] unsigned long cbReserved2,
     [in, unique, size_is(cbReserved2)] byte *reserved2,
     [in] DWORD reserved3,
     [out] IEnumSTATSTG **ppenum);
@@ -1950,6 +1950,9 @@ interface IClientSecurity : IUnknown
     void *pAuthInfo;
   } SOLE_AUTHENTICATION_INFO;
 
+  const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR*) -1;
+  const void *COLE_DEFAULT_AUTHINFO = (void*) -1;
+
   typedef struct tagSOLE_AUTHENTICATION_LIST {
     DWORD cAuthInfo;
     SOLE_AUTHENTICATION_INFO *aAuthInfo;
index dd6b218..127df2b 100644 (file)
  * 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("#ifdef _WIN64")
+cpp_quote("#include <pshpack8.h>")
+cpp_quote("#else")
+cpp_quote("#include <pshpack2.h>")
+cpp_quote("#endif")
+cpp_quote("")
 
 import "wtypes.idl";
 import "oaidl.idl";
 import "ocidl.idl";
 import "propidl.idl";
+import "urlmon.idl";
 
 typedef ULONG DBBYTEOFFSET;
+typedef LONG  DBROWOFFSET;
+typedef LONG  DBROWCOUNT;
+typedef ULONG DBCOUNTITEM;
+typedef ULONG DBLENGTH;
+typedef ULONG DBORDINAL;
+typedef ULONG DBBKMARK;
+typedef DWORD DB_DWRESERVE;
+typedef ULONG DBREFCOUNT;
+typedef ULONG DB_UPARAMS;
+typedef LONG  DB_LPARAMS;
+typedef DWORD DBHASHVALUE;
 
-#include "dbinit.idl"
 #include "dbs.idl"
+
+#include "access.idl"
+#include "rstbas.idl"
+#include "rstinf.idl"
+#include "rstloc.idl"
+#include "cmdbas.idl"
+#include "cmdtxt.idl"
+#include "dbccmd.idl"
+#include "dbcses.idl"
 #include "dbprop.idl"
+#include "dbinit.idl"
+#include "dbdsad.idl"
+#include "asynot.idl"
+#include "asysta.idl"
+#include "sesprp.idl"
+#include "opnrst.idl"
+#include "row.idl"
+#include "rowchg.idl"
+#include "binres.idl"
+#include "crtrow.idl"
+
+cpp_quote("#include <poppack.h>")
+cpp_quote("")
diff --git a/reactos/include/psdk/opnrst.idl b/reactos/include/psdk/opnrst.idl
new file mode 100644 (file)
index 0000000..e6b5237
--- /dev/null
@@ -0,0 +1,47 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a69-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IOpenRowset : IUnknown\r
+{\r
+    [local]\r
+    HRESULT OpenRowset([in] IUnknown *pUnkOuter,\r
+                       [in, unique] DBID *pTableID,\r
+                       [in, unique] DBID *pIndexID,\r
+                       [in] REFIID riid,\r
+                       [in] ULONG cPropertySets,\r
+                       [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[],\r
+                       [out, iid_is(riid)] IUnknown **ppRowset);\r
+\r
+    [call_as(OpenRowset)]\r
+    HRESULT RemoteOpenRowset([in] IUnknown *pUnkOuter,\r
+                             [in, unique] DBID *pTableID,\r
+                             [in, unique] DBID *pIndexID,\r
+                             [in] REFIID riid,\r
+                             [in] ULONG cPropertySets,\r
+                             [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets,\r
+                             [in, out, unique, iid_is(riid)] IUnknown **ppRowset,\r
+                             [in] ULONG cTotalProps,\r
+                             [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus,\r
+                             [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+}\r
index be67394..e2da625 100644 (file)
@@ -206,7 +206,17 @@ interface IPropertyStorage : IUnknown
 
   typedef struct tagPROPVARIANT *LPPROPVARIANT;
 
-  cpp_quote("#define REFPROPVARIANT const PROPVARIANT *")
+  cpp_quote("#if 0")
+  typedef const PROPVARIANT * REFPROPVARIANT;
+  cpp_quote("#endif")
+  cpp_quote("#ifndef _REFPROPVARIANT_DEFINED")
+  cpp_quote("#define _REFPROPVARIANT_DEFINED")
+  cpp_quote("#ifdef __cplusplus")
+  cpp_quote("#define REFPROPVARIANT const PROPVARIANT &")
+  cpp_quote("#else")
+  cpp_quote("#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST")
+  cpp_quote("#endif")
+  cpp_quote("#endif")
 
   cpp_quote("#define PIDDI_THUMBNAIL 0x00000002L /* VT_BLOB */")
   cpp_quote("")
diff --git a/reactos/include/psdk/row.idl b/reactos/include/psdk/row.idl
new file mode 100644 (file)
index 0000000..59df279
--- /dev/null
@@ -0,0 +1,42 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    local,\r
+    object,\r
+    uuid(0c733ab4-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IRow : IUnknown\r
+{\r
+    [local]\r
+    HRESULT GetColumns([in] DBORDINAL cColumns,\r
+                       [in, out, size_is(cColumns), annotation("__inout_ecount(cColumns)")] DBCOLUMNACCESS rgColumns[]);\r
+\r
+\r
+    HRESULT GetSourceRowset([in, annotation("__in")] REFIID riid,\r
+                            [out, iid_is(riid), annotation("__deref_opt_out_opt")] IUnknown **ppRowset,\r
+                            [out, annotation("__out_opt")] HROW *phRow);\r
+\r
+   HRESULT Open([in, unique, annotation("__in_opt")] IUnknown *pUnkOuter,\r
+                [in, annotation("__in")] DBID *pColumnID,\r
+                [in, annotation("__in")] REFGUID rguidColumnType,\r
+                [in] DWORD dwBindFlags,\r
+                [in, annotation("__in")] REFIID riid,\r
+                [out, iid_is(riid), annotation("__deref_opt_out")] IUnknown **ppUnk);\r
+}\r
diff --git a/reactos/include/psdk/rowchg.idl b/reactos/include/psdk/rowchg.idl
new file mode 100644 (file)
index 0000000..86c7ad4
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    local,\r
+    object,\r
+    uuid(0c733ab5-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IRowChange : IUnknown\r
+{\r
+    [local]\r
+    HRESULT SetColumns([in] DBORDINAL  cColumns,\r
+                       [in, out, size_is(cColumns), annotation("__in_ecount(cColumns)")] DBCOLUMNACCESS rgColumns[]);\r
+}\r
diff --git a/reactos/include/psdk/rstbas.idl b/reactos/include/psdk/rstbas.idl
new file mode 100644 (file)
index 0000000..d7859ed
--- /dev/null
@@ -0,0 +1,51 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    local,\r
+    object,\r
+    uuid(0c733a7c-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IRowset : IUnknown\r
+{\r
+    typedef DWORD DBROWOPTIONS;\r
+\r
+    HRESULT AddRefRows([in] DBCOUNTITEM cRows,\r
+                       [in, size_is(cRows)] const HROW rghRows[],\r
+                       [out, size_is(cRows)] DBREFCOUNT rgRefCounts[],\r
+                       [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]);\r
+\r
+    HRESULT GetData([in] HROW hRow,\r
+                    [in] HACCESSOR hAccessor,\r
+                    [out] void *pData);\r
+\r
+    HRESULT GetNextRows([in] HCHAPTER hReserved,\r
+                        [in] DBROWOFFSET lRowsOffset,\r
+                        [in] DBROWCOUNT cRows,\r
+                        [out] DBCOUNTITEM *pcRowObtained,\r
+                        [out, size_is(,cRows)] HROW **prghRows);\r
+\r
+    HRESULT ReleaseRows([in] DBCOUNTITEM cRows,\r
+                        [in, size_is(cRows)] const HROW rghRows[],\r
+                        [in, size_is(cRows)] DBROWOPTIONS rgRowOptions[],\r
+                        [out, size_is(cRows)] DBREFCOUNT rgRefCounts[],\r
+                        [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]);\r
+\r
+    HRESULT RestartPosition([in] HCHAPTER hReserved);\r
+}\r
diff --git a/reactos/include/psdk/rstinf.idl b/reactos/include/psdk/rstinf.idl
new file mode 100644 (file)
index 0000000..16d2693
--- /dev/null
@@ -0,0 +1,58 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a55-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IRowsetInfo : IUnknown\r
+{\r
+    [local]\r
+    HRESULT GetProperties([in] const ULONG cPropertyIDSets,\r
+                          [in, size_is(cPropertyIDSets), annotation("__in_ecount_opt(cPropertyIDSets)")] const DBPROPIDSET rgPropertyIDSets[],\r
+                          [in, out, annotation("__out")] ULONG *pcPropertySets,\r
+                          [out, size_is(,*pcPropertySets), annotation("__deref_out_ecount_opt(*pcPropertySets)")] DBPROPSET **prgPropertySets);\r
+\r
+    [call_as(GetProperties)]\r
+    HRESULT RemoteGetProperties([in] ULONG cPropertyIDSets,\r
+                                [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,\r
+                                [in, out] ULONG *pcPropertySets,\r
+                                [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets,\r
+                                [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+    [local]\r
+    HRESULT GetReferencedRowset([in] DBORDINAL iOrdinal,\r
+                                [in, annotation("__in")] REFIID riid,\r
+                                [out, iid_is(riid), annotation("deref_out_opt")] IUnknown **ppReferencedRowset);\r
+\r
+    [call_as(GetReferencedRowset)]\r
+    HRESULT RemoteGetReferencedRowset([in] DBORDINAL iOrdinal,\r
+                                      [in] REFIID riid,\r
+                                      [out, iid_is(riid)] IUnknown **ppReferencedRowset,\r
+                                      [out] IErrorInfo **ppErrorInfoRem);\r
+    [local]\r
+    HRESULT GetSpecification([in, annotation("__in")] REFIID riid,\r
+                             [out, iid_is(riid), annotation("__deref_out_opt")] IUnknown **ppSpecification);\r
+\r
+    [call_as(GetSpecification)]\r
+    HRESULT RemoteGetSpecification([in] REFIID riid,\r
+                                   [out, iid_is(riid)] IUnknown **ppSpecification,\r
+                                   [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+}\r
diff --git a/reactos/include/psdk/rstloc.idl b/reactos/include/psdk/rstloc.idl
new file mode 100644 (file)
index 0000000..f579581
--- /dev/null
@@ -0,0 +1,67 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    local,\r
+    object,\r
+    uuid(0c733a7d-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface IRowsetLocate : IRowset\r
+{\r
+    typedef DWORD DBCOMPARE;\r
+\r
+    enum DBCOMPAREENUM\r
+    {\r
+        DBCOMPARE_LT,\r
+        DBCOMPARE_EQ,\r
+        DBCOMPARE_GT,\r
+        DBCOMPARE_NE,\r
+        DBCOMPARE_NOTCOMPARABLE\r
+    };\r
+\r
+    HRESULT Compare([in] HCHAPTER hReserved,\r
+                    [in] DBBKMARK cbBookmark1,\r
+                    [in, size_is(cbBookmark1)] const BYTE *pBookmark1,\r
+                    [in] DBBKMARK cbBookmark2,\r
+                    [in, size_is(cbBookmark2)] const BYTE *pBookmark2,\r
+                    [out] DBCOMPARE *pComparison);\r
+\r
+    HRESULT GetRowsAt([in] HWATCHREGION hReserved1,\r
+                      [in] HCHAPTER hReserved2,\r
+                      [in] DBBKMARK cbBookmark,\r
+                      [in, size_is(cbBookmark)] const BYTE *pBookmark,\r
+                      [in] DBROWOFFSET lRowsOffset,\r
+                      [in] DBROWCOUNT cRows,\r
+                      [out] DBCOUNTITEM *pcRowsObtained,\r
+                      [out, size_is(,cRows)] HROW **prghRows);\r
+\r
+    HRESULT GetRowsByBookmark([in] HCHAPTER hReserved,\r
+                              [in] DBCOUNTITEM cRows,\r
+                              [in, size_is(cRows)] const DBBKMARK rgcbBookmarks[],\r
+                              [in, size_is(cRows)] const BYTE *rgpBookmarks[],\r
+                              [out, size_is(cRows)] HROW rghRows[],\r
+                              [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]);\r
+\r
+    HRESULT Hash([in] HCHAPTER hReserved,\r
+                 [in] DBBKMARK cBookmarks,\r
+                 [in, size_is(cBookmarks)] const DBBKMARK rgcbBookmarks[],\r
+                 [in, size_is(cBookmarks)] const BYTE *rgpBookmarks[],\r
+                 [out, size_is(cBookmarks)] DBHASHVALUE rgHashedValues[],\r
+                 [out, size_is(cBookmarks)] DBROWSTATUS rgBookmarkStatus[]);\r
+}\r
index ec018a9..1ecb9f7 100644 (file)
@@ -28,6 +28,7 @@ typedef struct SENS_QOCINFO
 
 [
   object,
+  uuid(d597bab1-5b9f-11d1-8dd2-00aa004abd5e),
   pointer_default(unique)
 ]
 interface ISensNetwork : IDispatch
@@ -55,6 +56,7 @@ interface ISensNetwork : IDispatch
 
 [
   object,
+  uuid(d597bab2-5b9f-11d1-8dd2-00aa004abd5e),
   pointer_default(unique)
 ]
 interface ISensOnNow : IDispatch
@@ -68,6 +70,7 @@ interface ISensOnNow : IDispatch
 
 [
   object,
+  uuid(d597bab3-5b9f-11d1-8dd2-00aa004abd5e),
   pointer_default(unique)
 ]
 interface ISensLogon : IDispatch
@@ -90,6 +93,7 @@ interface ISensLogon : IDispatch
 
 [
   object,
+  uuid(d597bab4-5b9f-11d1-8dd2-00aa004abd5e),
   pointer_default(unique)
 ]
 interface ISensLogon2 : IDispatch
diff --git a/reactos/include/psdk/sesprp.idl b/reactos/include/psdk/sesprp.idl
new file mode 100644 (file)
index 0000000..d621be1
--- /dev/null
@@ -0,0 +1,51 @@
+/*\r
+ * Copyright (C) 2009 Huw Davies\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+[\r
+    object,\r
+    uuid(0c733a85-2a1c-11ce-ade5-00aa0044773d),\r
+    pointer_default(unique)\r
+]\r
+interface ISessionProperties : IUnknown\r
+{\r
+    [local]\r
+    HRESULT GetProperties([in] ULONG cPropertyIDSets,\r
+                          [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],\r
+                          [in, out] ULONG *pcPropertySets,\r
+                          [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets);\r
+\r
+    [call_as(GetProperties)]\r
+    HRESULT RemoteGetProperties([in] ULONG cPropertyIDSets,\r
+                                [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,\r
+                                [in, out] ULONG *pcPropertySets,\r
+                                [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets,\r
+                                [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+\r
+    [local]\r
+    HRESULT SetProperties([in] ULONG cPropertySets,\r
+                          [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[]);\r
+\r
+    [call_as(SetProperties)]\r
+    HRESULT RemoteSetProperties([in] ULONG cPropertySets,\r
+                                [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets,\r
+                                [in] ULONG cTotalProps,\r
+                                [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus,\r
+                                [out] IErrorInfo **ppErrorInfoRem);\r
+\r
+}\r
index 3f12542..3db2837 100644 (file)
@@ -78,9 +78,11 @@ DECLARE_HANDLE(HPSXA);
 #endif
 
 UINT         WINAPI SHAddFromPropSheetExtArray(HPSXA,LPFNADDPROPSHEETPAGE,LPARAM);
-LPVOID       WINAPI SHAlloc(ULONG);
+LPVOID       WINAPI SHAlloc(ULONG) __WINE_ALLOC_SIZE(1);
 HRESULT      WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*);
 HPSXA        WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT);
+HPSXA        WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
+HRESULT      WINAPI SHCreateShellItem(LPCITEMIDLIST,IShellFolder*,LPCITEMIDLIST,IShellItem**);
 DWORD        WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*);
 DWORD        WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*);
 #define             SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString)
@@ -100,6 +102,10 @@ BOOL         WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
 INT          WINAPI SHHandleUpdateImage(LPCITEMIDLIST);
 HRESULT      WINAPI SHILCreateFromPath(LPCWSTR,LPITEMIDLIST*,DWORD*);
 HRESULT      WINAPI SHLoadOLE(LPARAM);
+HRESULT      WINAPI SHParseDisplayName(LPCWSTR,IBindCtx*,LPITEMIDLIST*,SFGAOF,SFGAOF*);
+HRESULT      WINAPI SHPathPrepareForWriteA(HWND,IUnknown*,LPCSTR,DWORD);
+HRESULT      WINAPI SHPathPrepareForWriteW(HWND,IUnknown*,LPCWSTR,DWORD);
+#define             SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite);
 UINT         WINAPI SHReplaceFromPropSheetExtArray(HPSXA,UINT,LPFNADDPROPSHEETPAGE,LPARAM);
 LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCWSTR);
 int          WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST,int*);
@@ -110,16 +116,26 @@ INT          WINAPI PickIconDlg(HWND,LPWSTR,UINT,int *);
 #define             SHUpdateImage WINELIB_NAME_AW(SHUpdateImage)
 int          WINAPI RestartDialog(HWND,LPCWSTR,DWORD);
 int          WINAPI RestartDialogEx(HWND,LPCWSTR,DWORD,DWORD);
+BOOL         WINAPI IsUserAnAdmin(void);
 
-#define SHFMT_ERROR     0xFFFFFFFFL  /* Error on last format, drive may be formatable */
-#define SHFMT_CANCEL    0xFFFFFFFEL  /* Last format was canceled */
-#define SHFMT_NOFORMAT  0xFFFFFFFDL  /* Drive is not formatable */
+#define SHFMT_ERROR     0xFFFFFFFFL  /* Error on last format, drive may be formattable */
+#define SHFMT_CANCEL    0xFFFFFFFEL  /* Last format was cancelled */
+#define SHFMT_NOFORMAT  0xFFFFFFFDL  /* Drive is not formattable */
 
 /* SHFormatDrive flags */
 #define SHFMT_ID_DEFAULT       0xFFFF
 #define SHFMT_OPT_FULL         1
 #define SHFMT_OPT_SYSONLY      2
 
+/* SHPathPrepareForWrite flags */
+#define SHPPFW_NONE             0x00000000
+#define SHPPFW_DIRCREATE        0x00000001
+#define SHPPFW_DEFAULT          SHPPFW_DIRCREATE
+#define SHPPFW_ASKDIRCREATE     0x00000002
+#define SHPPFW_IGNOREFILENAME   0x00000004
+#define SHPPFW_NOWRITECHECK     0x00000008
+#define SHPPFW_MEDIACHECKONLY   0x00000010
+
 /* SHObjectProperties flags */
 #define SHOP_PRINTERNAME 0x01
 #define SHOP_FILEPATH    0x02
@@ -141,54 +157,168 @@ int WINAPI PathCleanupSpec(LPCWSTR,LPWSTR);
 
 
 /* DATAOBJECT_InitShellIDList*/
-#define CFSTR_SHELLIDLIST       "Shell IDList Array"      /* CF_IDLIST */
-
-typedef struct
-{      UINT cidl;
-       UINT aoffset[1];
-} CIDA, *LPIDA;
-
-#define CFSTR_SHELLIDLISTA      "Shell IDList Array"      /* CF_IDLIST */
-#define CFSTR_SHELLIDLISTOFFSET "Shell Object Offsets"    /* CF_OBJECTPOSITIONS */
-#define CFSTR_NETRESOURCES      "Net Resource"            /* CF_NETRESOURCE */
-
+#define CFSTR_SHELLIDLISTA           "Shell IDList Array"   /* CF_IDLIST */
+#define CFSTR_SHELLIDLISTOFFSETA     "Shell Object Offsets" /* CF_OBJECTPOSITIONS */
+#define CFSTR_NETRESOURCESA          "Net Resource"         /* CF_NETRESOURCE */
 /* DATAOBJECT_InitFileGroupDesc */
-#define CFSTR_FILEDESCRIPTORA   "FileGroupDescriptor"     /* CF_FILEGROUPDESCRIPTORA */
-
-#define CFSTR_FILEDESCRIPTORW   "FileGroupDescriptorW"    /* CF_FILEGROUPDESCRIPTORW */
-
+#define CFSTR_FILEDESCRIPTORA        "FileGroupDescriptor"  /* CF_FILEGROUPDESCRIPTORA */
 /* DATAOBJECT_InitFileContents*/
-#define CFSTR_FILECONTENTS      "FileContents"            /* CF_FILECONTENTS */
-
-#ifdef UNICODE
-#define CFSTR_FILENAME         L"FileNameW"
-#define CFSTR_FILENAMEMAP      L"FileNameMapW"
-#define CFSTR_FILEDESCRIPTOR   L"FileGroupDescriptorW"
-#define CFSTR_SHELLURL         L"UniformResourceLocatorW"
+#define CFSTR_FILECONTENTSA          "FileContents"         /* CF_FILECONTENTS */
+#define CFSTR_FILENAMEA              "FileName"             /* CF_FILENAMEA */
+#define CFSTR_FILENAMEMAPA           "FileNameMap"          /* CF_FILENAMEMAPA */
+#define CFSTR_PRINTERGROUPA          "PrinterFriendlyName"  /* CF_PRINTERS */
+#define CFSTR_SHELLURLA              "UniformResourceLocator"
+#define CFSTR_INETURLA               CFSTR_SHELLURLA
+#define CFSTR_PREFERREDDROPEFFECTA   "Preferred DropEffect"
+#define CFSTR_PERFORMEDDROPEFFECTA   "Performed DropEffect"
+#define CFSTR_PASTESUCCEEDEDA        "Paste Succeeded"
+#define CFSTR_INDRAGLOOPA            "InShellDragLoop"
+#define CFSTR_DRAGCONTEXTA           "DragContext"
+#define CFSTR_MOUNTEDVOLUMEA         "MountedVolume"
+#define CFSTR_PERSISTEDDATAOBJECTA   "PersistedDataObject"
+#define CFSTR_TARGETCLSIDA           "TargetCLSID"
+#define CFSTR_AUTOPLAY_SHELLIDLISTSA "Autoplay Enumerated IDList Array"
+#define CFSTR_LOGICALPERFORMEDDROPEFFECTA "Logical Performed DropEffect"
+
+#if defined(__GNUC__)
+# define CFSTR_SHELLIDLISTW \
+    (const WCHAR []){ 'S','h','e','l','l',' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 }
+# define CFSTR_SHELLIDLISTOFFSETW \
+    (const WCHAR []){ 'S','h','e','l','l',' ','O','b','j','e','c','t',' ','O','f','f','s','e','t','s',0 }
+# define CFSTR_NETRESOURCESW \
+    (const WCHAR []){ 'N','e','t',' ','R','e','s','o','u','r','c','e',0 }
+# define CFSTR_FILEDESCRIPTORW \
+    (const WCHAR []){ 'F','i','l','e','G','r','o','u','p','D','e','s','c','r','i','p','t','o','r','W',0 }
+# define CFSTR_FILECONTENTSW \
+    (const WCHAR []){ 'F','i','l','e','C','o','n','t','e','n','t','s',0 }
+# define CFSTR_FILENAMEW \
+    (const WCHAR []){ 'F','i','l','e','N','a','m','e','W',0 }
+# define CFSTR_FILENAMEMAPW \
+    (const WCHAR []){ 'F','i','l','e','N','a','m','e','M','a','p','W',0 }
+# define CFSTR_PRINTERGROUPW \
+    (const WCHAR []){ 'P','r','i','n','t','e','r','F','r','i','e','n','d','l','y','N','a','m','e',0 }
+# define CFSTR_SHELLURLW \
+    (const WCHAR []){ 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r',0 }
+# define CFSTR_INETURLW \
+    (const WCHAR []){ 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r','W',0 }
+# define CFSTR_PREFERREDDROPEFFECTW \
+    (const WCHAR []){ 'P','r','e','f','e','r','r','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 }
+# define CFSTR_PERFORMEDDROPEFFECTW \
+    (const WCHAR []){ 'P','e','r','f','o','r','m','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 }
+# define CFSTR_PASTESUCCEEDEDW \
+    (const WCHAR []){ 'P','a','s','t','e',' ','S','u','c','c','e','e','d','e','d',0 }
+# define CFSTR_INDRAGLOOPW \
+    (const WCHAR []){ 'I','n','S','h','e','l','l','D','r','a','g','L','o','o','p',0 }
+# define CFSTR_DRAGCONTEXTW \
+    (const WCHAR []){ 'D','r','a','g','C','o','n','t','e','x','t',0 }
+# define CFSTR_MOUNTEDVOLUMEW \
+    (const WCHAR []){ 'M','o','u','n','t','e','d','V','o','l','u','m','e',0 }
+# define CFSTR_PERSISTEDDATAOBJECTW \
+    (const WCHAR []){ 'P','e','r','s','i','s','t','e','d','D','a','t','a','O','b','j','e','c','t',0 }
+# define CFSTR_TARGETCLSIDW \
+    (const WCHAR []){ 'T','a','r','g','e','t','C','L','S','I','D',0 }
+# define CFSTR_AUTOPLAY_SHELLIDLISTSW \
+    (const WCHAR []){ 'A','u','t','o','p','l','a','y',' ','E','n','u','m','e','r','a','t','e','d',\
+                      ' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 }
+# define CFSTR_LOGICALPERFORMEDDROPEFFECTW \
+    (const WCHAR []){ 'L','o','g','i','c','a','l',' ','P','e','r','f','o','r','m','e','d',\
+                      ' ','D','r','o','p','E','f','f','e','c','t',0 }
+#elif defined(_MSC_VER)
+# define CFSTR_SHELLIDLISTW           L"Shell IDList Array"
+# define CFSTR_SHELLIDLISTOFFSETW     L"Shell Object Offsets"
+# define CFSTR_NETRESOURCESW          L"Net Resource"
+# define CFSTR_FILEDESCRIPTORW        L"FileGroupDescriptorW"
+# define CFSTR_FILECONTENTSW          L"FileContents"
+# define CFSTR_FILENAMEW              L"FileNameW"
+# define CFSTR_FILENAMEMAPW           L"FileNameMapW"
+# define CFSTR_PRINTERGROUPW          L"PrinterFriendlyName"
+# define CFSTR_SHELLURLW              L"UniformResourceLocator"
+# define CFSTR_INETURLW               L"UniformResourceLocatorW"
+# define CFSTR_PREFERREDDROPEFFECTW   L"Preferred DropEffect"
+# define CFSTR_PERFORMEDDROPEFFECTW   L"Performed DropEffect"
+# define CFSTR_PASTESUCCEEDEDW        L"Paste Succeeded"
+# define CFSTR_INDRAGLOOPW            L"InShellDragLoop"
+# define CFSTR_DRAGCONTEXTW           L"DragContext"
+# define CFSTR_MOUNTEDVOLUMEW         L"MountedVolume"
+# define CFSTR_PERSISTEDDATAOBJECTW   L"PersistedDataObject"
+# define CFSTR_TARGETCLSIDW           L"TargetCLSID"
+# define CFSTR_AUTOPLAY_SHELLIDLISTSW L"Autoplay Enumerated IDList Array"
+# define CFSTR_LOGICALPERFORMEDDROPEFFECTW L"Logical Performed DropEffect"
 #else
-#define CFSTR_FILENAME         "FileName"
-#define CFSTR_FILENAMEMAP      "FileNameMap"
-#define CFSTR_FILEDESCRIPTOR   "FileGroupDescriptor"
-#define CFSTR_SHELLURL         "UniformResourceLocator"
+static const WCHAR CFSTR_SHELLIDLISTW[] =
+    { 'S','h','e','l','l',' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 };
+static const WCHAR CFSTR_SHELLIDLISTOFFSETW[] =
+    { 'S','h','e','l','l',' ','O','b','j','e','c','t',' ','O','f','f','s','e','t','s',0 };
+static const WCHAR CFSTR_NETRESOURCESW[] =
+    { 'N','e','t',' ','R','e','s','o','u','r','c','e',0 };
+static const WCHAR CFSTR_FILEDESCRIPTORW[] =
+    { 'F','i','l','e','G','r','o','u','p','D','e','s','c','r','i','p','t','o','r','W',0 };
+static const WCHAR CFSTR_FILECONTENTSW[] =
+    { 'F','i','l','e','C','o','n','t','e','n','t','s',0 };
+static const WCHAR CFSTR_FILENAMEW[] =
+    { 'F','i','l','e','N','a','m','e','W',0 };
+static const WCHAR CFSTR_FILENAMEMAPW[] =
+    { 'F','i','l','e','N','a','m','e','M','a','p','W',0 };
+static const WCHAR CFSTR_PRINTERGROUPW[] =
+    { 'P','r','i','n','t','e','r','F','r','i','e','n','d','l','y','N','a','m','e',0 };
+static const WCHAR CFSTR_SHELLURLW[] =
+    { 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r',0 };
+static const WCHAR CFSTR_INETURLW[] =
+    { 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r','W',0 };
+static const WCHAR CFSTR_PREFERREDDROPEFFECTW[] =
+    { 'P','r','e','f','e','r','r','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 };
+static const WCHAR CFSTR_PERFORMEDDROPEFFECTW[] =
+    { 'P','e','r','f','o','r','m','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 };
+static const WCHAR CFSTR_PASTESUCCEEDEDW[] =
+    { 'P','a','s','t','e',' ','S','u','c','c','e','e','d','e','d',0 };
+static const WCHAR CFSTR_INDRAGLOOPW[] =
+    { 'I','n','S','h','e','l','l','D','r','a','g','L','o','o','p',0 };
+static const WCHAR CFSTR_DRAGCONTEXTW[] =
+    { 'D','r','a','g','C','o','n','t','e','x','t',0 };
+static const WCHAR CFSTR_MOUNTEDVOLUMEW[] =
+    { 'M','o','u','n','t','e','d','V','o','l','u','m','e',0 };
+static const WCHAR CFSTR_PERSISTEDDATAOBJECTW[] =
+    { 'P','e','r','s','i','s','t','e','d','D','a','t','a','O','b','j','e','c','t',0 };
+static const WCHAR CFSTR_TARGETCLSIDW[] =
+    { 'T','a','r','g','e','t','C','L','S','I','D',0 };
+static const WCHAR CFSTR_AUTOPLAY_SHELLIDLISTSW[] =
+    { 'A','u','t','o','p','l','a','y',' ','E','n','u','m','e','r','a','t','e','d',
+      ' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 };
+static const WCHAR CFSTR_LOGICALPERFORMEDDROPEFFECTW[] =
+    { 'L','o','g','i','c','a','l',' ','P','e','r','f','o','r','m','e','d',
+      ' ','D','r','o','p','E','f','f','e','c','t',0 };
 #endif
 
-#define CFSTR_FILENAMEW         "FileNameW"
-#define CFSTR_FILENAMEA         "FileName"
-#define CFSTR_FILENAMEMAPA      "FileNameMap"             /* CF_FILENAMEMAPA */
-#define CFSTR_FILENAMEMAPW      "FileNameMapW"            /* CF_FILENAMEMAPW */
+#define CFSTR_SHELLIDLIST           WINELIB_NAME_AW(CFSTR_SHELLIDLIST)
+#define CFSTR_SHELLIDLISTOFFSET     WINELIB_NAME_AW(CFSTR_SHELLIDLISTOFFSET)
+#define CFSTR_NETRESOURCES          WINELIB_NAME_AW(CFSTR_NETRESOURCES)
+#define CFSTR_FILEDESCRIPTOR        WINELIB_NAME_AW(CFSTR_FILEDESCRIPTOR)
+#define CFSTR_FILECONTENTS          WINELIB_NAME_AW(CFSTR_FILECONTENTS)
+#define CFSTR_FILENAME              WINELIB_NAME_AW(CFSTR_FILENAME)
+#define CFSTR_FILENAMEMAP           WINELIB_NAME_AW(CFSTR_FILENAMEMAP)
+#define CFSTR_PRINTERGROUP          WINELIB_NAME_AW(CFSTR_PRINTERGROUP)
+#define CFSTR_SHELLURL              WINELIB_NAME_AW(CFSTR_SHELLURL)
+#define CFSTR_INETURL               WINELIB_NAME_AW(CFSTR_INETURL)
+#define CFSTR_PREFERREDDROPEFFECT   WINELIB_NAME_AW(CFSTR_PREFERREDDROPEFFECT)
+#define CFSTR_PERFORMEDDROPEFFECT   WINELIB_NAME_AW(CFSTR_PERFORMEDDROPEFFECT)
+#define CFSTR_PASTESUCCEEDED        WINELIB_NAME_AW(CFSTR_PASTESUCCEEDED)
+#define CFSTR_INDRAGLOOP            WINELIB_NAME_AW(CFSTR_INDRAGLOOP)
+#define CFSTR_DRAGCONTEXT           WINELIB_NAME_AW(CFSTR_DRAGCONTEXT)
+#define CFSTR_MOUNTEDVOLUME         WINELIB_NAME_AW(CFSTR_MOUNTEDVOLUME)
+#define CFSTR_PERSISTEDDATAOBJECT   WINELIB_NAME_AW(CFSTR_PERSISTEDDATAOBJECT)
+#define CFSTR_TARGETCLSID           WINELIB_NAME_AW(CFSTR_TARGETCLSID)
+#define CFSTR_AUTOPLAY_SHELLIDLISTS WINELIB_NAME_AW(CFSTR_AUTOPLAY_SHELLIDLISTS)
+#define CFSTR_LOGICALPERFORMEDDROPEFFECT WINELIB_NAME_AW(CFSTR_LOGICALPERFORMEDDROPEFFECT)
 
-#define CFSTR_PRINTERGROUP      "PrinterFriendlyName"     /* CF_PRINTERS */
-#define CFSTR_PREFERREDDROPEFFECT "Preferred DropEffect"
-#define CFSTR_PERFORMEDDROPEFFECT "Performed DropEffect"
-#define CFSTR_PASTESUCCEEDED    "Paste Succeeded"
-#define CFSTR_INDRAGLOOP        "InShellDragLoop"
+typedef struct
+{      UINT cidl;
+       UINT aoffset[1];
+} CIDA, *LPIDA;
 
 /************************************************************************
 * IShellView interface
 */
 
-#define SV_CLASS_NAME   ("SHELLDLL_DefView")
-
 #define FCIDM_SHVIEWFIRST       0x0000
 /* undocumented */
 #define FCIDM_SHVIEW_ARRANGE    0x7001
@@ -252,24 +382,10 @@ typedef struct
 #define FCIDM_STATUS       (FCIDM_BROWSERFIRST + 1)
 
 
-VOID WINAPI SHSetInstanceExplorer(LPUNKNOWN);
-BOOL WINAPI IsUserAnAdmin(VOID);
-
 /****************************************************************************
  * IShellIcon interface
  */
 
-#undef  INTERFACE
-#define INTERFACE   IShellFolderViewCB
-DECLARE_INTERFACE_(IShellFolderViewCB, IUnknown)
-{
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(MessageSFVCB)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
-};
-#undef INTERFACE
-
 #define INTERFACE IShellIcon
 DECLARE_INTERFACE_(IShellIcon,IUnknown)
 {
@@ -411,6 +527,57 @@ DECLARE_INTERFACE_(IACList,IUnknown)
 #define IACList_Expand(p,a)             (p)->lpVtbl->Expand(p,a)
 #endif
 
+/* IACList2 interface */
+#define INTERFACE IACList2
+DECLARE_INTERFACE_(IACList2,IACList)
+{
+    /*** IUnknown methods ***/
+    STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
+    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+    STDMETHOD_(ULONG,Release) (THIS) PURE;
+    /*** IACList methods ***/
+    STDMETHOD(Expand)(THIS_ LPCOLESTR str) PURE;
+    /*** IACList2 methods ***/
+    STDMETHOD(SetOptions)(THIS_ DWORD dwFlag) PURE;
+    STDMETHOD(GetOptions)(THIS_ DWORD* pdwFlag) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IACList2_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
+#define IACList2_AddRef(p)              (p)->lpVtbl->AddRef(p)
+#define IACList2_Release(p)             (p)->lpVtbl->Release(p)
+/*** IACList2 methods ***/
+#define IACList2_GetOptions(p,a)        (p)->lpVtbl->GetOptions(p,a)
+#define IACList2_SetOptions(p,a)        (p)->lpVtbl->SetOptions(p,a)
+#endif
+
+/****************************************************************************
+ * IShellFolderViewCB interface
+ */
+
+#define INTERFACE IShellFolderViewCB
+DECLARE_INTERFACE_(IShellFolderViewCB,IUnknown)
+{
+    /*** IUnknown methods ***/
+    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+    STDMETHOD_(ULONG,Release)(THIS) PURE;
+    /*** IShellFolderViewCB methods ***/
+    STDMETHOD(MessageSFVCB)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IShellFolderViewCB_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
+#define IShellFolderViewCB_AddRef(p)                  (p)->lpVtbl->AddRef(p)
+#define IShellFolderViewCB_Release(p)                 (p)->lpVtbl->Release(p)
+/*** IShellFolderViewCB methods ***/
+#define IShellFolderViewCB_MessageSFVCB(p,a,b,c)      (p)->lpVtbl->MessageSFVCB(p,a,b,c)
+#endif
+
 /* IProgressDialog interface */
 #define PROGDLG_NORMAL           0x00000000
 #define PROGDLG_MODAL            0x00000001
@@ -502,15 +669,6 @@ DECLARE_INTERFACE_(IDeskBarClient,IOleWindow)
 
 void WINAPI SHAddToRecentDocs(UINT,LPCVOID);
 
-HANDLE WINAPI SHChangeNotification_Lock(
-       HANDLE hChange,
-       DWORD dwProcessId,
-       LPITEMIDLIST **lppidls,
-       LPLONG lpwEventId);
-BOOL WINAPI SHChangeNotification_Unlock ( HANDLE hLock);
-
-
-
 /****************************************************************************
  * SHBrowseForFolder API
  */
@@ -567,8 +725,9 @@ typedef struct tagBROWSEINFOW {
 /* message from browser */
 #define BFFM_INITIALIZED        1
 #define BFFM_SELCHANGED         2
-#define BFFM_VALIDATEFAILEDA    3   /* lParam:szPath ret:1(cont),0(EndDialog) */
-#define BFFM_VALIDATEFAILEDW    4   /* lParam:wzPath ret:1(cont),0(EndDialog) */
+#define BFFM_VALIDATEFAILEDA    3
+#define BFFM_VALIDATEFAILEDW    4
+#define BFFM_IUNKNOWN           5
 
 /* messages to browser */
 #define BFFM_SETSTATUSTEXTA     (WM_USER+100)
@@ -669,15 +828,6 @@ HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
 #define SFVM_GET_WEBVIEW_THEME        86 /* undocumented */
 #define SFVM_GETDEFERREDVIEWSETTINGS  92 /* undocumented */
 
-#define SHPPFW_NONE 0
-#define SHPPFW_DIRCREATE 1
-#define SHPPFW_DEFAULT SHPPFW_DIRCREATE
-#define SHPPFW_ASKDIRCREATE 2
-#define SHPPFW_IGNOREFILENAME 4
-#define SHPPFW_NOWRITECHECK 8
-
-/* Types and definitions for the SFM_* parameters */
-#include <pshpack8.h>
 typedef struct _SFV_CREATE
 {
     UINT cbSize;
@@ -686,6 +836,10 @@ typedef struct _SFV_CREATE
     IShellFolderViewCB *psfvcb;
 } SFV_CREATE;
 
+HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pscfv, IShellView **ppsv);
+
+/* Types and definitions for the SFM_* parameters */
+#include <pshpack8.h>
 
 #define QCMINFO_PLACE_BEFORE          0
 #define QCMINFO_PLACE_AFTER           1
@@ -801,19 +955,13 @@ HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int n
 HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
 #define  SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
 
-PIDLIST_ABSOLUTE WINAPI SHCloneSpecialIDList(HWND hwnd, int csidl, BOOL fCreate);
+LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwnd, int csidl, BOOL fCreate);
 BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate);
 BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate);
 #define  SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath)
 
 HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
 
-/**********************************************************************
- * SHCreateShellFolderView ()
- */
-
-HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv);
-
 /**********************************************************************
  * SHGetSetSettings ()
  */
@@ -1147,6 +1295,10 @@ typedef enum {
     SLDF_NO_PIDL_ALIAS = 0x00008000,
     SLDF_FORCE_UNCNAME = 0x00010000,
     SLDF_RUN_WITH_SHIMLAYER = 0x00020000,
+    SLDF_FORCE_NO_LINKTRACK = 0x00040000,
+    SLDF_ENABLE_TARGET_METADATA = 0x00080000,
+    SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING = 0x00200000,
+    SLDF_VALID = 0x003ff7ff,
     SLDF_RESERVED = 0x80000000,
 } SHELL_LINK_DATA_FLAGS;
 
@@ -1158,41 +1310,6 @@ typedef struct tagDATABLOCKHEADER
 
 typedef struct {
     DATABLOCK_HEADER dbh;
-    WORD wFillAttribute;
-    WORD wPopupFillAttribute;
-    COORD dwScreenBufferSize;
-    COORD dwWindowSize;
-    COORD dwWindowOrigin;
-    DWORD nFont;
-    DWORD nInputBufferSize;
-    COORD dwFontSize;
-    UINT uFontFamily;
-    UINT uFontWeight;
-    WCHAR FaceName[LF_FACESIZE];
-    UINT uCursorSize;
-    BOOL bFullScreen;
-    BOOL bQuickEdit;
-    BOOL bInsertMode;
-    BOOL bAutoPosition;
-    UINT uHistoryBufferSize;
-    UINT uNumberOfHistoryBuffers;
-    BOOL bHistoryNoDup;
-    COLORREF ColorTable[16];
-} NT_CONSOLE_PROPS, *LPNT_CONSOLE_PROPS;
-
-typedef struct {
-    DATABLOCK_HEADER dbh;
-    UINT uCodePage;
-} NT_FE_CONSOLE_PROPS, *LPNT_FE_CONSOLE_PROPS;
-
-typedef struct {
-
-#ifdef __cplusplus
-    DATABLOCK_HEADER dbh;
-#else
-    DWORD cbSize;
-    DWORD dwSignature;
-#endif
     CHAR szDarwinID[MAX_PATH];
     WCHAR szwDarwinID[MAX_PATH];
 } EXP_DARWIN_LINK, *LPEXP_DARWIN_LINK;
@@ -1211,13 +1328,20 @@ typedef struct {
     DWORD cbOffset;
 } EXP_SPECIAL_FOLDER, *LPEXP_SPECIAL_FOLDER;
 
+typedef struct {
+    DWORD cbSize;
+    DWORD dwSignature;
+    BYTE abPropertyStorage[1];
+} EXP_PROPERTYSTORAGE;
+
 #define EXP_SZ_LINK_SIG         0xa0000001
 #define NT_CONSOLE_PROPS_SIG    0xa0000002
 #define NT_FE_CONSOLE_PROPS_SIG 0xa0000004
 #define EXP_SPECIAL_FOLDER_SIG  0xa0000005
 #define EXP_DARWIN_ID_SIG       0xa0000006
-#define EXP_LOGO3_ID_SIG        0xa0000007
 #define EXP_SZ_ICON_SIG         0xa0000007
+#define EXP_LOGO3_ID_SIG        EXP_SZ_ICON_SIG /* Old SDKs only */
+#define EXP_PROPERTYSTORAGE_SIG 0xa0000009
 
 typedef struct _SHChangeDWORDAsIDList {
     USHORT   cb;
@@ -1235,6 +1359,8 @@ typedef struct _SHChangeProductKeyAsIDList {
 ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, int fSources, LONG fEvents, UINT wMsg,
                                     int cEntries, const SHChangeNotifyEntry *pshcne);
 BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID);
+HANDLE WINAPI SHChangeNotification_Lock(HANDLE hChangeNotification, DWORD dwProcessId,
+                                        LPITEMIDLIST **pppidl, LONG *plEvent);
 BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
 
 HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST * ppidlReal);
@@ -1245,6 +1371,7 @@ HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMI
 DWORD WINAPI SHCreateDirectory(HWND, LPCWSTR);
 int WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
 int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
+#define    SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
 
 /****************************************************************************
 * SHGetSpecialFolderLocation API
@@ -1276,7 +1403,7 @@ HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwF
 #define CSIDL_SENDTO           0x0009
 #define CSIDL_BITBUCKET                0x000a
 #define CSIDL_STARTMENU                0x000b
-#define CSIDL_MYDOCUMENTS      0x000c
+#define CSIDL_MYDOCUMENTS      CSIDL_PERSONAL
 #define CSIDL_MYMUSIC          0x000d
 #define CSIDL_MYVIDEO          0x000e
 #define CSIDL_DESKTOPDIRECTORY 0x0010
@@ -1322,6 +1449,7 @@ HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwF
 #define CSIDL_CDBURN_AREA      0x003b
 #define CSIDL_COMPUTERSNEARME  0x003d
 #define CSIDL_PROFILES         0x003e
+#define CSIDL_FOLDER_MASK      0x00ff
 #define CSIDL_FLAG_PER_USER_INIT 0x0800
 #define CSIDL_FLAG_NO_ALIAS    0x1000
 #define CSIDL_FLAG_DONT_VERIFY 0x4000
@@ -1438,8 +1566,26 @@ BOOL WINAPI WriteCabinetState(CABINETSTATE *);
 /****************************************************************************
  * Path Manipulation Routines
  */
+
+/* PathProcessCommand flags */
+#define PPCF_ADDQUOTES        0x01
+#define PPCF_INCLUDEARGS      0x02
+#define PPCF_ADDARGUMENTS     0x03
+#define PPCF_NODIRECTORIES    0x10
+#define PPCF_DONTRESOLVE      0x20
+#define PPCF_FORCEQUALIFY     0x40
+#define PPCF_LONGESTPOSSIBLE  0x80
+
+/* PathResolve flags */
+#define PRF_VERIFYEXISTS         0x01
+#define PRF_EXECUTABLE           0x02
+#define PRF_TRYPROGRAMEXTENSIONS 0x03
+#define PRF_FIRSTDIRDEF          0x04
+#define PRF_DONTFINDLINK         0x08
+
 VOID WINAPI PathGetShortPath(LPWSTR pszPath);
 LONG WINAPI PathProcessCommand(LPCWSTR, LPWSTR, int, DWORD);
+BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
 
 /****************************************************************************
  * Drag And Drop Routines
@@ -1515,7 +1661,6 @@ HRESULT WINAPI SHCreateDefaultContextMenu(const DEFCONTEXTMENU *,REFIID,void **p
 
 typedef HRESULT (CALLBACK * LPFNDFMCALLBACK)(IShellFolder*,HWND,IDataObject*,UINT,WPARAM,LPARAM);
 HRESULT WINAPI CDefFolderMenu_Create2(LPCITEMIDLIST,HWND,UINT,LPCITEMIDLIST*,IShellFolder*,LPFNDFMCALLBACK,UINT,const HKEY *,IContextMenu **);
-
 /****************************************************************************
  * SHCreateDefaultContextMenu API
  */
@@ -1524,7 +1669,6 @@ HRESULT WINAPI
 SHCreateDefaultExtractIcon(
   REFIID riid,
   void **ppv);
-
 /****************************************************************************
  * SHCreateDataObject API
  */
index cd2320e..221ab04 100644 (file)
@@ -323,22 +323,6 @@ interface IEnumExtraSearch : IUnknown
 ]
 interface IShellFolder2 : IShellFolder
 {
-    typedef enum
-    {
-        SHCOLSTATE_TYPE_STR = 0x00000001,
-        SHCOLSTATE_TYPE_INT = 0x00000002,
-        SHCOLSTATE_TYPE_DATE = 0x00000003,
-        SHCOLSTATE_TYPEMASK = 0x0000000f,
-        SHCOLSTATE_ONBYDEFAULT = 0x00000010,
-        SHCOLSTATE_SLOW = 0x00000020,
-        SHCOLSTATE_EXTENDED = 0x00000040,
-        SHCOLSTATE_SECONDARYUI = 0x00000080,
-        SHCOLSTATE_HIDDEN = 0x00000100,
-        SHCOLSTATE_PREFER_VARCMP = 0x00000200
-    } SHCOLSTATE;
-
-    typedef DWORD SHCOLSTATEF;
-
     typedef struct
     {
         GUID    fmtid;
@@ -2310,6 +2294,10 @@ interface IBrowserService : IUnknown
 
        typedef BASEBROWSERDATA *LPBASEBROWSERDATA;
 
+cpp_quote("#if 0")
+typedef HANDLE HMONITOR;
+cpp_quote("#endif /* 0 */")
+
        typedef struct SToolbarItem
        {
                IDockingWindow          *ptbar;
index 3a922b8..021d467 100644 (file)
@@ -21,8 +21,6 @@
 
 import "wtypes.idl";
 
-
-
 cpp_quote("#include <pshpack1.h>")
 typedef struct
 {
@@ -34,60 +32,13 @@ typedef const SHITEMID *LPCSHITEMID;
 typedef struct _ITEMIDLIST
 {
     SHITEMID mkid; /* first itemid in list */
-} ITEMIDLIST;
-
-cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
-cpp_quote("typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST {} ITEMIDLIST_RELATIVE;")
-cpp_quote("typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE {} ITEMID_CHILD;")
-cpp_quote("typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE {} ITEMIDLIST_ABSOLUTE;")
-cpp_quote("#else /* !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)) */")
-typedef ITEMIDLIST ITEMIDLIST_RELATIVE;
-typedef ITEMIDLIST ITEMID_CHILD;
-typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
-cpp_quote("#endif /* defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) */")
-
+} ITEMIDLIST,*LPITEMIDLIST;
+typedef const ITEMIDLIST *LPCITEMIDLIST;
+typedef LPITEMIDLIST PITEMID_CHILD;
+typedef LPCITEMIDLIST PCUITEMID_CHILD;
+typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
 cpp_quote("#include <poppack.h>")
 
-typedef [unique] BYTE_BLOB * wirePIDL;
-typedef ITEMIDLIST /*__unaligned*/ * LPITEMIDLIST;
-typedef const ITEMIDLIST /*__unaligned*/ * LPCITEMIDLIST;
-
-cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
-typedef ITEMIDLIST_ABSOLUTE * PIDLIST_ABSOLUTE;
-typedef const ITEMIDLIST_ABSOLUTE * PCIDLIST_ABSOLUTE;
-typedef const ITEMIDLIST_ABSOLUTE /*__unaligned*/ * PCUIDLIST_ABSOLUTE;
-typedef ITEMIDLIST_RELATIVE * PIDLIST_RELATIVE;
-typedef const ITEMIDLIST_RELATIVE * PCIDLIST_RELATIVE;
-typedef ITEMIDLIST_RELATIVE /*__unaligned*/ * PUIDLIST_RELATIVE;
-typedef const ITEMIDLIST_RELATIVE /*__unaligned*/ * PCUIDLIST_RELATIVE;
-typedef ITEMID_CHILD * PITEMID_CHILD;
-typedef const ITEMID_CHILD * PCITEMID_CHILD;
-typedef ITEMID_CHILD /*__unaligned*/ * PUITEMID_CHILD;
-typedef const ITEMID_CHILD /*__unaligned*/ * PCUITEMID_CHILD;
-
-typedef PCUITEMID_CHILD const *PCUITEMID_CHILD_ARRAY;
-typedef PCUIDLIST_RELATIVE const *PCUIDLIST_RELATIVE_ARRAY;
-typedef PCIDLIST_ABSOLUTE const *PCIDLIST_ABSOLUTE_ARRAY;
-typedef PCUIDLIST_ABSOLUTE const *PCUIDLIST_ABSOLUTE_ARRAY;
-cpp_quote("#else /* !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)) */")
-cpp_quote("#define PIDLIST_ABSOLUTE         LPITEMIDLIST")
-cpp_quote("#define PCIDLIST_ABSOLUTE        LPCITEMIDLIST")
-cpp_quote("#define PCUIDLIST_ABSOLUTE       LPCITEMIDLIST")
-cpp_quote("#define PIDLIST_RELATIVE         LPITEMIDLIST")
-cpp_quote("#define PCIDLIST_RELATIVE        LPCITEMIDLIST")
-cpp_quote("#define PUIDLIST_RELATIVE        LPITEMIDLIST")
-cpp_quote("#define PCUIDLIST_RELATIVE       LPCITEMIDLIST")
-cpp_quote("#define PITEMID_CHILD            LPITEMIDLIST")
-cpp_quote("#define PCITEMID_CHILD           LPCITEMIDLIST")
-cpp_quote("#define PUITEMID_CHILD           LPITEMIDLIST")
-cpp_quote("#define PCUITEMID_CHILD          LPCITEMIDLIST")
-cpp_quote("#define PCUITEMID_CHILD_ARRAY    LPCITEMIDLIST *")
-cpp_quote("#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *")
-cpp_quote("#define PCIDLIST_ABSOLUTE_ARRAY  LPCITEMIDLIST *")
-cpp_quote("#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *")
-cpp_quote("#endif /* defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) */")
-
-
 #ifndef MAX_PATH
 #define MAX_PATH 260
 #endif
@@ -103,7 +54,7 @@ typedef enum tagSTRRET_TYPE
     STRRET_CSTR = 2
 } STRRET_TYPE;
 
-cpp_quote("#include <pshpack4.h>")
+cpp_quote("#include <pshpack8.h>")
 typedef struct _STRRET
 {
     UINT uType;                        /* STRRET_xxx */
@@ -124,3 +75,29 @@ typedef struct
     STRRET str;
 } SHELLDETAILS, *LPSHELLDETAILS;
 cpp_quote("#include <poppack.h>")
+
+typedef [v1_enum] enum tagSHCOLSTATE
+{
+    SHCOLSTATE_DEFAULT = 0,
+    SHCOLSTATE_TYPE_STR,
+    SHCOLSTATE_TYPE_INT,
+    SHCOLSTATE_TYPE_DATE,
+    SHCOLSTATE_TYPEMASK = 0xf,
+    SHCOLSTATE_ONBYDEFAULT = 0x10,
+    SHCOLSTATE_SLOW = 0x20,
+    SHCOLSTATE_EXTENDED = 0x40,
+    SHCOLSTATE_SECONDARYUI = 0x80,
+    SHCOLSTATE_HIDDEN = 0x100,
+    SHCOLSTATE_PREFER_VARCMP = 0x200,
+    SHCOLSTATE_PREFER_FMTCMP = 0x400,
+    SHCOLSTATE_NOSORTBYFOLDERNESS = 0x800,
+    SHCOLSTATE_VIEWONLY = 0x10000,
+    SHCOLSTATE_BATCHREAD = 0x20000,
+    SHCOLSTATE_NO_GROUPBY = 0x40000,
+    SHCOLSTATE_FIXED_WIDTH = 0x1000,
+    SHCOLSTATE_NODPISCALE = 0x2000,
+    SHCOLSTATE_FIXED_RATIO = 0x4000,
+    SHCOLSTATE_DISPLAYMASK = 0xf000
+} SHCOLSTATE;
+
+typedef DWORD SHCOLSTATEF;
index 669fbcf..35be7f7 100644 (file)
 
 import "oaidl.idl";
 
+cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
+cpp_quote("#undef FindText")
+cpp_quote("#endif")
+
 typedef enum tagTomConstants
 {
     tomFalse       = 0,
@@ -200,23 +204,23 @@ interface ITextDocument : IDispatch
 {
     HRESULT GetName([retval, out]BSTR *pName);
     HRESULT GetSelection([retval, out]ITextSelection **ppSel);
-    HRESULT GetStoryCount([retval, out]long *pCount);
+    HRESULT GetStoryCount([retval, out]LONG *pCount);
     HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
-    HRESULT GetSaved([retval, out]long *pValue);
-    HRESULT SetSaved([in]long Value);
+    HRESULT GetSaved([retval, out]LONG *pValue);
+    HRESULT SetSaved([in]LONG Value);
     HRESULT GetDefaultTabStop([retval, out]float *pValue);
     HRESULT SetDefaultTabStop([in]float Value);
     HRESULT New();
-    HRESULT Open([in]VARIANT *pVar, [in]long Flags, [in]long CodePage);
-    HRESULT Save([in]VARIANT *pVar, [in]long Flags, [in]long CodePage);
-    HRESULT Freeze([retval, out]long *pCount);
-    HRESULT Unfreeze([retval, out]long *pCount);
+    HRESULT Open([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
+    HRESULT Save([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
+    HRESULT Freeze([retval, out]LONG *pCount);
+    HRESULT Unfreeze([retval, out]LONG *pCount);
     HRESULT BeginEditCollection();
     HRESULT EndEditCollection();
-    HRESULT Undo([in]long Count, [retval, out]long *prop);
-    HRESULT Redo([in]long Count, [retval, out]long *prop);
-    HRESULT Range([in]long cp1, [in]long cp2, [retval, out]ITextRange**ppRange);
-    HRESULT RangeFromPoint([in]long x, [in]long y, [retval, out]ITextRange**ppRange);
+    HRESULT Undo([in]LONG Count, [retval, out]LONG *prop);
+    HRESULT Redo([in]LONG Count, [retval, out]LONG *prop);
+    HRESULT Range([in]LONG cp1, [in]LONG cp2, [retval, out]ITextRange **ppRange);
+    HRESULT RangeFromPoint([in]LONG x, [in]LONG y, [retval, out]ITextRange **ppRange);
 }
 
 interface ITextFont;
@@ -230,54 +234,54 @@ interface ITextRange : IDispatch
 {
     HRESULT GetText([retval, out]BSTR *pbstr);
     HRESULT SetText([in]BSTR bstr);
-    HRESULT GetChar([retval, out]long *pch);
-    HRESULT SetChar([in]long ch);
+    HRESULT GetChar([retval, out]LONG *pch);
+    HRESULT SetChar([in]LONG ch);
     HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
     HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
     HRESULT SetFormattedText([in]ITextRange *pRange);
-    HRESULT GetStart([retval, out]long *pcpFirst);
-    HRESULT SetStart([in]long cpFirst);
-    HRESULT GetEnd([retval, out]long *pcpLim);
-    HRESULT SetEnd([in]long cpLim);
+    HRESULT GetStart([retval, out]LONG *pcpFirst);
+    HRESULT SetStart([in]LONG cpFirst);
+    HRESULT GetEnd([retval, out]LONG *pcpLim);
+    HRESULT SetEnd([in]LONG cpLim);
     HRESULT GetFont([retval, out]ITextFont **pFont);
     HRESULT SetFont([in]ITextFont *pFont);
     HRESULT GetPara([retval, out]ITextPara **ppPara);
     HRESULT SetPara([in]ITextPara *pPara);
-    HRESULT GetStoryLength([retval, out]long *pcch);
-    HRESULT GetStoryType([retval, out]long *pValue);
-    HRESULT Collapse([in]long bStart);
-    HRESULT Expand([in]long Unit, [retval, out]long *pDelta);
-    HRESULT GetIndex([in]long Unit, [retval, out]long *pIndex);
-    HRESULT SetIndex([in]long Unit, [in]long Index, [in]long Extend);
-    HRESULT SetRange([in]long cpActive, [in]long cpOther);
-    HRESULT InRange([in]ITextRange *pRange, [retval, out]long *pb);
-    HRESULT InStory([in]ITextRange *pRange, [retval, out]long *pb);
-    HRESULT IsEqual([in]ITextRange *pRange, [retval, out]long *pb);
+    HRESULT GetStoryLength([retval, out]LONG *pcch);
+    HRESULT GetStoryType([retval, out]LONG *pValue);
+    HRESULT Collapse([in]LONG bStart);
+    HRESULT Expand([in]LONG Unit, [retval, out]LONG *pDelta);
+    HRESULT GetIndex([in]LONG Unit, [retval, out]LONG *pIndex);
+    HRESULT SetIndex([in]LONG Unit, [in]LONG Index, [in]LONG Extend);
+    HRESULT SetRange([in]LONG cpActive, [in]LONG cpOther);
+    HRESULT InRange([in]ITextRange *pRange, [retval, out]LONG *pb);
+    HRESULT InStory([in]ITextRange *pRange, [retval, out]LONG *pb);
+    HRESULT IsEqual([in]ITextRange *pRange, [retval, out]LONG *pb);
     HRESULT Select();
-    HRESULT StartOf([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT EndOf([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT Move([in]long Unit, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveStart([in]long Unit, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveEnd([in]long Unit, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveStartWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveEndWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveStartUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT MoveEndUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
-    HRESULT FindText([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
-    HRESULT FindTextStart([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
-    HRESULT FindTextEnd([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
-    HRESULT Delete([in]long Unit, [in]long Count, [retval, out]long *pDelta);
+    HRESULT StartOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT EndOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT Move([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveStart([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveEnd([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveStartWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveEndWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveStartUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT MoveEndUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
+    HRESULT FindText([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
+    HRESULT FindTextStart([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
+    HRESULT FindTextEnd([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
+    HRESULT Delete([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
     HRESULT Cut([out]VARIANT *pVar);
     HRESULT Copy([out]VARIANT *pVar);
-    HRESULT Paste([in]VARIANT *pVar, [in]long Format);
-    HRESULT CanPaste([in]VARIANT *pVar, [in]long Format, [retval, out]long *pb);
-    HRESULT CanEdit([retval, out]long *pb);
-    HRESULT ChangeCase([in]long Type);
-    HRESULT GetPoint([in]long Type, [out]long *cx, [out]long *cy);
-    HRESULT SetPoint([in]long x, [in]long y, [in]long Type, [in]long Extend);
-    HRESULT ScrollIntoView([in]long Value);
+    HRESULT Paste([in]VARIANT *pVar, [in]LONG Format);
+    HRESULT CanPaste([in]VARIANT *pVar, [in]LONG Format, [retval, out]LONG *pb);
+    HRESULT CanEdit([retval, out]LONG *pb);
+    HRESULT ChangeCase([in]LONG Type);
+    HRESULT GetPoint([in]LONG Type, [out]LONG *cx, [out]LONG *cy);
+    HRESULT SetPoint([in]LONG x, [in]LONG y, [in]LONG Type, [in]LONG Extend);
+    HRESULT ScrollIntoView([in]LONG Value);
     HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
 }
 
@@ -287,15 +291,15 @@ interface ITextRange : IDispatch
 ]
 interface ITextSelection : ITextRange
 {
-    HRESULT GetFlags([retval, out]long *pFlags);
-    HRESULT SetFlags([in]long Flags);
-    HRESULT GetType([retval, out]long *pType);
-    HRESULT MoveLeft([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT MoveRight([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT MoveUp([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT MoveDown([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT HomeKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
-    HRESULT EndKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
+    HRESULT GetFlags([retval, out]LONG *pFlags);
+    HRESULT SetFlags([in]LONG Flags);
+    HRESULT GetType([retval, out]LONG *pType);
+    HRESULT MoveLeft([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT MoveRight([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT MoveUp([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT MoveDown([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT HomeKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
+    HRESULT EndKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
     HRESULT TypeText([in]BSTR bstr);
 }
 
@@ -307,59 +311,59 @@ interface ITextFont : IDispatch
 {
     HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
     HRESULT SetDuplicate([in]ITextFont *pFont);
-    HRESULT CanChange([out]long *pB);
-    HRESULT IsEqual([in]ITextFont *pFont, [retval, out]long *pB);
-    HRESULT Reset([in]long Value);
-    HRESULT GetStyle([retval, out]long *pValue);
-    HRESULT SetStyle([in]long Value);
-    HRESULT GetAllCaps([retval, out]long *pValue);
-    HRESULT SetAllCaps([in]long Value);
-    HRESULT GetAnimation([retval, out]long *pValue);
-    HRESULT SetAnimation([in]long Value);
-    HRESULT GetBackColor([retval, out]long *pValue);
-    HRESULT SetBackColor([in]long Value);
-    HRESULT GetBold([retval, out]long *pValue);
-    HRESULT SetBold([in]long Value);
-    HRESULT GetEmboss([retval, out]long *pValue);
-    HRESULT SetEmboss([in]long Value);
-    HRESULT GetForeColor([retval, out]long *pValue);
-    HRESULT SetForeColor([in]long Value);
-    HRESULT GetHidden([retval, out]long *pValue);
-    HRESULT SetHidden([in]long Value);
-    HRESULT GetEngrave([retval, out]long *pValue);
-    HRESULT SetEngrave([in]long Value);
-    HRESULT GetItalic([retval, out]long *pValue);
-    HRESULT SetItalic([in]long Value);
-    HRESULT GetKerning([retval, out]long *pValue);
-    HRESULT SetKerning([in]long Value);
-    HRESULT GetLanguageID([retval, out]long *pValue);
-    HRESULT SetLanguageID([in]long Value);
+    HRESULT CanChange([out]LONG *pB);
+    HRESULT IsEqual([in]ITextFont *pFont, [retval, out]LONG *pB);
+    HRESULT Reset([in]LONG Value);
+    HRESULT GetStyle([retval, out]LONG *pValue);
+    HRESULT SetStyle([in]LONG Value);
+    HRESULT GetAllCaps([retval, out]LONG *pValue);
+    HRESULT SetAllCaps([in]LONG Value);
+    HRESULT GetAnimation([retval, out]LONG *pValue);
+    HRESULT SetAnimation([in]LONG Value);
+    HRESULT GetBackColor([retval, out]LONG *pValue);
+    HRESULT SetBackColor([in]LONG Value);
+    HRESULT GetBold([retval, out]LONG *pValue);
+    HRESULT SetBold([in]LONG Value);
+    HRESULT GetEmboss([retval, out]LONG *pValue);
+    HRESULT SetEmboss([in]LONG Value);
+    HRESULT GetForeColor([retval, out]LONG *pValue);
+    HRESULT SetForeColor([in]LONG Value);
+    HRESULT GetHidden([retval, out]LONG *pValue);
+    HRESULT SetHidden([in]LONG Value);
+    HRESULT GetEngrave([retval, out]LONG *pValue);
+    HRESULT SetEngrave([in]LONG Value);
+    HRESULT GetItalic([retval, out]LONG *pValue);
+    HRESULT SetItalic([in]LONG Value);
+    HRESULT GetKerning([retval, out]LONG *pValue);
+    HRESULT SetKerning([in]LONG Value);
+    HRESULT GetLanguageID([retval, out]LONG *pValue);
+    HRESULT SetLanguageID([in]LONG Value);
     HRESULT GetName([retval, out]BSTR *pValue);
     HRESULT SetName([in]BSTR Value);
-    HRESULT GetOutline([retval, out]long *pValue);
-    HRESULT SetOutline([in]long Value);
-    HRESULT GetPosition([retval, out]long *pValue);
-    HRESULT SetPosition([in]long Value);
-    HRESULT GetProtected([retval, out]long *pValue);
-    HRESULT SetProtected([in]long Value);
-    HRESULT GetShadow([retval, out]long *pValue);
-    HRESULT SetShadow([in]long Value);
-    HRESULT GetSize([retval, out]long *pValue);
-    HRESULT SetSize([in]long Value);
-    HRESULT GetSmallCaps([retval, out]long *pValue);
-    HRESULT SetSmallCaps([in]long Value);
+    HRESULT GetOutline([retval, out]LONG *pValue);
+    HRESULT SetOutline([in]LONG Value);
+    HRESULT GetPosition([retval, out]LONG *pValue);
+    HRESULT SetPosition([in]LONG Value);
+    HRESULT GetProtected([retval, out]LONG *pValue);
+    HRESULT SetProtected([in]LONG Value);
+    HRESULT GetShadow([retval, out]LONG *pValue);
+    HRESULT SetShadow([in]LONG Value);
+    HRESULT GetSize([retval, out]LONG *pValue);
+    HRESULT SetSize([in]LONG Value);
+    HRESULT GetSmallCaps([retval, out]LONG *pValue);
+    HRESULT SetSmallCaps([in]LONG Value);
     HRESULT GetSpacing([retval, out]float *pValue);
     HRESULT SetSpacing([in]float Value);
-    HRESULT GetStrikeThrough([retval, out]long *pValue);
-    HRESULT SetStrikeThrough([in]long Value);
-    HRESULT GetSubscript([retval, out]long *pValue);
-    HRESULT SetSubscript([in]long Value);
-    HRESULT GetSuperscript([retval, out]long *pValue);
-    HRESULT SetSuperscript([in]long Value);
-    HRESULT GetUnderline([retval, out]long *pValue);
-    HRESULT SetUnderline([in]long Value);
-    HRESULT GetWeight([retval, out]long *pValue);
-    HRESULT SetWeight([in]long Value);
+    HRESULT GetStrikeThrough([retval, out]LONG *pValue);
+    HRESULT SetStrikeThrough([in]LONG Value);
+    HRESULT GetSubscript([retval, out]LONG *pValue);
+    HRESULT SetSubscript([in]LONG Value);
+    HRESULT GetSuperscript([retval, out]LONG *pValue);
+    HRESULT SetSuperscript([in]LONG Value);
+    HRESULT GetUnderline([retval, out]LONG *pValue);
+    HRESULT SetUnderline([in]LONG Value);
+    HRESULT GetWeight([retval, out]LONG *pValue);
+    HRESULT SetWeight([in]LONG Value);
 }
 
 [
@@ -370,52 +374,52 @@ interface ITextPara : IDispatch
 {
     HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
     HRESULT SetDuplicate([in]ITextPara *pPara);
-    HRESULT CanChange([out]long *pB);
-    HRESULT IsEqual([in]ITextPara *pPara, [retval, out]long *pB);
-    HRESULT Reset([in]long Value);
-    HRESULT GetStyle([retval, out]long *pValue);
-    HRESULT SetStyle([in]long Value);
-    HRESULT GetAlignment([retval, out]long *pValue);
-    HRESULT SetAlignment([in]long Value);
-    HRESULT GetHyphenation([retval, out]long *pValue);
-    HRESULT SetHyphenation([in]long Value);
+    HRESULT CanChange([out]LONG *pB);
+    HRESULT IsEqual([in]ITextPara *pPara, [retval, out]LONG *pB);
+    HRESULT Reset([in]LONG Value);
+    HRESULT GetStyle([retval, out]LONG *pValue);
+    HRESULT SetStyle([in]LONG Value);
+    HRESULT GetAlignment([retval, out]LONG *pValue);
+    HRESULT SetAlignment([in]LONG Value);
+    HRESULT GetHyphenation([retval, out]LONG *pValue);
+    HRESULT SetHyphenation([in]LONG Value);
     HRESULT GetFirstLineIndent([retval, out]float *pValue);
-    HRESULT GetKeepTogether([retval, out]long *pValue);
-    HRESULT SetKeepTogether([in]long Value);
-    HRESULT GetKeepWithNext([retval, out]long *pValue);
-    HRESULT SetKeepWithNext([in]long Value);
+    HRESULT GetKeepTogether([retval, out]LONG *pValue);
+    HRESULT SetKeepTogether([in]LONG Value);
+    HRESULT GetKeepWithNext([retval, out]LONG *pValue);
+    HRESULT SetKeepWithNext([in]LONG Value);
     HRESULT GetLeftIndent([retval, out]float *pValue);
     HRESULT GetLineSpacing([retval, out]float *pValue);
-    HRESULT GetLineSpacingRule([retval, out]long *pValue);
-    HRESULT GetListAlignment([retval, out]long *pValue);
-    HRESULT SetListAlignment([in]long Value);
-    HRESULT GetListLevelIndex([retval, out]long *pValue);
-    HRESULT SetListLevelIndex([in]long Value);
-    HRESULT GetListStart([retval, out]long *pValue);
-    HRESULT SetListStart([in]long Value);
-    HRESULT GetListTab([retval, out]long *pValue);
-    HRESULT SetListTab([in]long Value);
-    HRESULT GetListType([retval, out]long *pValue);
-    HRESULT SetListType([in]long Value);
-    HRESULT GetNoLineNumber([retval, out]long *pValue);
-    HRESULT SetNoLineNumber([in]long Value);
-    HRESULT GetPageBreakBefore([retval, out]long *pValue);
-    HRESULT SetPageBreakBefore([in]long Value);
+    HRESULT GetLineSpacingRule([retval, out]LONG *pValue);
+    HRESULT GetListAlignment([retval, out]LONG *pValue);
+    HRESULT SetListAlignment([in]LONG Value);
+    HRESULT GetListLevelIndex([retval, out]LONG *pValue);
+    HRESULT SetListLevelIndex([in]LONG Value);
+    HRESULT GetListStart([retval, out]LONG *pValue);
+    HRESULT SetListStart([in]LONG Value);
+    HRESULT GetListTab([retval, out]LONG *pValue);
+    HRESULT SetListTab([in]LONG Value);
+    HRESULT GetListType([retval, out]LONG *pValue);
+    HRESULT SetListType([in]LONG Value);
+    HRESULT GetNoLineNumber([retval, out]LONG *pValue);
+    HRESULT SetNoLineNumber([in]LONG Value);
+    HRESULT GetPageBreakBefore([retval, out]LONG *pValue);
+    HRESULT SetPageBreakBefore([in]LONG Value);
     HRESULT GetRightIndent([retval, out]float *pValue);
     HRESULT SetRightIndent([in]float Value);
     HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
-    HRESULT SetLineSpacing([in]long LineSpacingRule, [in]float LineSpacing);
+    HRESULT SetLineSpacing([in]LONG LineSpacingRule, [in]float LineSpacing);
     HRESULT GetSpaceAfter([retval, out]float *pValue);
     HRESULT SetSpaceAfter([in]float Value);
     HRESULT GetSpaceBefore([retval, out]float *pValue);
     HRESULT SetSpaceBefore([in]float Value);
     HRESULT GetWindowControl([retval, out]float *pValue);
     HRESULT SetWindowControl([in]float Value);
-    HRESULT GetTabCount([retval, out]long *pCount);
-    HRESULT AddTab([in]float tbPos, [in]long tbAlign, [in]long tbLeader);
+    HRESULT GetTabCount([retval, out]LONG *pCount);
+    HRESULT AddTab([in]float tbPos, [in]LONG tbAlign, [in]LONG tbLeader);
     HRESULT ClearAllTabs();
     HRESULT DeleteTab([in]float tbPos);
-    HRESULT GetTab([in]long iTab, [out]float *ptbPos, [out]long *ptbAlign, [out]long *ptbLeader);
+    HRESULT GetTab([in]LONG iTab, [out]float *ptbPos, [out]LONG *ptbAlign, [out]LONG *ptbLeader);
 }
 
 [
@@ -425,6 +429,6 @@ interface ITextPara : IDispatch
 interface ITextStoryRanges : IDispatch
 {
     HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
-    HRESULT Item([in]long Index, [retval, out]ITextRange **ppRange);
-    HRESULT GetCount([retval, out]long *pCount);
+    HRESULT Item([in]LONG Index, [retval, out]ITextRange **ppRange);
+    HRESULT GetCount([retval, out]LONG *pCount);
 }
index 6a3f9a9..4a311ba 100644 (file)
@@ -91,16 +91,13 @@ DECLARE_HANDLE(HWINSTA);
 DECLARE_HANDLE(HKL);
 DECLARE_HANDLE(HGDIOBJ);
 
-cpp_quote("#if 0")
-typedef HANDLE HMONITOR;
-cpp_quote("#endif /* 0 */")
-
 typedef HANDLE HDWP;
 
 typedef LONG_PTR LRESULT;
 
 typedef LONG HRESULT;
 typedef DWORD LCID;
+typedef USHORT LANGID;
 
 typedef unsigned __int64 DWORDLONG;
 typedef __int64 LONGLONG;
@@ -447,7 +444,7 @@ typedef struct tagRemHGLOBAL {
 typedef union _userHGLOBAL switch(long fContext) u {
   case WDT_INPROC_CALL: long               hInproc;
   case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote;
-  default:              long               hGlobal;
+  case WDT_INPROC64_CALL: __int64          hInproc64;
 } userHGLOBAL;
 
 typedef [unique] userHGLOBAL *wireHGLOBAL;
@@ -463,7 +460,7 @@ typedef struct tagRemHMETAFILEPICT {
 typedef union _userHMETAFILE switch(long fContext) u {
   case WDT_INPROC_CALL: long       hInproc;
   case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
-  default:              long       hGlobal;
+  case WDT_INPROC64_CALL: __int64  hInproc64;
 } userHMETAFILE;
 
 typedef [unique] userHMETAFILE *wireHMETAFILE;
@@ -478,7 +475,7 @@ typedef struct _remoteMETAFILEPICT {
 typedef union _userHMETAFILEPICT switch(long fContext) u {
   case WDT_INPROC_CALL: long                hInproc;
   case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote;
-  default:              long                hGlobal;
+  case WDT_INPROC64_CALL: __int64           hInproc64;
 } userHMETAFILEPICT;
 
 typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT;
@@ -491,7 +488,7 @@ typedef struct tagRemHENHMETAFILE {
 typedef union _userHENHMETAFILE switch(long fContext) u {
   case WDT_INPROC_CALL: long       hInproc;
   case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
-  default:              long       hGlobal;
+  case WDT_INPROC64_CALL: __int64  hInproc64;
 } userHENHMETAFILE;
 
 typedef [unique] userHENHMETAFILE *wireHENHMETAFILE;
@@ -516,7 +513,7 @@ typedef struct _userBITMAP {
 typedef union _userHBITMAP switch(long fContext) u {
   case WDT_INPROC_CALL: long        hInproc;
   case WDT_REMOTE_CALL: userBITMAP *hRemote;
-  default:              long        hGlobal;
+  case WDT_INPROC64_CALL: __int64   hInproc64;
 } userHBITMAP;
 
 typedef [unique] userHBITMAP *wireHBITMAP;
@@ -535,7 +532,7 @@ typedef struct tagrpcLOGPALETTE {
 typedef union _userHPALETTE switch(long fContext) u {
   case WDT_INPROC_CALL: long           hInproc;
   case WDT_REMOTE_CALL: rpcLOGPALETTE *hRemote;
-  default:              long           hGlobal;
+  case WDT_INPROC64_CALL: __int64      hInproc64;
 } userHPALETTE;
 
 typedef [unique] userHPALETTE *wireHPALETTE;
@@ -585,36 +582,6 @@ typedef struct tagMSG
     POINT  pt;
 } MSG, *PMSG, *NPMSG, *LPMSG;
 
-typedef struct tagCREATESTRUCTA {
-    LPVOID      lpCreateParams;
-    HINSTANCE   hInstance;
-    HMENU       hMenu;
-    HWND        hwndParent;
-    int         cy;
-    int         cx;
-    int         y;
-    int         x;
-    LONG        style;
-    LPCSTR      lpszName;
-    LPCSTR      lpszClass;
-    DWORD       dwExStyle;
-} CREATESTRUCTA, *LPCREATESTRUCTA;
-
-typedef struct tagCREATESTRUCTW {
-    LPVOID      lpCreateParams;
-    HINSTANCE   hInstance;
-    HMENU       hMenu;
-    HWND        hwndParent;
-    int         cy;
-    int         cx;
-    int         y;
-    int         x;
-    LONG        style;
-    LPCWSTR     lpszName;
-    LPCWSTR     lpszClass;
-    DWORD       dwExStyle;
-} CREATESTRUCTW, *LPCREATESTRUCTW;
-
 cpp_quote("#endif")
 
 /******************** GUID TYPES ********************/
@@ -870,6 +837,15 @@ typedef union switch(DWORD tyspec)
         } ByObjectId;
 } uCLSSPEC;
 
+cpp_quote("#ifndef PROPERTYKEY_DEFINED")
+cpp_quote("#define PROPERTYKEY_DEFINED")
+typedef struct _tagpropertykey
+{
+    GUID fmtid;
+    DWORD pid;
+} PROPERTYKEY;
+cpp_quote("#endif /*PROPERTYKEY_DEFINED*/")
+
 } /* interface IWinTypes */
 
 cpp_quote("#ifdef _MSC_VER")
index 252c6e3..6364f9c 100644 (file)
@@ -26,6 +26,7 @@
 import "unknwn.idl";
 
 cpp_quote("#if 0")
+typedef HANDLE HMONITOR;
 
 typedef struct _RGNDATAHEADER
 {