Author: dchapyshev
Date: Mon Sep 8 08:48:25 2008
New Revision: 36054
URL:
http://svn.reactos.org/svn/reactos?rev=36054&view=rev
Log:
- Import pstorec from wine head
Added:
trunk/reactos/dll/win32/pstorec/ (with props)
trunk/reactos/dll/win32/pstorec/pstorec.c (with props)
trunk/reactos/dll/win32/pstorec/pstorec.rbuild (with props)
trunk/reactos/dll/win32/pstorec/pstorec.spec (with props)
Modified:
trunk/reactos/boot/bootdata/packages/reactos.dff
trunk/reactos/dll/win32/win32.rbuild
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/rea…
==============================================================================
--- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Mon Sep 8 08:48:25
2008
@@ -307,6 +307,7 @@
dll\win32\powrprof\powrprof.dll 1
dll\win32\printui\printui.dll 1
dll\win32\psapi\psapi.dll 1
+dll\win32\pstorec\pstorec.dll 1
dll\win32\rasapi32\rasapi32.dll 1
dll\win32\rasdlg\rasdlg.dll 1
dll\win32\rasman\rasman.dll 1
Propchange: trunk/reactos/dll/win32/pstorec/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Mon Sep 8 08:48:25 2008
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)
Propchange: trunk/reactos/dll/win32/pstorec/
------------------------------------------------------------------------------
bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/reactos/dll/win32/pstorec/
------------------------------------------------------------------------------
bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/dll/win32/pstorec/
------------------------------------------------------------------------------
tsvn:logminsize = 10
Added: trunk/reactos/dll/win32/pstorec/pstorec.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/pstorec/pstorec.…
==============================================================================
--- trunk/reactos/dll/win32/pstorec/pstorec.c (added)
+++ trunk/reactos/dll/win32/pstorec/pstorec.c [iso-8859-1] Mon Sep 8 08:48:25 2008
@@ -1,0 +1,395 @@
+/*
+ * Protected Storage (pstores)
+ *
+ * Copyright 2004 Mike McCormack for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#define COBJMACROS
+#include "windef.h"
+#include "winbase.h"
+#include "winuser.h"
+#include "ole2.h"
+#include "pstore.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(pstores);
+
+typedef struct
+{
+ const IPStoreVtbl *lpVtbl;
+ LONG ref;
+} PStore_impl;
+
+BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
+{
+ TRACE("%p %x %p\n", hinst, fdwReason, fImpLoad);
+
+ switch (fdwReason)
+ {
+ case DLL_WINE_PREATTACH:
+ return FALSE; /* prefer native version */
+ case DLL_PROCESS_ATTACH:
+ DisableThreadLibraryCalls(hinst);
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+
+/**************************************************************************
+ * IPStore->QueryInterface
+ */
+static HRESULT WINAPI PStore_fnQueryInterface(
+ IPStore* iface,
+ REFIID riid,
+ LPVOID *ppvObj)
+{
+ PStore_impl *This = (PStore_impl *)iface;
+
+ TRACE("%p %s\n",This,debugstr_guid(riid));
+
+ *ppvObj = NULL;
+
+ if (IsEqualIID(riid, &IID_IUnknown))
+ {
+ *ppvObj = This;
+ }
+
+ if (*ppvObj)
+ {
+ IUnknown_AddRef((IUnknown*)(*ppvObj));
+ return S_OK;
+ }
+ TRACE("-- Interface: E_NOINTERFACE\n");
+ return E_NOINTERFACE;
+}
+
+/******************************************************************************
+ * IPStore->AddRef
+ */
+static ULONG WINAPI PStore_fnAddRef(IPStore* iface)
+{
+ PStore_impl *This = (PStore_impl *)iface;
+
+ TRACE("%p %u\n", This, This->ref);
+
+ return InterlockedIncrement( &This->ref );
+}
+
+/******************************************************************************
+ * IPStore->Release
+ */
+static ULONG WINAPI PStore_fnRelease(IPStore* iface)
+{
+ PStore_impl *This = (PStore_impl *)iface;
+ LONG ref;
+
+ TRACE("%p %u\n", This, This->ref);
+
+ ref = InterlockedDecrement( &This->ref );
+ if( !ref )
+ HeapFree( GetProcessHeap(), 0, This );
+
+ return ref;
+}
+
+/******************************************************************************
+ * IPStore->GetInfo
+ */
+static HRESULT WINAPI PStore_fnGetInfo( IPStore* iface, PPST_PROVIDERINFO* ppProperties)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->GetProvParam
+ */
+static HRESULT WINAPI PStore_fnGetProvParam( IPStore* iface,
+ DWORD dwParam, DWORD* pcbData, BYTE** ppbData, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->SetProvParam
+ */
+static HRESULT WINAPI PStore_fnSetProvParam( IPStore* This,
+ DWORD dwParam, DWORD cbData, BYTE* pbData, DWORD* dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->CreateType
+ */
+static HRESULT WINAPI PStore_fnCreateType( IPStore* This,
+ PST_KEY Key, const GUID* pType, PPST_TYPEINFO pInfo, DWORD dwFlags)
+{
+ FIXME("%p %08x %s %p(%d,%s) %08x\n", This, Key, debugstr_guid(pType),
+ pInfo, pInfo->cbSize, debugstr_w(pInfo->szDisplayName), dwFlags);
+
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->GetTypeInfo
+ */
+static HRESULT WINAPI PStore_fnGetTypeInfo( IPStore* This,
+ PST_KEY Key, const GUID* pType, PPST_TYPEINFO** ppInfo, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->DeleteType
+ */
+static HRESULT WINAPI PStore_fnDeleteType( IPStore* This,
+ PST_KEY Key, const GUID* pType, DWORD dwFlags)
+{
+ FIXME("%p %d %s %08x\n", This, Key, debugstr_guid(pType), dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->CreateSubtype
+ */
+static HRESULT WINAPI PStore_fnCreateSubtype( IPStore* This,
+ PST_KEY Key, const GUID* pType, const GUID* pSubtype,
+ PPST_TYPEINFO pInfo, PPST_ACCESSRULESET pRules, DWORD dwFlags)
+{
+ FIXME("%p %08x %s %s %p %p %08x\n", This, Key, debugstr_guid(pType),
+ debugstr_guid(pSubtype), pInfo, pRules, dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->GetSubtypeInfo
+ */
+static HRESULT WINAPI PStore_fnGetSubtypeInfo( IPStore* This,
+ PST_KEY Key, const GUID* pType, const GUID* pSubtype,
+ PPST_TYPEINFO** ppInfo, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->DeleteSubtype
+ */
+static HRESULT WINAPI PStore_fnDeleteSubtype( IPStore* This,
+ PST_KEY Key, const GUID* pType, const GUID* pSubtype, DWORD dwFlags)
+{
+ FIXME("%p %u %s %s %08x\n", This, Key,
+ debugstr_guid(pType), debugstr_guid(pSubtype), dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->ReadAccessRuleset
+ */
+static HRESULT WINAPI PStore_fnReadAccessRuleset( IPStore* This,
+ PST_KEY Key, const GUID* pType, const GUID* pSubtype, PPST_TYPEINFO pInfo,
+ PPST_ACCESSRULESET** ppRules, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->WriteAccessRuleSet
+ */
+static HRESULT WINAPI PStore_fnWriteAccessRuleset( IPStore* This,
+ PST_KEY Key, const GUID* pType, const GUID* pSubtype,
+ PPST_TYPEINFO pInfo, PPST_ACCESSRULESET pRules, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->EnumTypes
+ */
+static HRESULT WINAPI PStore_fnEnumTypes( IPStore* This, PST_KEY Key,
+ DWORD dwFlags, IEnumPStoreTypes** ppenum)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->EnumSubtypes
+ */
+static HRESULT WINAPI PStore_fnEnumSubtypes( IPStore* This, PST_KEY Key,
+ const GUID* pType, DWORD dwFlags, IEnumPStoreTypes** ppenum)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->DeleteItem
+ */
+static HRESULT WINAPI PStore_fnDeleteItem( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubType, LPCWSTR szItemName,
+ PPST_PROMPTINFO pPromptInfo, DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->ReadItem
+ */
+static HRESULT WINAPI PStore_fnReadItem( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName,
+ DWORD *cbData, BYTE** pbData, PPST_PROMPTINFO pPromptInfo, DWORD dwFlags)
+{
+ FIXME("%p %08x %s %s %s %p %p %p %08x\n", This, Key,
+ debugstr_guid(pItemType), debugstr_guid(pItemSubtype),
+ debugstr_w(szItemName), cbData, pbData, pPromptInfo, dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->WriteItem
+ */
+static HRESULT WINAPI PStore_fnWriteItem( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName,
+ DWORD cbData, BYTE* ppbData, PPST_PROMPTINFO pPromptInfo,
+ DWORD dwDefaultConfirmationStyle, DWORD dwFlags)
+{
+ FIXME("%p %08x %s %s %s %d %p %p %08x\n", This, Key,
+ debugstr_guid(pItemType), debugstr_guid(pItemSubtype),
+ debugstr_w(szItemName), cbData, ppbData, pPromptInfo, dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->OpenItem
+ */
+static HRESULT WINAPI PStore_fnOpenItem( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName,
+ PST_ACCESSMODE ModeFlags, PPST_PROMPTINFO pProomptInfo, DWORD dwFlags )
+{
+ FIXME("%p %08x %s %s %p %08x %p %08x\n", This, Key,
+ debugstr_guid(pItemType), debugstr_guid(pItemSubtype),
+ debugstr_w(szItemName), ModeFlags, pProomptInfo, dwFlags);
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->CloseItem
+ */
+static HRESULT WINAPI PStore_fnCloseItem( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR* szItemName,
+ DWORD dwFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+/******************************************************************************
+ * IPStore->EnumItems
+ */
+static HRESULT WINAPI PStore_fnEnumItems( IPStore* This, PST_KEY Key,
+ const GUID* pItemType, const GUID* pItemSubtype, DWORD dwFlags,
+ IEnumPStoreItems** ppenum)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+
+static const IPStoreVtbl pstores_vtbl =
+{
+ PStore_fnQueryInterface,
+ PStore_fnAddRef,
+ PStore_fnRelease,
+ PStore_fnGetInfo,
+ PStore_fnGetProvParam,
+ PStore_fnSetProvParam,
+ PStore_fnCreateType,
+ PStore_fnGetTypeInfo,
+ PStore_fnDeleteType,
+ PStore_fnCreateSubtype,
+ PStore_fnGetSubtypeInfo,
+ PStore_fnDeleteSubtype,
+ PStore_fnReadAccessRuleset,
+ PStore_fnWriteAccessRuleset,
+ PStore_fnEnumTypes,
+ PStore_fnEnumSubtypes,
+ PStore_fnDeleteItem,
+ PStore_fnReadItem,
+ PStore_fnWriteItem,
+ PStore_fnOpenItem,
+ PStore_fnCloseItem,
+ PStore_fnEnumItems
+};
+
+HRESULT WINAPI PStoreCreateInstance( IPStore** ppProvider,
+ PST_PROVIDERID* pProviderID, void* pReserved, DWORD dwFlags)
+{
+ PStore_impl *ips;
+
+ TRACE("%p %s %p %08x\n", ppProvider, debugstr_guid(pProviderID), pReserved,
dwFlags);
+
+ ips = HeapAlloc( GetProcessHeap(), 0, sizeof (PStore_impl) );
+ if( !ips )
+ return E_OUTOFMEMORY;
+
+ ips->lpVtbl = &pstores_vtbl;
+ ips->ref = 1;
+
+ *ppProvider = (IPStore*) ips;
+
+ return S_OK;
+}
+
+HRESULT WINAPI DllRegisterServer(void)
+{
+ FIXME("\n");
+ return S_OK;
+}
+
+HRESULT WINAPI DllUnregisterServer(void)
+{
+ FIXME("\n");
+ return S_OK;
+}
+
+/***********************************************************************
+ * DllGetClassObject (PSTOREC.@)
+ */
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
+{
+ FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
+ return CLASS_E_CLASSNOTAVAILABLE;
+}
+
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+ FIXME("\n");
+ return S_OK;
+}
Propchange: trunk/reactos/dll/win32/pstorec/pstorec.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/pstorec/pstorec.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/pstorec/pstorec.…
==============================================================================
--- trunk/reactos/dll/win32/pstorec/pstorec.rbuild (added)
+++ trunk/reactos/dll/win32/pstorec/pstorec.rbuild [iso-8859-1] Mon Sep 8 08:48:25 2008
@@ -1,0 +1,9 @@
+<module name="pstorec" type="win32dll"
baseaddress="${BASEADDRESS_PSTOREC}" installbase="system32"
installname="pstorec.dll">
+ <importlibrary definition="pstorec.spec.def" />
+ <include base="pstorec">.</include>
+ <library>wine</library>
+ <library>kernel32</library>
+ <library>uuid</library>
+ <file>pstorec.c</file>
+ <file>pstorec.spec</file>
+</module>
Propchange: trunk/reactos/dll/win32/pstorec/pstorec.rbuild
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/pstorec/pstorec.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/pstorec/pstorec.…
==============================================================================
--- trunk/reactos/dll/win32/pstorec/pstorec.spec (added)
+++ trunk/reactos/dll/win32/pstorec/pstorec.spec [iso-8859-1] Mon Sep 8 08:48:25 2008
@@ -1,0 +1,7 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
+@ stub GetPStoreProvider
+@ stdcall PStoreCreateInstance(ptr ptr ptr long)
+@ stub PStoreEnumProviders
Propchange: trunk/reactos/dll/win32/pstorec/pstorec.spec
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/dll/win32/win32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/win32.rbuild?rev…
==============================================================================
--- trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] Mon Sep 8 08:48:25 2008
@@ -253,6 +253,9 @@
<directory name="psapi">
<xi:include href="psapi/psapi.rbuild" />
</directory>
+<directory name="pstorec">
+ <xi:include href="pstorec/pstorec.rbuild" />
+</directory>
<directory name="rasapi32">
<xi:include href="rasapi32/rasapi32.rbuild" />
</directory>
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Mon Sep 8 08:48:25 2008
@@ -82,6 +82,7 @@
reactos/dll/win32/pdh # Autosync
reactos/dll/win32/powrprof # Forked at Wine-1.0rc5
reactos/dll/win32/printui # Autosync
+reactos/dll/win32/pstorec # Autosync
reactos/dll/win32/rasapi32 # Autosync
reactos/dll/win32/riched20 # Autosync
reactos/dll/win32/riched32 # Autosync