diff --git a/reactos/include/dxsdk/amstream.idl b/reactos/include/dxsdk/amstream.idl
index 1433f7a5102..f7aea7cbd99 100644
--- a/reactos/include/dxsdk/amstream.idl
+++ b/reactos/include/dxsdk/amstream.idl
@@ -317,3 +317,4 @@ cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x
cpp_quote("DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
cpp_quote("DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
+cpp_quote("DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
diff --git a/reactos/include/dxsdk/ddstream.idl b/reactos/include/dxsdk/ddstream.idl
index 947e2bcde4f..e2ad4667f43 100644
--- a/reactos/include/dxsdk/ddstream.idl
+++ b/reactos/include/dxsdk/ddstream.idl
@@ -19,7 +19,7 @@
import "unknwn.idl";
import "mmstream.idl";
-cpp_quote("#ifndef __WINE_DDRAW_H")
+cpp_quote("#ifndef __DDRAW_INCLUDED__")
typedef void * LPDDSURFACEDESC;
typedef struct tDDSURFACEDESC DDSURFACEDESC;
interface IDirectDraw;
diff --git a/reactos/include/psdk/mscoree.idl b/reactos/include/psdk/mscoree.idl
index 5877eb6650c..aed31da4bdf 100644
--- a/reactos/include/psdk/mscoree.idl
+++ b/reactos/include/psdk/mscoree.idl
@@ -27,6 +27,8 @@ 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("typedef HRESULT (__stdcall *FLockClrVersionCallback)();")
+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 6a488cb4719..5c64a715ce3 100644
--- a/reactos/include/psdk/msctf.idl
+++ b/reactos/include/psdk/msctf.idl
@@ -476,3 +476,42 @@ interface IEnumTfLanguageProfiles : IUnknown
HRESULT Skip(
[in] ULONG ulCount);
};
+
+[
+ object,
+ local,
+ uuid(aa80e7f7-2021-11d2-93e0-0060b067b86e),
+ pointer_default(unique)
+]
+interface ITfTextInputProcessor : IUnknown
+{
+ HRESULT Activate(
+ [in] ITfThreadMgr *ptim,
+ [in] TfClientId tid);
+
+ HRESULT Deactivate();
+};
+
+[
+ object,
+ uuid(aa80e80e-2021-11d2-93e0-0060b067b86e),
+ pointer_default(unique)
+]
+interface ITfThreadMgrEventSink : IUnknown
+{
+ HRESULT OnInitDocumentMgr(
+ [in] ITfDocumentMgr *pdim);
+
+ HRESULT OnUninitDocumentMgr(
+ [in] ITfDocumentMgr *pdim);
+
+ HRESULT OnSetFocus(
+ [in] ITfDocumentMgr *pdimFocus,
+ [in] ITfDocumentMgr *pdimPrevFocus);
+
+ HRESULT OnPushContext(
+ [in] ITfContext *pic);
+
+ HRESULT OnPopContext(
+ [in] ITfContext *pic);
+};
diff --git a/reactos/include/psdk/perhist.idl b/reactos/include/psdk/perhist.idl
new file mode 100644
index 00000000000..d8cc531b1ad
--- /dev/null
+++ b/reactos/include/psdk/perhist.idl
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2009 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "objidl.idl";
+import "oleidl.idl";
+
+[
+ object,
+ uuid(91A565C1-E38F-11d0-94BF-00A0C9055CBF),
+ pointer_default(unique)
+]
+interface IPersistHistory : IPersist
+{
+ typedef [unique] IPersistHistory *LPPERSISTHISTORY;
+
+ HRESULT LoadHistory([in] IStream *pStream, [in] IBindCtx *pbc);
+
+ HRESULT SaveHistory([in] IStream *pStream);
+
+ HRESULT SetPositionCookie([in] DWORD dwPositioncookie);
+
+ HRESULT GetPositionCookie([out] DWORD *pdwPositioncookie);
+}
diff --git a/reactos/include/psdk/psdk.rbuild b/reactos/include/psdk/psdk.rbuild
index 9a626919028..3994f20786d 100644
--- a/reactos/include/psdk/psdk.rbuild
+++ b/reactos/include/psdk/psdk.rbuild
@@ -35,6 +35,7 @@
oledb.idl
oleidl.idl
optary.idl
+ perhist.idl
propidl.idl
pstore.idl
richole.idl