Jacek Caban : mshtml: Added AboutProtocolInfo::QueryInfo implementation.
Alexandre Julliard
julliard at winehq.org
Fri Dec 28 07:38:42 CST 2007
Module: wine
Branch: master
Commit: 8a87ea5b6ae11b184b16d1c67ec60c4e4d4f0c64
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8a87ea5b6ae11b184b16d1c67ec60c4e4d4f0c64
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Dec 28 01:58:41 2007 +0100
mshtml: Added AboutProtocolInfo::QueryInfo implementation.
---
dlls/mshtml/protocol.c | 42 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c
index e70e78e..ba70d74 100644
--- a/dlls/mshtml/protocol.c
+++ b/dlls/mshtml/protocol.c
@@ -251,6 +251,8 @@ static HRESULT WINAPI AboutProtocol_Start(IInternetProtocol *iface, LPCWSTR szUr
IInternetBindInfo_GetBindInfo(pOIBindInfo, &grfBINDF, &bindinfo);
ReleaseBindInfo(&bindinfo);
+ TRACE("bindf %x\n", grfBINDF);
+
if(strlenW(szUrl)>=sizeof(wszAbout)/sizeof(WCHAR) && !memcmp(wszAbout, szUrl, sizeof(wszAbout))) {
text = szUrl + sizeof(wszAbout)/sizeof(WCHAR);
if(!strcmpW(wszBlank, text))
@@ -449,9 +451,43 @@ static HRESULT WINAPI AboutProtocolInfo_QueryInfo(IInternetProtocolInfo *iface,
QUERYOPTION QueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD* pcbBuf,
DWORD dwReserved)
{
- FIXME("%p)->(%s %08x %08x %p %d %p %d)\n", iface, debugstr_w(pwzUrl), QueryOption, dwQueryFlags, pBuffer,
- cbBuffer, pcbBuf, dwReserved);
- return E_NOTIMPL;
+ TRACE("%p)->(%s %08x %08x %p %d %p %d)\n", iface, debugstr_w(pwzUrl), QueryOption, dwQueryFlags, pBuffer,
+ cbBuffer, pcbBuf, dwReserved);
+
+ switch(QueryOption) {
+ case QUERY_CAN_NAVIGATE:
+ return INET_E_USE_DEFAULT_PROTOCOLHANDLER;
+
+ case QUERY_USES_NETWORK:
+ if(!pBuffer || cbBuffer < sizeof(DWORD))
+ return E_FAIL;
+
+ *(DWORD*)pBuffer = 0;
+ if(pcbBuf)
+ *pcbBuf = sizeof(DWORD);
+
+ break;
+
+ case QUERY_IS_CACHED:
+ FIXME("Unsupported option QUERY_IS_CACHED\n");
+ return E_NOTIMPL;
+ case QUERY_IS_INSTALLEDENTRY:
+ FIXME("Unsupported option QUERY_IS_INSTALLEDENTRY\n");
+ return E_NOTIMPL;
+ case QUERY_IS_CACHED_OR_MAPPED:
+ FIXME("Unsupported option QUERY_IS_CACHED_OR_MAPPED\n");
+ return E_NOTIMPL;
+ case QUERY_IS_SECURE:
+ FIXME("Unsupported option QUERY_IS_SECURE\n");
+ return E_NOTIMPL;
+ case QUERY_IS_SAFE:
+ FIXME("Unsupported option QUERY_IS_SAFE\n");
+ return E_NOTIMPL;
+ default:
+ return E_FAIL;
+ }
+
+ return S_OK;
}
static const IInternetProtocolInfoVtbl AboutProtocolInfoVtbl = {
More information about the wine-cvs
mailing list