diff --git a/reactos/dll/win32/msi/msiserver.idl b/reactos/dll/win32/msi/msiserver.idl index aa934361b49..25210fee155 100644 --- a/reactos/dll/win32/msi/msiserver.idl +++ b/reactos/dll/win32/msi/msiserver.idl @@ -29,7 +29,6 @@ typedef int INSTALLMESSAGE; typedef int MSICONDITION; typedef int MSIRUNMODE; typedef int INSTALLSTATE; -typedef WORD LANGID; cpp_quote("#endif") [ diff --git a/reactos/dll/win32/shell32/dataobject.c b/reactos/dll/win32/shell32/dataobject.c index 503ff4568d4..6da709528c8 100644 --- a/reactos/dll/win32/shell32/dataobject.c +++ b/reactos/dll/win32/shell32/dataobject.c @@ -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); diff --git a/reactos/dll/win32/shell32/pidl.c b/reactos/dll/win32/shell32/pidl.c index 0b4f226031b..f229bd9626a 100644 --- a/reactos/dll/win32/shell32/pidl.c +++ b/reactos/dll/win32/shell32/pidl.c @@ -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; diff --git a/reactos/dll/win32/shell32/she_ocmenu.c b/reactos/dll/win32/shell32/she_ocmenu.c index 618d6ad8cf4..dc66376cdea 100644 --- a/reactos/dll/win32/shell32/she_ocmenu.c +++ b/reactos/dll/win32/shell32/she_ocmenu.c @@ -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; diff --git a/reactos/dll/win32/shell32/shelllink.c b/reactos/dll/win32/shell32/shelllink.c index 5e05bc59a94..2d9ef1c20ee 100644 --- a/reactos/dll/win32/shell32/shelllink.c +++ b/reactos/dll/win32/shell32/shelllink.c @@ -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 ); } /************************************************************************ diff --git a/reactos/dll/win32/shell32/shfldr_fs.c b/reactos/dll/win32/shell32/shfldr_fs.c index da1391807b5..6a0c9537f2f 100644 --- a/reactos/dll/win32/shell32/shfldr_fs.c +++ b/reactos/dll/win32/shell32/shfldr_fs.c @@ -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); } } diff --git a/reactos/dll/win32/shell32/shlfolder.c b/reactos/dll/win32/shell32/shlfolder.c index a08b755deb6..f9d5c1eea5e 100644 --- a/reactos/dll/win32/shell32/shlfolder.c +++ b/reactos/dll/win32/shell32/shlfolder.c @@ -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) diff --git a/reactos/dll/win32/shell32/shlview.c b/reactos/dll/win32/shell32/shlview.c index 696cd11e46b..ef7f587f7c1 100644 --- a/reactos/dll/win32/shell32/shlview.c +++ b/reactos/dll/win32/shell32/shlview.c @@ -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; diff --git a/reactos/dll/win32/shell32/shv_def_cmenu.c b/reactos/dll/win32/shell32/shv_def_cmenu.c index 3df3dd21e74..71c25a7d407 100644 --- a/reactos/dll/win32/shell32/shv_def_cmenu.c +++ b/reactos/dll/win32/shell32/shv_def_cmenu.c @@ -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)) diff --git a/reactos/dll/win32/shell32/stubs.c b/reactos/dll/win32/shell32/stubs.c index 1ead574e1f4..b3192ea2c25 100644 --- a/reactos/dll/win32/shell32/stubs.c +++ b/reactos/dll/win32/shell32/stubs.c @@ -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, diff --git a/reactos/include/dxsdk/axextend.idl b/reactos/include/dxsdk/axextend.idl index 8b52d79d023..66e43f151ca 100644 --- a/reactos/include/dxsdk/axextend.idl +++ b/reactos/include/dxsdk/axextend.idl @@ -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 index 00000000000..d3d94240384 --- /dev/null +++ b/reactos/include/psdk/access.idl @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a8c-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IAccessor : IUnknown +{ + + typedef DWORD DBACCESSORFLAGS; + + typedef DWORD DBBINDSTATUS; + + [local] + HRESULT AddRefAccessor([in] HACCESSOR hAccessor, + [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount); + + [call_as(AddRefAccessor)] + HRESULT RemoteAddRefAccessor([in] HACCESSOR hAccessor, + [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT CreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags, + [in] DBCOUNTITEM cBindings, + [in, size_is(cBindings), annotation("__in_ecount(cBindings)")] const DBBINDING rgBindings[], + [in] DBLENGTH cbRowSize, + [out, annotation("__out")] HACCESSOR *phAccessor, + [out, size_is(cBindings), annotation("__out_ecount_opt(cBindings)")] DBBINDSTATUS rgStatus[]); + + [call_as(CreateAccessor)] + HRESULT RemoteCreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags, + [in] DBCOUNTITEM cBindings, + [in, unique, size_is(cBindings)] DBBINDING *rgBindings, + [in] DBLENGTH cbRowSize, + [out] HACCESSOR *phAccessor, + [in, out, unique, size_is(cBindings)] DBBINDSTATUS *rgStatus, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT GetBindings([in] HACCESSOR hAccessor, + [out, annotation("__out")] DBACCESSORFLAGS *pdwAccessorFlags, + [in, out, annotation("__out_opt")] DBCOUNTITEM *pcBindings, + [out, size_is(,*pcBindings), annotation("__deref_out_ecount_opt(*pcBindings)")] DBBINDING **prgBindings); + + [call_as(GetBindings)] + HRESULT RemoteGetBindings([in] HACCESSOR hAccessor, + [out] DBACCESSORFLAGS *pdwAccessorFlags, + [in, out] DBCOUNTITEM *pcBindings, + [out, size_is(,*pcBindings)] DBBINDING **prgBindings, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT ReleaseAccessor([in] HACCESSOR hAccessor, + [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount); + + [call_as(ReleaseAccessor)] + HRESULT RemoteReleaseAccessor([in] HACCESSOR hAccessor, + [in, out, unique] DBREFCOUNT *pcRefCount, + [out] IErrorInfo **ppErrorInfoRem); + +}; diff --git a/reactos/include/psdk/asynot.idl b/reactos/include/psdk/asynot.idl new file mode 100644 index 00000000000..b745bd9c796 --- /dev/null +++ b/reactos/include/psdk/asynot.idl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a96-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IDBAsynchNotify : IUnknown +{ + [local] + HRESULT OnLowResource([in] DB_DWRESERVE dwReserved); + + [call_as(OnLowResource)] + HRESULT RemoteOnLowResource([in] DB_DWRESERVE dwReserved); + + [local] + HRESULT OnProgress([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [in] DBCOUNTITEM ulProgress, + [in] DBCOUNTITEM ulProgressMax, + [in] DBASYNCHPHASE eAsynchPhase, + [in, annotation("__in_opt")] LPOLESTR pwszStatusText); + + [call_as(OnProgress)] + HRESULT RemoteOnProgress([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [in] DBCOUNTITEM ulProgress, + [in] DBCOUNTITEM ulProgressMax, + [in] DBASYNCHPHASE eAsynchPhase, + [in, unique, string] LPOLESTR pwszStatusText); + + [local] + HRESULT OnStop([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [in] HRESULT hrStatus, + [in, annotation("__in_opt")] LPOLESTR pwszStatusText); + + [call_as(OnStop)] + HRESULT RemoteOnStop([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [in] HRESULT hrStatus, + [in, unique, string] LPOLESTR pwszStatusText); +} diff --git a/reactos/include/psdk/asysta.idl b/reactos/include/psdk/asysta.idl new file mode 100644 index 00000000000..40bca846530 --- /dev/null +++ b/reactos/include/psdk/asysta.idl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a95-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IDBAsynchStatus : IUnknown +{ + [local] + HRESULT Abort([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation); + + [call_as(Abort)] + HRESULT RemoteAbort([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT GetStatus([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [out, annotation("__out_opt")] DBCOUNTITEM *pulProgress, + [out, annotation("__out_opt")] DBCOUNTITEM *pulProgressMax, + [out, annotation("__out")] DBASYNCHPHASE *peAsynchPhase, + [out, annotation("__deref_opt_inout_opt")] LPOLESTR *ppwszStatusText); + + [call_as(GetStatus)] + HRESULT RemoteGetStatus([in] HCHAPTER hChapter, + [in] DBASYNCHOP eOperation, + [in, out, unique] DBCOUNTITEM *pulProgress, + [in, out, unique] DBCOUNTITEM *pulProgressMax, + [in, out, unique] DBASYNCHPHASE *peAsynchPhase, + [in, out, unique] LPOLESTR *ppwszStatusText, + [out] IErrorInfo **ppErrorInfoRem); +} diff --git a/reactos/include/psdk/binres.idl b/reactos/include/psdk/binres.idl new file mode 100644 index 00000000000..f09d124fdef --- /dev/null +++ b/reactos/include/psdk/binres.idl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733ab1-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IBindResource : IUnknown +{ + [local] + HRESULT Bind([in] IUnknown *pUnkOuter, + [in] LPCOLESTR pwszURL, + [in] DBBINDURLFLAG dwBindURLFlags, + [in] REFGUID rguid, + [in] REFIID riid, + [in] IAuthenticate *pAuthenticate, + [in, out, unique] DBIMPLICITSESSION *pImplSession, + [in, out, unique] DBBINDURLSTATUS *pdwBindStatus, + [out, iid_is(riid)] IUnknown **ppUnk); + + [call_as(Bind)] + HRESULT RemoteBind([in] IUnknown *pUnkOuter, + [in] LPCOLESTR pwszURL, + [in] DBBINDURLFLAG dwBindURLFlags, + [in] REFGUID rguid, + [in] REFIID riid, + [in] IAuthenticate *pAuthenticate, + [in] IUnknown *pSessionUnkOuter, + [in, unique] IID *piid, + [in, out, unique, iid_is(piid)] IUnknown **ppSession, + [in, out, unique] DBBINDURLSTATUS *pdwBindStatus, + [out, iid_is(riid)] IUnknown **ppUnk); +} diff --git a/reactos/include/psdk/bits.idl b/reactos/include/psdk/bits.idl index 386d6c00b75..89b916d0a2c 100644 --- a/reactos/include/psdk/bits.idl +++ b/reactos/include/psdk/bits.idl @@ -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 index 00000000000..01be4604f38 --- /dev/null +++ b/reactos/include/psdk/cmdbas.idl @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a63-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface ICommand : IUnknown +{ + [local] + HRESULT Cancel(); + + [call_as(Cancel)] + HRESULT RemoteCancel([out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT Execute([in, annotation("__in_opt")] IUnknown *pUnkOuter, + [in] REFIID riid, + [in, out, annotation("__inout_opt")] DBPARAMS *pParams, + [out, annotation("__out_opt")] DBROWCOUNT *pcRowsAffected, + [out, iid_is(riid), annotation("__deref_opt_out")] IUnknown **ppRowset); + + [call_as(Execute)] + HRESULT RemoteExecute([in] IUnknown *pUnkOuter, + [in] REFIID riid, + [in] HACCESSOR hAccessor, + [in] DB_UPARAMS cParamSets, + [in, unique] GUID *pGuid, + [in] ULONG ulGuidOffset, + [in, unique] RMTPACK *pInputParams, + [in, out, unique] RMTPACK *pOutputParams, + [in] DBCOUNTITEM cBindings, + [in, unique, size_is(cBindings)] DBBINDING *rgBindings, + [in, out, unique, size_is(cBindings)] DBSTATUS *rgStatus, + [in, out, unique] DBROWCOUNT *pcRowsAffected, + [in, out, unique, iid_is(riid)] IUnknown **ppRowset); + + [local] + HRESULT GetDBSession([in] REFIID riid, + [out, iid_is(riid), annotation("__deref_out_opt")] IUnknown **ppSession); + + [call_as(GetDBSession)] + HRESULT RemoteGetDBSession([in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppSession, + [out] IErrorInfo **ppErrorInfoRem); +}; diff --git a/reactos/include/psdk/cmdtxt.idl b/reactos/include/psdk/cmdtxt.idl new file mode 100644 index 00000000000..32208848353 --- /dev/null +++ b/reactos/include/psdk/cmdtxt.idl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a27-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface ICommandText : ICommand +{ + [local] + HRESULT GetCommandText([in, out /*, annotation("__inout_opt")*/] GUID *pguidDialect, + [out /*, annotation("__deref_out")*/] LPOLESTR *ppwszCommand); + + [call_as(GetCommandText)] + HRESULT RemoteGetCommandText([in, out, unique] GUID *pguidDialect, + [out] LPOLESTR *ppwszCommand, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT SetCommandText([in] REFGUID rguidDialect, + [in, unique /*, annotation("__in_z_opt")*/] LPCOLESTR pwszCommand); + + [call_as(SetCommandText)] + HRESULT RemoteSetCommandText([in] REFGUID rguidDialect, + [in, unique] LPCOLESTR pwszCommand, + [out] IErrorInfo **ppErrorInfoRem); + +}; diff --git a/reactos/include/psdk/control.idl b/reactos/include/psdk/control.idl index c0b1914a02b..84a4f88e6a9 100644 --- a/reactos/include/psdk/control.idl +++ b/reactos/include/psdk/control.idl @@ -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 index 00000000000..7088e00e721 --- /dev/null +++ b/reactos/include/psdk/crtrow.idl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733ab2-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface ICreateRow : IUnknown +{ + [local] + HRESULT CreateRow([in, unique] IUnknown *pUnkOuter, + [in] LPCOLESTR pwszURL, + [in] DBBINDURLFLAG dwBindURLFlags, + [in] REFGUID rguid, + [in] REFIID riid, + [in, unique] IAuthenticate *pAuthenticate, + [in, out, unique] DBIMPLICITSESSION *pImplSession, + [in, out, unique] DBBINDURLSTATUS *pdwBindStatus, + [out, annotation("__deref_opt_out_opt")] LPOLESTR *ppwszNewURL, + [out, iid_is(riid)] IUnknown **ppUnk); + + [call_as(CreateRow)] + HRESULT RemoteCreateRow([in] IUnknown *pUnkOuter, + [in] LPCOLESTR pwszURL, + [in] DBBINDURLFLAG dwBindURLFlags, + [in] REFGUID rguid, + [in] REFIID riid, + [in] IAuthenticate *pAuthenticate, + [in] IUnknown *pSessionUnkOuter, + [in, unique] IID *piid, + [in, out, unique, iid_is(piid)] IUnknown **ppSession, + [in, out, unique] DBBINDURLSTATUS *pdwBindStatus, + [in, out, unique] LPOLESTR *ppwszNewURL, + [out, iid_is(riid)] IUnknown **ppUnk); +} diff --git a/reactos/include/psdk/dbccmd.idl b/reactos/include/psdk/dbccmd.idl new file mode 100644 index 00000000000..99274bc05ba --- /dev/null +++ b/reactos/include/psdk/dbccmd.idl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a1d-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IDBCreateCommand : IUnknown +{ + [local] + HRESULT CreateCommand([in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppCommand); + + [call_as(CreateCommand)] + HRESULT RemoteCreateCommand([in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppCommand, + [out] IErrorInfo **ppErrorInfoRem); +} diff --git a/reactos/include/psdk/dbcses.idl b/reactos/include/psdk/dbcses.idl new file mode 100644 index 00000000000..3bdb0d779d4 --- /dev/null +++ b/reactos/include/psdk/dbcses.idl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a5d-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IDBCreateSession : IUnknown +{ + [local] + HRESULT CreateSession([in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppDBSession); + + [call_as(CreateSession)] + HRESULT RemoteCreateSession([in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppDBSession, + [out] IErrorInfo **ppErrorInfoRem); +} diff --git a/reactos/include/psdk/dbdsad.idl b/reactos/include/psdk/dbdsad.idl new file mode 100644 index 00000000000..c6fb2b4ea4b --- /dev/null +++ b/reactos/include/psdk/dbdsad.idl @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a7a-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IDBDataSourceAdmin : IUnknown +{ + [local] + HRESULT CreateDataSource([in] ULONG cPropertySets, + [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[], + [in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppDBSession); + + [call_as(CreateDataSource)] + HRESULT RemoteCreateDataSource([in] ULONG cPropertySets, + [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets, + [in] IUnknown *pUnkOuter, + [in] REFIID riid, + [in, out, unique, iid_is(riid)] IUnknown **ppDBSession, + [in] ULONG cTotalProps, + [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT DestroyDataSource(); + + [call_as(DestroyDataSource)] + HRESULT RemoteDestroyDataSource([out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT GetCreationProperties([in] ULONG cPropertyIDSets, + [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], + [in, out] ULONG *pcPropertyInfoSets, + [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets, + [out, annotation("__deref_out_z_opt")] OLECHAR **ppDescBuffer); + + [call_as(GetCreationProperties)] + HRESULT RemoteGetCreationProperties([in] ULONG cPropertyIDSets, + [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets, + [in, out] ULONG *pcPropertyInfoSets, + [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets, + [in, out] DBCOUNTITEM *pcOffsets, + [out, size_is(,(ULONG)*pcOffsets)] DBBYTEOFFSET **prgDescOffsets, + [in, out] ULONG *pcbDescBuffer, + [in, out, unique, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT ModifyDataSource([in] ULONG cPropertySets, + [in, size_is(cPropertySets)] DBPROPSET rgPropertySets[]); + + [call_as(ModifyDataSource)] + HRESULT RemoteModifyDataSource([in] ULONG cPropertySets, + [in, size_is(cPropertySets)] DBPROPSET *rgPropertySets, + [out] IErrorInfo **ppErrorInfoRem); +} diff --git a/reactos/include/psdk/dbprop.idl b/reactos/include/psdk/dbprop.idl index 5ed5301385f..782191a4554 100644 --- a/reactos/include/psdk/dbprop.idl +++ b/reactos/include/psdk/dbprop.idl @@ -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); diff --git a/reactos/include/psdk/dbs.idl b/reactos/include/psdk/dbs.idl index 19c2997b3ab..8ca2e2ae659 100644 --- a/reactos/include/psdk/dbs.idl +++ b/reactos/include/psdk/dbs.idl @@ -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; diff --git a/reactos/include/psdk/dimm.idl b/reactos/include/psdk/dimm.idl index 07e04b2e22f..851ec90cfd1 100644 --- a/reactos/include/psdk/dimm.idl +++ b/reactos/include/psdk/dimm.idl @@ -24,8 +24,6 @@ cpp_quote("#include ") cpp_quote("#if 0") -typedef WORD LANGID; - typedef struct { LPSTR lpReading; LPSTR lpWord; diff --git a/reactos/include/psdk/dispex.idl b/reactos/include/psdk/dispex.idl index b1759ddb890..6f1c5453a61 100644 --- a/reactos/include/psdk/dispex.idl +++ b/reactos/include/psdk/dispex.idl @@ -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); +} diff --git a/reactos/include/psdk/hlink.idl b/reactos/include/psdk/hlink.idl index 886acb36411..af3f8f5f683 100644 --- a/reactos/include/psdk/hlink.idl +++ b/reactos/include/psdk/hlink.idl @@ -151,7 +151,7 @@ interface IHlink: IUnknown } /***************************************************************************** - * IHlink interface + * IHlinkSite interface */ [ object, diff --git a/reactos/include/psdk/mlang.idl b/reactos/include/psdk/mlang.idl index c9d90cb4458..a5b1b473f20 100644 --- a/reactos/include/psdk/mlang.idl +++ b/reactos/include/psdk/mlang.idl @@ -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); } [ diff --git a/reactos/include/psdk/mscoree.idl b/reactos/include/psdk/mscoree.idl index aed31da4bdf..19749fbfba3 100644 --- a/reactos/include/psdk/mscoree.idl +++ b/reactos/include/psdk/mscoree.idl @@ -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; diff --git a/reactos/include/psdk/msctf.idl b/reactos/include/psdk/msctf.idl index e98df4d8e3c..fcb568e0a49 100644 --- a/reactos/include/psdk/msctf.idl +++ b/reactos/include/psdk/msctf.idl @@ -24,11 +24,6 @@ import "ctfutb.idl"; #endif cpp_quote("#include ") -/* 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)") diff --git a/reactos/include/psdk/objidl.idl b/reactos/include/psdk/objidl.idl index e54fb1c7446..70f93ab3179 100644 --- a/reactos/include/psdk/objidl.idl +++ b/reactos/include/psdk/objidl.idl @@ -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; diff --git a/reactos/include/psdk/oledb.idl b/reactos/include/psdk/oledb.idl index dd6b2181307..127df2b4906 100644 --- a/reactos/include/psdk/oledb.idl +++ b/reactos/include/psdk/oledb.idl @@ -15,14 +15,53 @@ * 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 ") +cpp_quote("#else") +cpp_quote("#include ") +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 ") +cpp_quote("") diff --git a/reactos/include/psdk/opnrst.idl b/reactos/include/psdk/opnrst.idl new file mode 100644 index 00000000000..e6b5237ee57 --- /dev/null +++ b/reactos/include/psdk/opnrst.idl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a69-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IOpenRowset : IUnknown +{ + [local] + HRESULT OpenRowset([in] IUnknown *pUnkOuter, + [in, unique] DBID *pTableID, + [in, unique] DBID *pIndexID, + [in] REFIID riid, + [in] ULONG cPropertySets, + [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[], + [out, iid_is(riid)] IUnknown **ppRowset); + + [call_as(OpenRowset)] + HRESULT RemoteOpenRowset([in] IUnknown *pUnkOuter, + [in, unique] DBID *pTableID, + [in, unique] DBID *pIndexID, + [in] REFIID riid, + [in] ULONG cPropertySets, + [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets, + [in, out, unique, iid_is(riid)] IUnknown **ppRowset, + [in] ULONG cTotalProps, + [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus, + [out] IErrorInfo **ppErrorInfoRem); + +} diff --git a/reactos/include/psdk/propidl.idl b/reactos/include/psdk/propidl.idl index be673943d9a..e2da625fb44 100644 --- a/reactos/include/psdk/propidl.idl +++ b/reactos/include/psdk/propidl.idl @@ -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 index 00000000000..59df27948a5 --- /dev/null +++ b/reactos/include/psdk/row.idl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + local, + object, + uuid(0c733ab4-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRow : IUnknown +{ + [local] + HRESULT GetColumns([in] DBORDINAL cColumns, + [in, out, size_is(cColumns), annotation("__inout_ecount(cColumns)")] DBCOLUMNACCESS rgColumns[]); + + + HRESULT GetSourceRowset([in, annotation("__in")] REFIID riid, + [out, iid_is(riid), annotation("__deref_opt_out_opt")] IUnknown **ppRowset, + [out, annotation("__out_opt")] HROW *phRow); + + HRESULT Open([in, unique, annotation("__in_opt")] IUnknown *pUnkOuter, + [in, annotation("__in")] DBID *pColumnID, + [in, annotation("__in")] REFGUID rguidColumnType, + [in] DWORD dwBindFlags, + [in, annotation("__in")] REFIID riid, + [out, iid_is(riid), annotation("__deref_opt_out")] IUnknown **ppUnk); +} diff --git a/reactos/include/psdk/rowchg.idl b/reactos/include/psdk/rowchg.idl new file mode 100644 index 00000000000..86c7ad49655 --- /dev/null +++ b/reactos/include/psdk/rowchg.idl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + local, + object, + uuid(0c733ab5-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowChange : IUnknown +{ + [local] + HRESULT SetColumns([in] DBORDINAL cColumns, + [in, out, size_is(cColumns), annotation("__in_ecount(cColumns)")] DBCOLUMNACCESS rgColumns[]); +} diff --git a/reactos/include/psdk/rstbas.idl b/reactos/include/psdk/rstbas.idl new file mode 100644 index 00000000000..d7859ed5085 --- /dev/null +++ b/reactos/include/psdk/rstbas.idl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + local, + object, + uuid(0c733a7c-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowset : IUnknown +{ + typedef DWORD DBROWOPTIONS; + + HRESULT AddRefRows([in] DBCOUNTITEM cRows, + [in, size_is(cRows)] const HROW rghRows[], + [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], + [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]); + + HRESULT GetData([in] HROW hRow, + [in] HACCESSOR hAccessor, + [out] void *pData); + + HRESULT GetNextRows([in] HCHAPTER hReserved, + [in] DBROWOFFSET lRowsOffset, + [in] DBROWCOUNT cRows, + [out] DBCOUNTITEM *pcRowObtained, + [out, size_is(,cRows)] HROW **prghRows); + + HRESULT ReleaseRows([in] DBCOUNTITEM cRows, + [in, size_is(cRows)] const HROW rghRows[], + [in, size_is(cRows)] DBROWOPTIONS rgRowOptions[], + [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], + [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]); + + HRESULT RestartPosition([in] HCHAPTER hReserved); +} diff --git a/reactos/include/psdk/rstinf.idl b/reactos/include/psdk/rstinf.idl new file mode 100644 index 00000000000..16d269377a0 --- /dev/null +++ b/reactos/include/psdk/rstinf.idl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a55-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetInfo : IUnknown +{ + [local] + HRESULT GetProperties([in] const ULONG cPropertyIDSets, + [in, size_is(cPropertyIDSets), annotation("__in_ecount_opt(cPropertyIDSets)")] const DBPROPIDSET rgPropertyIDSets[], + [in, out, annotation("__out")] ULONG *pcPropertySets, + [out, size_is(,*pcPropertySets), annotation("__deref_out_ecount_opt(*pcPropertySets)")] DBPROPSET **prgPropertySets); + + [call_as(GetProperties)] + HRESULT RemoteGetProperties([in] ULONG cPropertyIDSets, + [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets, + [in, out] ULONG *pcPropertySets, + [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets, + [out] IErrorInfo **ppErrorInfoRem); + + [local] + HRESULT GetReferencedRowset([in] DBORDINAL iOrdinal, + [in, annotation("__in")] REFIID riid, + [out, iid_is(riid), annotation("deref_out_opt")] IUnknown **ppReferencedRowset); + + [call_as(GetReferencedRowset)] + HRESULT RemoteGetReferencedRowset([in] DBORDINAL iOrdinal, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppReferencedRowset, + [out] IErrorInfo **ppErrorInfoRem); + [local] + HRESULT GetSpecification([in, annotation("__in")] REFIID riid, + [out, iid_is(riid), annotation("__deref_out_opt")] IUnknown **ppSpecification); + + [call_as(GetSpecification)] + HRESULT RemoteGetSpecification([in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppSpecification, + [out] IErrorInfo **ppErrorInfoRem); + +} diff --git a/reactos/include/psdk/rstloc.idl b/reactos/include/psdk/rstloc.idl new file mode 100644 index 00000000000..f579581c367 --- /dev/null +++ b/reactos/include/psdk/rstloc.idl @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + local, + object, + uuid(0c733a7d-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetLocate : IRowset +{ + typedef DWORD DBCOMPARE; + + enum DBCOMPAREENUM + { + DBCOMPARE_LT, + DBCOMPARE_EQ, + DBCOMPARE_GT, + DBCOMPARE_NE, + DBCOMPARE_NOTCOMPARABLE + }; + + HRESULT Compare([in] HCHAPTER hReserved, + [in] DBBKMARK cbBookmark1, + [in, size_is(cbBookmark1)] const BYTE *pBookmark1, + [in] DBBKMARK cbBookmark2, + [in, size_is(cbBookmark2)] const BYTE *pBookmark2, + [out] DBCOMPARE *pComparison); + + HRESULT GetRowsAt([in] HWATCHREGION hReserved1, + [in] HCHAPTER hReserved2, + [in] DBBKMARK cbBookmark, + [in, size_is(cbBookmark)] const BYTE *pBookmark, + [in] DBROWOFFSET lRowsOffset, + [in] DBROWCOUNT cRows, + [out] DBCOUNTITEM *pcRowsObtained, + [out, size_is(,cRows)] HROW **prghRows); + + HRESULT GetRowsByBookmark([in] HCHAPTER hReserved, + [in] DBCOUNTITEM cRows, + [in, size_is(cRows)] const DBBKMARK rgcbBookmarks[], + [in, size_is(cRows)] const BYTE *rgpBookmarks[], + [out, size_is(cRows)] HROW rghRows[], + [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]); + + HRESULT Hash([in] HCHAPTER hReserved, + [in] DBBKMARK cBookmarks, + [in, size_is(cBookmarks)] const DBBKMARK rgcbBookmarks[], + [in, size_is(cBookmarks)] const BYTE *rgpBookmarks[], + [out, size_is(cBookmarks)] DBHASHVALUE rgHashedValues[], + [out, size_is(cBookmarks)] DBROWSTATUS rgBookmarkStatus[]); +} diff --git a/reactos/include/psdk/sensevts.idl b/reactos/include/psdk/sensevts.idl index ec018a95c66..1ecb9f77f73 100644 --- a/reactos/include/psdk/sensevts.idl +++ b/reactos/include/psdk/sensevts.idl @@ -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 index 00000000000..d621be18a3a --- /dev/null +++ b/reactos/include/psdk/sesprp.idl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + object, + uuid(0c733a85-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface ISessionProperties : IUnknown +{ + [local] + HRESULT GetProperties([in] ULONG cPropertyIDSets, + [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], + [in, out] ULONG *pcPropertySets, + [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets); + + [call_as(GetProperties)] + HRESULT RemoteGetProperties([in] ULONG cPropertyIDSets, + [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets, + [in, out] ULONG *pcPropertySets, + [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets, + [out] IErrorInfo **ppErrorInfoRem); + + + [local] + HRESULT SetProperties([in] ULONG cPropertySets, + [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[]); + + [call_as(SetProperties)] + HRESULT RemoteSetProperties([in] ULONG cPropertySets, + [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets, + [in] ULONG cTotalProps, + [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus, + [out] IErrorInfo **ppErrorInfoRem); + +} diff --git a/reactos/include/psdk/shlobj.h b/reactos/include/psdk/shlobj.h index 3f12542304f..3db28371e6b 100644 --- a/reactos/include/psdk/shlobj.h +++ b/reactos/include/psdk/shlobj.h @@ -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 */ +#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 */ +/* DATAOBJECT_InitFileContents*/ +#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 +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_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) 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 */ - -/* DATAOBJECT_InitFileGroupDesc */ -#define CFSTR_FILEDESCRIPTORA "FileGroupDescriptor" /* CF_FILEGROUPDESCRIPTORA */ - -#define CFSTR_FILEDESCRIPTORW "FileGroupDescriptorW" /* CF_FILEGROUPDESCRIPTORW */ - -/* 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" -#else -#define CFSTR_FILENAME "FileName" -#define CFSTR_FILENAMEMAP "FileNameMap" -#define CFSTR_FILEDESCRIPTOR "FileGroupDescriptor" -#define CFSTR_SHELLURL "UniformResourceLocator" -#endif - -#define CFSTR_FILENAMEW "FileNameW" -#define CFSTR_FILENAMEA "FileName" -#define CFSTR_FILENAMEMAPA "FileNameMap" /* CF_FILENAMEMAPA */ -#define CFSTR_FILENAMEMAPW "FileNameMapW" /* CF_FILENAMEMAPW */ - -#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" - /************************************************************************ * 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 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 #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 */ diff --git a/reactos/include/psdk/shobjidl.idl b/reactos/include/psdk/shobjidl.idl index cd2320e7f08..221ab04d22c 100644 --- a/reactos/include/psdk/shobjidl.idl +++ b/reactos/include/psdk/shobjidl.idl @@ -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; diff --git a/reactos/include/psdk/shtypes.idl b/reactos/include/psdk/shtypes.idl index 3a922b83246..021d4671251 100644 --- a/reactos/include/psdk/shtypes.idl +++ b/reactos/include/psdk/shtypes.idl @@ -21,8 +21,6 @@ import "wtypes.idl"; - - cpp_quote("#include ") 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 ") -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 ") +cpp_quote("#include ") typedef struct _STRRET { UINT uType; /* STRRET_xxx */ @@ -124,3 +75,29 @@ typedef struct STRRET str; } SHELLDETAILS, *LPSHELLDETAILS; cpp_quote("#include ") + +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; diff --git a/reactos/include/psdk/tom.idl b/reactos/include/psdk/tom.idl index 669fbcf9e0c..35be7f70dbd 100644 --- a/reactos/include/psdk/tom.idl +++ b/reactos/include/psdk/tom.idl @@ -18,6 +18,10 @@ 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); } diff --git a/reactos/include/psdk/wtypes.idl b/reactos/include/psdk/wtypes.idl index 6a3f9a9109e..4a311ba5695 100644 --- a/reactos/include/psdk/wtypes.idl +++ b/reactos/include/psdk/wtypes.idl @@ -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") diff --git a/reactos/include/reactos/wine/wined3d.idl b/reactos/include/reactos/wine/wined3d.idl index 252c6e3aad9..6364f9cfe89 100644 --- a/reactos/include/reactos/wine/wined3d.idl +++ b/reactos/include/reactos/wine/wined3d.idl @@ -26,6 +26,7 @@ import "unknwn.idl"; cpp_quote("#if 0") +typedef HANDLE HMONITOR; typedef struct _RGNDATAHEADER {