[ros-diffs] [cwittich] 36374: sync msxml3 with wine 1.1.5

cwittich at svn.reactos.org cwittich at svn.reactos.org
Sun Sep 21 15:03:20 CEST 2008


Author: cwittich
Date: Sun Sep 21 08:03:20 2008
New Revision: 36374

URL: http://svn.reactos.org/svn/reactos?rev=36374&view=rev
Log:
sync msxml3 with wine 1.1.5

Modified:
    trunk/reactos/dll/win32/advapi32/service/scm.c
    trunk/reactos/dll/win32/msxml3/cdata.c
    trunk/reactos/dll/win32/msxml3/comment.c
    trunk/reactos/dll/win32/msxml3/queryresult.c
    trunk/reactos/dll/win32/msxml3/saxreader.c
    trunk/reactos/include/psdk/msxml2.idl

Modified: trunk/reactos/dll/win32/advapi32/service/scm.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service/scm.c?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -2124,6 +2124,29 @@
                            DWORD cbBufSize,
                            LPDWORD pcbBytesNeeded)
 {
+
+    SECURITY_DESCRIPTOR descriptor;
+    DWORD size;
+    BOOL succ;
+    ACL acl;
+
+    FIXME("%p %d %p %u %p - semi-stub\n", hService, dwSecurityInformation,
+          lpSecurityDescriptor, cbBufSize, pcbBytesNeeded);
+
+    if (dwSecurityInformation != DACL_SECURITY_INFORMATION)
+        FIXME("information %d not supported\n", dwSecurityInformation);
+
+    InitializeSecurityDescriptor(&descriptor, SECURITY_DESCRIPTOR_REVISION);
+
+    InitializeAcl(&acl, sizeof(ACL), ACL_REVISION);
+    SetSecurityDescriptorDacl(&descriptor, TRUE, &acl, TRUE);
+
+    size = cbBufSize;
+    succ = RtlMakeSelfRelativeSD(&descriptor, lpSecurityDescriptor, &size);
+    *pcbBytesNeeded = size;
+    return succ;
+
+#if 0
     DWORD dwError;
 
     TRACE("QueryServiceObjectSecurity(%p, %lu, %p)\n",
@@ -2155,6 +2178,7 @@
     }
 
     return TRUE;
+#endif
 }
 
 /**********************************************************************
@@ -2167,6 +2191,9 @@
                          SECURITY_INFORMATION dwSecurityInformation,
                          PSECURITY_DESCRIPTOR lpSecurityDescriptor)
 {
+	FIXME("%p %d %p\n", hService, dwSecurityInformation, lpSecurityDescriptor);
+    return TRUE;
+#if 0
     PSECURITY_DESCRIPTOR SelfRelativeSD = NULL;
     ULONG Length;
     NTSTATUS Status;
@@ -2226,6 +2253,7 @@
     }
 
     return TRUE;
+#endif
 }
 
 

Modified: trunk/reactos/dll/win32/msxml3/cdata.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/cdata.c?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/dll/win32/msxml3/cdata.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msxml3/cdata.c [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -59,6 +59,7 @@
     TRACE("%p %s %p\n", This, debugstr_guid(riid), ppvObject);
 
     if ( IsEqualGUID( riid, &IID_IXMLDOMCDATASection ) ||
+         IsEqualGUID( riid, &IID_IXMLDOMCharacterData) ||
          IsEqualGUID( riid, &IID_IDispatch ) ||
          IsEqualGUID( riid, &IID_IUnknown ) )
     {

Modified: trunk/reactos/dll/win32/msxml3/comment.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/comment.c?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/dll/win32/msxml3/comment.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msxml3/comment.c [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -59,6 +59,7 @@
     TRACE("%p %s %p\n", This, debugstr_guid(riid), ppvObject);
 
     if ( IsEqualGUID( riid, &IID_IXMLDOMComment ) ||
+         IsEqualGUID( riid, &IID_IXMLDOMCharacterData) ||
          IsEqualGUID( riid, &IID_IDispatch ) ||
          IsEqualGUID( riid, &IID_IUnknown ) )
     {

Modified: trunk/reactos/dll/win32/msxml3/queryresult.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/queryresult.c?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/dll/win32/msxml3/queryresult.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msxml3/queryresult.c [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -65,6 +65,8 @@
     return (queryresult *)((char*)iface - FIELD_OFFSET(queryresult, lpVtbl));
 }
 
+#define XMLQUERYRES(x)  ((IXMLDOMNodeList*)&(x)->lpVtbl)
+
 static HRESULT WINAPI queryresult_QueryInterface(
     IXMLDOMNodeList *iface,
     REFIID riid,
@@ -326,13 +328,28 @@
 {
     queryresult *This = impl_from_IXMLDOMNodeList( (IXMLDOMNodeList*)iface );
 
-    if(flags != DISPATCH_PROPERTYGET) {
-        FIXME("flags %x\n", flags);
-        return E_NOTIMPL;
-    }
+    TRACE("(%p)->(%x %x %x %p %p %p)\n", This, id, lcid, flags, params, res, ei);
 
     V_VT(res) = VT_DISPATCH;
-    V_DISPATCH(res) = (IDispatch*)create_node(This->result->nodesetval->nodeTab[This->resultPos]);
+    V_DISPATCH(res) = NULL;
+
+    switch(flags)
+    {
+        case INVOKE_PROPERTYGET:
+        {
+            IXMLDOMNode *disp = NULL;
+
+            queryresult_get_item(XMLQUERYRES(This), id - MSXML_DISPID_CUSTOM_MIN, &disp);
+            V_DISPATCH(res) = (IDispatch*)&disp;
+            break;
+        }
+        default:
+        {
+            FIXME("unimplemented flags %x\n", flags);
+            break;
+        }
+    }
+
     return S_OK;
 }
 

Modified: trunk/reactos/dll/win32/msxml3/saxreader.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/saxreader.c?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/dll/win32/msxml3/saxreader.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msxml3/saxreader.c [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -1680,6 +1680,57 @@
     return S_OK;
 }
 
+static HRESULT internal_parseStream(saxreader *This, IStream *stream, BOOL vbInterface)
+{
+    saxlocator *locator;
+    HRESULT hr;
+    ULONG dataRead;
+    char data[1024];
+
+    hr = IStream_Read(stream, data, sizeof(data), &dataRead);
+    if(hr != S_OK)
+        return hr;
+
+    hr = SAXLocator_create(This, &locator, vbInterface);
+    if(FAILED(hr))
+        return E_FAIL;
+
+    locator->pParserCtxt = xmlCreatePushParserCtxt(
+            &locator->saxreader->sax, locator,
+            data, dataRead, NULL);
+    if(!locator->pParserCtxt)
+    {
+        ISAXLocator_Release((ISAXLocator*)&locator->lpSAXLocatorVtbl);
+        return E_FAIL;
+    }
+
+    while(1)
+    {
+        hr = IStream_Read(stream, data, sizeof(data), &dataRead);
+        if(hr != S_OK)
+            break;
+
+        if(xmlParseChunk(locator->pParserCtxt, data, dataRead, 0)) hr = E_FAIL;
+        else hr = locator->ret;
+
+        if(hr != S_OK) break;
+
+        if(dataRead != sizeof(data))
+        {
+            if(xmlParseChunk(locator->pParserCtxt, data, 0, 1)) hr = E_FAIL;
+            else hr = locator->ret;
+
+            break;
+        }
+    }
+
+    locator->pParserCtxt->sax = NULL;
+    xmlFreeParserCtxt(locator->pParserCtxt);
+    locator->pParserCtxt = NULL;
+    ISAXLocator_Release((ISAXLocator*)&locator->lpSAXLocatorVtbl);
+    return hr;
+}
+
 static HRESULT WINAPI internal_getEntityResolver(
         saxreader *This,
         void *pEntityResolver,
@@ -1867,47 +1918,7 @@
             if(stream || IUnknown_QueryInterface(V_UNKNOWN(&varInput),
                         &IID_IStream, (void**)&stream) == S_OK)
             {
-                STATSTG dataInfo;
-                ULONG dataRead;
-                char *data;
-
-                while(1)
-                {
-                    hr = IStream_Stat(stream, &dataInfo, STATFLAG_NONAME);
-                    if(hr == E_PENDING) continue;
-                    break;
-                }
-                if(hr != S_OK)
-                {
-                    IStream_Release(stream);
-                    break;
-                }
-
-                data = HeapAlloc(GetProcessHeap(), 0,
-                        dataInfo.cbSize.QuadPart);
-                if(!data)
-                {
-                    IStream_Release(stream);
-                    break;
-                }
-
-                while(1)
-                {
-                    hr = IStream_Read(stream, data,
-                            dataInfo.cbSize.QuadPart, &dataRead);
-                    if(hr == E_PENDING) continue;
-                    break;
-                }
-                if(hr != S_OK)
-                {
-                    HeapFree(GetProcessHeap(), 0, data);
-                    IStream_Release(stream);
-                    break;
-                }
-
-                hr = internal_parseBuffer(This, data,
-                        dataInfo.cbSize.QuadPart, vbInterface);
-                HeapFree(GetProcessHeap(), 0, data);
+                hr = internal_parseStream(This, stream, vbInterface);
                 IStream_Release(stream);
                 break;
             }
@@ -2161,7 +2172,7 @@
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI saxxmlreader_getEntityResolver(
+static HRESULT WINAPI saxxmlreader_get_entityResolver(
     IVBSAXXMLReader* iface,
     IVBSAXEntityResolver **pEntityResolver)
 {
@@ -2169,7 +2180,7 @@
     return internal_getEntityResolver(This, pEntityResolver, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_putEntityResolver(
+static HRESULT WINAPI saxxmlreader_put_entityResolver(
     IVBSAXXMLReader* iface,
     IVBSAXEntityResolver *pEntityResolver)
 {
@@ -2177,7 +2188,7 @@
     return internal_putEntityResolver(This, pEntityResolver, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_getContentHandler(
+static HRESULT WINAPI saxxmlreader_get_contentHandler(
     IVBSAXXMLReader* iface,
     IVBSAXContentHandler **ppContentHandler)
 {
@@ -2185,7 +2196,7 @@
     return internal_getContentHandler(This, ppContentHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_putContentHandler(
+static HRESULT WINAPI saxxmlreader_put_contentHandler(
     IVBSAXXMLReader* iface,
     IVBSAXContentHandler *contentHandler)
 {
@@ -2193,7 +2204,7 @@
     return internal_putContentHandler(This, contentHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_getDTDHandler(
+static HRESULT WINAPI saxxmlreader_get_dtdHandler(
     IVBSAXXMLReader* iface,
     IVBSAXDTDHandler **pDTDHandler)
 {
@@ -2201,7 +2212,7 @@
     return internal_getDTDHandler(This, pDTDHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_putDTDHandler(
+static HRESULT WINAPI saxxmlreader_put_dtdHandler(
     IVBSAXXMLReader* iface,
     IVBSAXDTDHandler *pDTDHandler)
 {
@@ -2209,7 +2220,7 @@
     return internal_putDTDHandler(This, pDTDHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_getErrorHandler(
+static HRESULT WINAPI saxxmlreader_get_errorHandler(
     IVBSAXXMLReader* iface,
     IVBSAXErrorHandler **pErrorHandler)
 {
@@ -2217,7 +2228,7 @@
     return internal_getErrorHandler(This, pErrorHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_putErrorHandler(
+static HRESULT WINAPI saxxmlreader_put_errorHandler(
     IVBSAXXMLReader* iface,
     IVBSAXErrorHandler *errorHandler)
 {
@@ -2225,7 +2236,7 @@
     return internal_putErrorHandler(This, errorHandler, TRUE);
 }
 
-static HRESULT WINAPI saxxmlreader_getBaseURL(
+static HRESULT WINAPI saxxmlreader_get_baseURL(
     IVBSAXXMLReader* iface,
     const WCHAR **pBaseUrl)
 {
@@ -2235,7 +2246,7 @@
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI saxxmlreader_putBaseURL(
+static HRESULT WINAPI saxxmlreader_put_baseURL(
     IVBSAXXMLReader* iface,
     const WCHAR *pBaseUrl)
 {
@@ -2245,7 +2256,7 @@
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI saxxmlreader_getSecureBaseURL(
+static HRESULT WINAPI saxxmlreader_get_secureBaseURL(
     IVBSAXXMLReader* iface,
     const WCHAR **pSecureBaseUrl)
 {
@@ -2256,7 +2267,7 @@
 }
 
 
-static HRESULT WINAPI saxxmlreader_putSecureBaseURL(
+static HRESULT WINAPI saxxmlreader_put_secureBaseURL(
     IVBSAXXMLReader* iface,
     const WCHAR *secureBaseUrl)
 {
@@ -2295,18 +2306,18 @@
     saxxmlreader_putFeature,
     saxxmlreader_getProperty,
     saxxmlreader_putProperty,
-    saxxmlreader_getEntityResolver,
-    saxxmlreader_putEntityResolver,
-    saxxmlreader_getContentHandler,
-    saxxmlreader_putContentHandler,
-    saxxmlreader_getDTDHandler,
-    saxxmlreader_putDTDHandler,
-    saxxmlreader_getErrorHandler,
-    saxxmlreader_putErrorHandler,
-    saxxmlreader_getBaseURL,
-    saxxmlreader_putBaseURL,
-    saxxmlreader_getSecureBaseURL,
-    saxxmlreader_putSecureBaseURL,
+    saxxmlreader_get_entityResolver,
+    saxxmlreader_put_entityResolver,
+    saxxmlreader_get_contentHandler,
+    saxxmlreader_put_contentHandler,
+    saxxmlreader_get_dtdHandler,
+    saxxmlreader_put_dtdHandler,
+    saxxmlreader_get_errorHandler,
+    saxxmlreader_put_errorHandler,
+    saxxmlreader_get_baseURL,
+    saxxmlreader_put_baseURL,
+    saxxmlreader_get_secureBaseURL,
+    saxxmlreader_put_secureBaseURL,
     saxxmlreader_parse,
     saxxmlreader_parseURL
 };
@@ -2445,7 +2456,7 @@
         const WCHAR **pBaseUrl)
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
-    return IVBSAXXMLReader_get_getBaseURL(
+    return IVBSAXXMLReader_get_baseURL(
             (IVBSAXXMLReader*)&This->lpVBSAXXMLReaderVtbl,
             pBaseUrl);
 }
@@ -2455,7 +2466,7 @@
         const WCHAR *pBaseUrl)
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
-    return IVBSAXXMLReader_put_putBaseURL(
+    return IVBSAXXMLReader_put_baseURL(
             (IVBSAXXMLReader*)&This->lpVBSAXXMLReaderVtbl,
             pBaseUrl);
 }
@@ -2465,7 +2476,7 @@
         const WCHAR **pSecureBaseUrl)
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
-    return IVBSAXXMLReader_get_getSecureBaseURL(
+    return IVBSAXXMLReader_get_secureBaseURL(
             (IVBSAXXMLReader*)&This->lpVBSAXXMLReaderVtbl,
             pSecureBaseUrl);
 }
@@ -2475,7 +2486,7 @@
         const WCHAR *secureBaseUrl)
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
-    return IVBSAXXMLReader_put_putSecureBaseURL(
+    return IVBSAXXMLReader_put_secureBaseURL(
             (IVBSAXXMLReader*)&This->lpVBSAXXMLReaderVtbl,
             secureBaseUrl);
 }

Modified: trunk/reactos/include/psdk/msxml2.idl
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/msxml2.idl?rev=36374&r1=36373&r2=36374&view=diff
==============================================================================
--- trunk/reactos/include/psdk/msxml2.idl [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/msxml2.idl [iso-8859-1] Sun Sep 21 08:03:20 2008
@@ -1736,40 +1736,40 @@
     HRESULT putProperty( [in] const WCHAR * pProp, [in] VARIANT value);
 
     [propget, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)]
-    HRESULT getEntityResolver(
+    HRESULT entityResolver(
                     [out, retval] IVBSAXEntityResolver ** ppEntityResolver);
     [propputref, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)]
-    HRESULT putEntityResolver( [in] IVBSAXEntityResolver * pEntityResolver);
+    HRESULT entityResolver( [in] IVBSAXEntityResolver * pEntityResolver);
 
     [propget, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)]
-    HRESULT getContentHandler(
+    HRESULT contentHandler(
                         [out, retval] IVBSAXContentHandler ** pContentHandler);
     [propputref, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)]
-    HRESULT putContentHandler([in] IVBSAXContentHandler * contentHandler);
+    HRESULT contentHandler([in] IVBSAXContentHandler * contentHandler);
 
     [propget, id(DISPID_SAX_XMLREADER_DTDHANDLER)]
-    HRESULT getDTDHandler([out, retval] IVBSAXDTDHandler ** pDTDHandler);
+    HRESULT dtdHandler([out, retval] IVBSAXDTDHandler ** pDTDHandler);
     [propputref, id(DISPID_SAX_XMLREADER_DTDHANDLER)]
-    HRESULT putDTDHandler([in] IVBSAXDTDHandler * pDTDHandler);
+    HRESULT dtdHandler([in] IVBSAXDTDHandler * pDTDHandler);
 
     [propget, id(DISPID_SAX_XMLREADER_ERRORHANDLER)]
-    HRESULT getErrorHandler([out, retval] IVBSAXErrorHandler ** pErrorHandler);
+    HRESULT errorHandler([out, retval] IVBSAXErrorHandler ** pErrorHandler);
     [propputref, id(DISPID_SAX_XMLREADER_ERRORHANDLER)]
-    HRESULT putErrorHandler([in] IVBSAXErrorHandler * errorHandler);
+    HRESULT errorHandler([in] IVBSAXErrorHandler * errorHandler);
 
     [propget, id(DISPID_SAX_XMLREADER_BASEURL)]
-    HRESULT getBaseURL([out, retval] const WCHAR ** pBaseUrl);
+    HRESULT baseURL([out, retval] const WCHAR ** pBaseUrl);
     [propput, id(DISPID_SAX_XMLREADER_BASEURL)]
-    HRESULT putBaseURL([in] const WCHAR * pBaseUrl);
+    HRESULT baseURL([in] const WCHAR * pBaseUrl);
 
     [propget, id(DISPID_SAX_XMLREADER_SECUREBASEURL)]
-    HRESULT getSecureBaseURL([out, retval] const WCHAR ** pSecureBaseUrl);
+    HRESULT secureBaseURL([out, retval] const WCHAR ** pSecureBaseUrl);
     [propput, id(DISPID_SAX_XMLREADER_SECUREBASEURL)]
-    HRESULT putSecureBaseURL([in] const WCHAR * secureBaseUrl);
-
-    [propget, id(DISPID_SAX_XMLREADER_PARSE)]
+    HRESULT secureBaseURL([in] const WCHAR * secureBaseUrl);
+
+    [id(DISPID_SAX_XMLREADER_PARSE)]
     HRESULT parse( [in] VARIANT varInput);
-    [propput, id(DISPID_SAX_XMLREADER_PARSE)]
+    [id(DISPID_SAX_XMLREADER_PARSEURL)]
     HRESULT parseURL([in] const WCHAR * url);
 }
 



More information about the Ros-diffs mailing list