#endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */
+typedef struct _tagSOFTDISTINFO {
+ ULONG cbSize;
+ DWORD dwFlags;
+ DWORD dwAdState;
+ LPWSTR szTitle;
+ LPWSTR szAbstract;
+ LPWSTR szHREF;
+ DWORD dwInstalledVersionMS;
+ DWORD dwInstalledVersionLS;
+ DWORD dwUpdateVersionMS;
+ DWORD dwUpdateVersionLS;
+ DWORD dwAdvertisedVersionMS;
+ DWORD dwAdvertisedVersionLS;
+ DWORD dwReserved;
+} SOFTDISTINFO, *LPSOFTDISTINFO;
+
DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);
DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);
DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
*/
typedef struct SecManagerImpl{
- IInternetSecurityManagerVtbl* lpvtbl1; /* VTable relative to the IInternetSecurityManager interface.*/
+ const IInternetSecurityManagerVtbl* lpvtbl1; /* VTable relative to the IInternetSecurityManager interface.*/
ULONG ref; /* reference counter for this object */
return E_NOTIMPL;
}
-static IInternetSecurityManagerVtbl VT_SecManagerImpl =
+static const IInternetSecurityManagerVtbl VT_SecManagerImpl =
{
SecManagerImpl_QueryInterface,
SecManagerImpl_AddRef,
*
*/
typedef struct {
- IInternetZoneManagerVtbl* lpVtbl;
+ const IInternetZoneManagerVtbl* lpVtbl;
ULONG ref;
} ZoneMgrImpl;
/********************************************************************
* IInternetZoneManager_Construct
*/
-static IInternetZoneManagerVtbl ZoneMgrImplVtbl = {
+static const IInternetZoneManagerVtbl ZoneMgrImplVtbl = {
ZoneMgrImpl_QueryInterface,
ZoneMgrImpl_AddRef,
ZoneMgrImpl_Release,
/*static BOOL registered_wndclass = FALSE;*/
typedef struct {
- IBindingVtbl *lpVtbl;
+ const IBindingVtbl *lpVtbl;
ULONG ref;
This->pbscb = 0;
}
-static IBindingVtbl BindingVtbl =
+static const IBindingVtbl BindingVtbl =
{
Binding_QueryInterface,
Binding_AddRef,
/* filemoniker data structure */
typedef struct {
- IMonikerVtbl* lpvtbl; /* VTable relative to the IMoniker interface.*/
+ const IMonikerVtbl* lpvtbl; /* VTable relative to the IMoniker interface.*/
ULONG ref; /* reference counter for this object */
/********************************************************************************/
/* Virtual function table for the URLMonikerImpl class which include IPersist,*/
/* IPersistStream and IMoniker functions. */
-static IMonikerVtbl VT_URLMonikerImpl =
+static const IMonikerVtbl VT_URLMonikerImpl =
{
URLMonikerImpl_QueryInterface,
URLMonikerImpl_AddRef,
return HlinkSimpleNavigateToString(
szTarget, NULL, NULL, pUnk, NULL, NULL, 0, 0 );
}
+
+/***********************************************************************
+ * GetSoftwareUpdateInfo (URLMON.@)
+ */
+HRESULT WINAPI GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi )
+{
+ FIXME("%s %p\n", debugstr_w(szDistUnit), psdi );
+ return E_FAIL;
+}
@ stub GetClassURL\r
@ stub GetComponentIDFromCLSSPEC\r
@ stub GetMarkOfTheWeb\r
-@ stub GetSoftwareUpdateInfo\r
+@ stdcall GetSoftwareUpdateInfo(ptr ptr)\r
@ stub HlinkGoBack\r
@ stub HlinkGoForward\r
@ stub HlinkNavigateMoniker\r
return S_OK;
}
-static IClassFactoryVtbl CF_Vtbl =
+static const IClassFactoryVtbl CF_Vtbl =
{
CF_QueryInterface,
CF_AddRef,
/**************************************************************************
* UrlMkSetSessionOption (URLMON.@)
*/
-HRESULT WINAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID *pBuffer, DWORD dwBufferLength,
+HRESULT WINAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength,
DWORD Reserved)
{
FIXME("(%#lx, %p, %#lx): stub\n", dwOption, pBuffer, dwBufferLength);
/**************************************************************************
* UrlMkGetSessionOption (URLMON.@)
*/
-HRESULT WINAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID *pBuffer, DWORD dwBufferLength,
+HRESULT WINAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength,
DWORD* pdwBufferLength, DWORD dwReserved)
{
FIXME("(%#lx, %p, %#lx, %p): stub\n", dwOption, pBuffer, dwBufferLength, pdwBufferLength);
return S_OK;
}
+static const CHAR Agent[] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
+
/**************************************************************************
* ObtainUserAgentString (URLMON.@)
*/
-HRESULT WINAPI ObtainUserAgentString(DWORD dwOption, LPCSTR pcszUAOut, DWORD *cbSize)
+HRESULT WINAPI ObtainUserAgentString(DWORD dwOption, LPSTR pcszUAOut, DWORD *cbSize)
{
FIXME("(%ld, %p, %p): stub\n", dwOption, pcszUAOut, cbSize);
ERR("dwOption: %ld, must be zero\n", dwOption);
}
+ if (sizeof(Agent) < *cbSize)
+ *cbSize = sizeof(Agent);
+ lstrcpynA(pcszUAOut, Agent, *cbSize);
+
return S_OK;
}
* Dll lifetime tracking declaration for urlmon.dll
*/
extern LONG URLMON_refCount;
-static inline void URLMON_LockModule() { InterlockedIncrement( &URLMON_refCount ); }
-static inline void URLMON_UnlockModule() { InterlockedDecrement( &URLMON_refCount ); }
+static inline void URLMON_LockModule(void) { InterlockedIncrement( &URLMON_refCount ); }
+static inline void URLMON_UnlockModule(void) { InterlockedDecrement( &URLMON_refCount ); }
#define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))