// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 > or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT >, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! Url History Interfaces
use ctypes::c_void;
use shared::guiddef::REFIID;
use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG};
use shared::wtypesbase::LPCOLESTR;
use um::docobj::{IOleCommandTarget, IOleCommandTargetVtbl};
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::{HRESULT, LPWSTR};
pub const STATURL_QUERYFLAG_ISCACHED: DWORD =
0 x00010000;
pub const STATURL_QUERYFLAG_NOURL: DWORD =
0 x00020000;
pub const STATURL_QUERYFLAG_NOTITLE: DWORD =
0 x00040000;
pub const STATURL_QUERYFLAG_TOPLEVEL: DWORD =
0 x00080000;
pub const STATURLFLAG_ISCACHED: DWORD =
0 x00000001;
pub const STATURLFLAG_ISTOPLEVEL: DWORD =
0 x00000002;
ENUM !{
enum ADDURL_FLAG {
ADDURL_FIRST =
0 ,
ADDURL_ADDTOHISTORYANDCACHE =
0 ,
ADDURL_ADDTOCACHE =
1 ,
ADDURL_Max =
2147483647 ,
}}
pub type LPENUMSTATURL = *
mut IEnumSTATURL;
STRUCT !{
struct STATURL {
cbSize: DWORD,
pwcsUrl: LPWSTR,
pwcsTitle: LPWSTR,
ftLastVisited: FILETIME,
ftLastUpdated: FILETIME,
ftExpires: FILETIME,
dwFlags: DWORD,
}}
pub type LPSTATURL = *
mut STATURL;
RIDL!{
#[ uuid(
0 x3c374a42,
0 xbae4,
0 x11cf,
0 xbf,
0 x7d,
0 x00,
0 xaa,
0 x00,
0 x69,
0 x46,
0 xee)]
interface IEnumSTATURL(IEnumSTATURLVtbl): IUnknown(IUnknownVtbl) {
fn Next(
celt: ULONG,
rgelt: LPSTATURL,
pceltFetched: *
mut ULONG,
) -> HRESULT,
fn Skip(
celt: ULONG,
) -> HRESULT,
fn Reset() -> HRESULT,
fn Clone(
ppenum: *
mut *
mut IEnumSTATURL,
) -> HRESULT,
fn SetFilter(
poszFilter: LPCOLESTR,
dwFlags: DWORD,
) -> HRESULT,
}}
pub type LPURLHISTORYSTG = *
mut IUrlHistoryStg;
RIDL!{
#[ uuid(
0 x3c374a41,
0 xbae4,
0 x11cf,
0 xbf,
0 x7d,
0 x00,
0 xaa,
0 x00,
0 x69,
0 x46,
0 xee)]
interface IUrlHistoryStg(IUrlHistoryStgVtbl): IUnknown(IUnknownVtbl) {
fn AddUrl(
pocsUrl: LPCOLESTR,
) -> HRESULT,
fn DeleteUrl(
pocsUrl: LPCOLESTR,
dwFlags: DWORD,
) -> HRESULT,
fn QueryUrl(
pocsUrl: LPCOLESTR,
dwFlags: DWORD,
lpSTATURL: LPSTATURL,
) -> HRESULT,
fn BindToObject(
pocsUrl: LPCOLESTR,
riid: REFIID,
ppvOut: *
mut *
mut c_void,
) -> HRESULT,
fn EnumUrls(
ppEnum: *
mut *
mut IEnumSTATURL,
) -> HRESULT,
}}
pub type LPURLHISTORYSTG2 = *
mut IUrlHistoryStg2;
RIDL!{
#[ uuid(
0 xafa0dc11,
0 xc313,
0 x11d0,
0 x83,
0 x1a,
0 x00,
0 xc0,
0 x4f,
0 xd5,
0 xae,
0 x38)]
interface IUrlHistoryStg2(IUrlHistoryStg2Vtbl): IUrlHistoryStg(IUrlHistoryStgVtbl)
{
fn AddUrlAndNotify(
pocsUrl: LPCOLESTR,
pocsTitle: LPCOLESTR,
dwFlags: DWORD,
fWriteHistory: BOOL,
poctNotify: *mut IOleCommandTarget,
punkISFolder: *mut IUnknown,
) -> HRESULT,
fn ClearHistory() -> HRESULT,
}}
pub type LPURLHISTORYNOTIFY = *mut IUrlHistoryNotify;
RIDL!{#[ uuid(0 xbc40bec1, 0 xc493, 0 x11d0, 0 x83, 0 x1b, 0 x00, 0 xc0, 0 x4f, 0 xd5, 0 xae, 0 x38)]
interface IUrlHistoryNotify(IUrlHistoryNotifyVtbl):
IOleCommandTarget(IOleCommandTargetVtbl) {}
}
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland