[PSDK] Add missing ICurrentWorkingDirectory definition. CORE-9281
authorMark Jansen <mark.jansen@reactos.org>
Sun, 15 May 2016 10:31:15 +0000 (10:31 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sun, 15 May 2016 10:31:15 +0000 (10:31 +0000)
svn path=/trunk/; revision=71333

reactos/sdk/include/psdk/shlguid.h
reactos/sdk/include/psdk/shlobj.h

index e8efc9a..151371b 100644 (file)
@@ -84,6 +84,7 @@ DEFINE_OLEGUID(IID_IQueryInfo,          0x00021500, 0, 0);
 DEFINE_GUID(IID_IACList,   0x77A130B0,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
 DEFINE_GUID(IID_IACList2,  0x470141A0,0x5186,0x11D2,0xBB,0xB6,0x00,0x60,0x97,0x7B,0x46,0x4C);
 DEFINE_GUID(IID_IObjMgr,   0x00BB2761,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
+DEFINE_GUID(IID_ICurrentWorkingDirectory,   0x91956D21,0x9276,0x11D1,0x92,0x1A,0x00,0x60,0x97,0xDF,0x5B,0xD4);
 
 DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4);
 #define SID_SProgressUI CLSID_ProgressDialog
index 5e9b98f..33f73fa 100644 (file)
@@ -644,6 +644,30 @@ DECLARE_INTERFACE_(IObjMgr,IUnknown)
 #define IObjMgr_Remove(p,a) (p)->lpVtbl->Remove(p,a)
 #endif
 
+/* ICurrentWorkingDirectory interface */
+#define INTERFACE ICurrentWorkingDirectory
+DECLARE_INTERFACE_(ICurrentWorkingDirectory,IUnknown)
+{
+    /*** IUnknown methods ***/
+    STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
+    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+    STDMETHOD_(ULONG,Release) (THIS) PURE;
+    /*** ICurrentWorkingDirectory methods ***/
+    STDMETHOD(GetDirectory)(THIS_ _Out_writes_(cchSize) PWSTR pwzPath, DWORD cchSize);
+    STDMETHOD(SetDirectory)(THIS_ _In_ PCWSTR pwzPath) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define ICurrentWorkingDirectory_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
+#define ICurrentWorkingDirectory_AddRef(p)              (p)->lpVtbl->AddRef(p)
+#define ICurrentWorkingDirectory_Release(p)             (p)->lpVtbl->Release(p)
+/*** ICurrentWorkingDirectory methods ***/
+#define ICurrentWorkingDirectory_GetDirectory(p,a,b)    (p)->lpVtbl->GetDirectory(p,a,b)
+#define ICurrentWorkingDirectory_SetDirectory(p,a)      (p)->lpVtbl->SetDirectory(p,a)
+#endif
+
 /* IACList interface */
 #define INTERFACE IACList
 DECLARE_INTERFACE_(IACList,IUnknown)