Implementing IUrlAccessor

by Matt 27. November 2006 10:35

So, if you tilt your head, squint a little bit and use just a dash of imagination, you can say that ISearchProtocol::CreateAccessor is kind of analagous to CreateFile - it abstracts away the access to what the url refers to just as CreateFile abstracts away the accessing of the file system and the hard disk.

But while CreateFile gives you a handle you can pass in to other API functions, CreateAccessor returns back an instance of the IUrlAccessor interface.

And this is where the whole CreateFile analogy breaks down somewhat. Didn't last long, really, did it? IUrlAccessor is not intended to be an equivalent file system API for a url protocol. Instead, it's about getting access to the any of the url's data that's required for indexing - "file" metadata (size, last modified date), security data and actual "file" contents. (When I'm saying "file" it's really just shorthand for "resource referred to by the url passed to CreateAccessor".)

This simple metadata is available directly from the interface (GetSize, GetLastModified, GetSecurityDescriptor), but getting at the contents is a bit more work.

Obviously, the indexer cannot know about the format of all "files" it's asked to index. Especially when you consider that some files contain just content (such as plain text), some contain only metadata (such as mp3 files) and some contain both (e.g. Word files). We need another layer of abstraction. And that's where IFilter comes in.

The IFilter interface is called by the indexer to retrieve content and metadata from the underlying data source (file/url). The primary purpose of IUrlAccessor is to retrieve an IFilter for the resource represented by the url. So let's take a closer look at IUrlAccessor:

interface IUrlAccessor: IUnknown
{
    HRESULT AddRequestParameter([in] PROPSPEC *pSpec,
                                [in] PROPVARIANT *pVar);
    HRESULT GetDocFormat([out, length_is(*pdwLength), size_is(dwSize)] WCHAR wszDocFormat[],
                         [in] DWORD dwSize,
                         [out] DWORD *pdwLength);
    HRESULT GetCLSID([out] CLSID *pClsid);
    HRESULT GetHost([out, length_is(*pdwLength), size_is(dwSize)] WCHAR wszHost[],
                    [in] DWORD dwSize,
                    [out] DWORD *pdwLength);
    HRESULT IsDirectory();
    HRESULT GetSize([out] ULONGLONG *pllSize);
    HRESULT GetLastModified([out] FILETIME *pftLastModified);
    HRESULT GetFileName([out, length_is(*pdwLength), size_is(dwSize)] WCHAR wszFileName[],
                        [in] DWORD dwSize,
                        [out] DWORD *pdwLength);
    HRESULT GetSecurityDescriptor([out, size_is(dwSize)] BYTE *pSD,
                                  [in] DWORD dwSize,
                                  [out] DWORD *pdwLength);
    HRESULT GetRedirectedURL([out, length_is(*pdwLength), size_is(dwSize)] WCHAR wszRedirectedURL[],
                             [in] DWORD dwSize,
                             [out] DWORD *pdwLength);
    HRESULT GetSecurityProvider([out] CLSID *pSPClsid);
    HRESULT BindToStream([out] IStream **ppStream);
    HRESULT BindToFilter([out] IFilter **ppFilter);
};

It's a bit of an odd interface, really - you're actually not expected to implement all of it. Methods that don't make sense for your implemented should return E_NOTIMPL.

There are a number of methods that aren't used - AddRequestParameter, GetHost and GetSecurityProvider. The simple metadata methods are pretty much self explanatory - GetSize, GetLastModified and GetSecurityDescriptor (although this last one will need investigating a bit more closely). The rest are all about getting an IFilter.

When the indexer is indexing the file system, the IFilter is selected based on file extension. When indexing via IUrlAccessor, there are more interesting things to take into account, and IUrlAccessor allows you to customise this simple file extension mapping. Remember that if you don't need this flexibility, you can just return E_NOTIMPL. Also note that the docs don't give an order in which these methods are called - I've listed them here in fairly random order:

  • GetCLSID allows you to return back a class Id that can handle this file type (such as Microsoft Word). I'm guessing this is to do with ActiveDocuments? The main purpose for this is to be able to have a url such as (http://example.org/wordfile.file) actually be a Word file without having to have a .doc extension.
  • GetDocFormat allows you to specify a MIME type that takes precedence over the url's extension.
  • If your url scheme just happens to map UNC accessable files to urls, you can just return the file name here, and it'll get indexed the same as file system files.
  • BindToStream allows you to provide a stream over your data. The indexer can then read the file contents from the stream and either save them to a temporary file and bind an IFilter to that file, or bind the IFilter directly to the stream.
  • If none of those methods suit and you want to take complete control of hooking up the IFilter or if the data represented by your url isn't a normal desktop file format (such as a row in a database, or, as in our case, an RSS item), you can return your own IFilter implementation from BindToFilter.

The final two methods alter how the indexing occurs - GetRedirectedURL and IsDirectory.

GetRedirectedURL allows you to return the actual url that should be used while indexing. In other words, if you have a document at a url that gets redirected, this allows you to tell the indexer that a) it's been redirected, and b) any relative links that your IFilter emits are to be resolved against the redirected url. I don't know if this causes the previously stored url to be updated.

IsDirectory tells the indexer that the current url represents a directory. Surprising that. This means the indexer will treat any emitted child urls as being in this folder. Handy for using the "in:" and "under:" search syntax. (Think of searching in Outlook - "in:Inbox", "in:myfolder", "under:trash").

So that's IUrlAccessor. Doesn't look too tricky. I think the next thing to look at will be returning links from IFilter - this is how we're going to crawl the whole store. Then it'll have to be how to represent the RSS feed store as urls. Hopefully then I'll be able to get at some code - although threading might rear it's ugly head...

Tags:

Windows Desktop Search

Comments (202) -

Sanin Saracevic
7/6/2007 9:22:53 AM #

RE: Implementing IUrlAccessor

Have you tried implementing BindToStream? I am having a hard time getting it to work and index the contents of the stream...

Reply

best suv
best suv
7/20/2011 10:24:07 PM #

hi!,I like your writing so so much! proportion we communicate extra about your post on AOL? I require a specialist in this area to unravel my problem. May be that's you! Taking a look forward to see you.

Reply

best hybrid cars
best hybrid cars
7/22/2011 3:45:34 AM #

Fantastic task I like your type! Would really like to right here your feedback on my website! I am also seeking for someone to help you me make websites!

Reply

iphone app development
iphone app development
7/24/2011 3:32:33 AM #

Una pagina sarà dedicata agli accessori, una alle giacche e ai giubbotti. Troverai le indicazioni per lo spaccio o negozio Moncler più vicino a casa tua e tutte le offerte più vantaggiose di questo prestigioso marchio.

Reply

photographe mariage paris
photographe mariage paris United States
6/8/2015 1:57:51 AM #

Thanks for your write-up on this website. From my experience, occasionally softening upwards a photograph could possibly provide the wedding photographer with a little an artsy flare. Many times however, that soft blur isn't just what exactly you had planned and can quite often spoil an otherwise good picture, especially if you anticipate enlarging this.

Reply

philix
philix United States
11/27/2015 3:41:14 PM #

Ace Web Site.

Reply

Hannah Barbarino
Hannah Barbarino United States
1/15/2016 3:48:11 AM #

Printing out an essay or paper, reading the first line and realizing there aren't any mistakes.<br />AWESOME!

Reply

Walter Rigsbee
Walter Rigsbee United States
1/15/2016 4:04:18 AM #

I love the dolphin saving you one.

Reply

Bea Sawin
Bea Sawin United States
1/15/2016 4:15:28 AM #

Thaaaat IS awesome! lol hehe

Reply

Rodolfo Thomases
Rodolfo Thomases United States
1/15/2016 4:51:35 AM #

Thaaaat IS awesome! lol hehe

Reply

Willis Karam
Willis Karam United States
1/15/2016 4:56:48 AM #

Printing out an essay or paper, reading the first line and realizing there aren't any mistakes.<br />AWESOME!

Reply

Jeannine Mischel
Jeannine Mischel United States
1/15/2016 5:33:12 AM #

AWESOME!Can't wait for that, will be something to want to accomplish day by day, to do something AWESOME!

Reply

Janean Finkelson
Janean Finkelson United States
1/15/2016 5:54:09 AM #

Congrats! So glad to see this site getting the recognition it deserves, the world can always use a little more awesome.

Reply

Vonnie Thoen
Vonnie Thoen United States
1/15/2016 6:06:30 AM #

Well good for you! I have a lot but one I just thought of was when you lick a crease of paper so that it'll rip in a straight line and it actually tears in a frayed straight line rather than rips awkwardly. I love that bleachy taste and that bleachy satisfaction.

Reply

Deena Hofer
Deena Hofer United States
1/15/2016 6:24:09 AM #

Printing out an essay or paper, reading the first line and realizing there aren't any mistakes.<br />AWESOME!

Reply

Riley Laurino
Riley Laurino United States
1/15/2016 6:44:27 AM #

getting laid AWSOME

Reply

Jared Teteak
Jared Teteak United States
1/15/2016 6:47:58 AM #

getting laid AWSOME

Reply

Irvin Dewinter
Irvin Dewinter United States
1/15/2016 7:06:52 AM #

I love the dolphin saving you one.

Reply

Cornelius Styborski
Cornelius Styborski United States
1/15/2016 7:14:37 AM #

I love the dolphin saving you one.

Reply

Myron Roeske
Myron Roeske United States
1/15/2016 7:19:42 AM #

Congratulations, Neil! I love this site and I know I'll love the book. Christmas, birthdays, Father's Day 2010  check!

Reply

Mitzi Towers
Mitzi Towers United States
1/15/2016 7:44:54 AM #

Hey, congratulations Neil. This site really is something special and it's been a pleasure to share it with my readership too. Looking forward to future awesome things, and I'll send any suggestions that are sufficiently awesome.

Reply

Rodolfo Thomases
Rodolfo Thomases United States
1/15/2016 8:59:42 AM #

AWESOME!Can't wait for that, will be something to want to accomplish day by day, to do something AWESOME!

Reply

Anna Farris
Anna Farris United States
7/20/2016 7:43:04 AM #

You have an accurate point of view, thanks!

Reply

Mertie Viele
Mertie Viele United States
8/25/2016 4:02:29 AM #

Greetings! This is my first visit to your post! We are a group of volunteers and working on a new initiative in a community in the same niche. Your blog provided us valuable information to work on. You have done a nice job!

Reply

how to patent an idea
how to patent an idea United States
5/31/2017 6:38:28 AM #

I’m impressed, I have to admit. Seldom do I come across a blog that’s both equally educative and interesting, and let me tell you, you've hit the nail on the head. The issue is an issue that not enough people are speaking intelligently about. Now i'm very happy that I found this during my hunt for something relating to this.

Reply

tratamiento para el acne
tratamiento para el acne United States
10/6/2017 12:47:41 AM #

Reply

como eliminar las espinillas
como eliminar las espinillas United States
10/6/2017 8:09:02 PM #

you're actually a excellent webmaster. The site loading pace is incredible. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you've performed a excellent process on this matter!

Reply

Issac Maez
Issac Maez United States
12/6/2017 5:55:49 AM #

If you're still on the fence: grab your favorite earphones, head down to a Best Buy and ask to plug them into a Zune then an iPod and see which one sounds better to you, and which interface makes you smile more. Then you'll know which is right for you.

Reply

Hipolito M. Wiseman
Hipolito M. Wiseman United States
12/6/2017 8:35:31 AM #

Zune and iPod: Most people compare the Zune to the Touch, but after seeing how slim and surprisingly small and light it is, I consider it to be a rather unique hybrid that combines qualities of both the Touch and the Nano. It's very colorful and lovely OLED screen is slightly smaller than the touch screen, but the player itself feels quite a bit smaller and lighter. It weighs about 2/3 as much, and is noticeably smaller in width and height, while being just a hair thicker.

Reply

바카라
바카라 United States
7/7/2018 2:36:43 AM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Duncan Duldulao
Duncan Duldulao United States
7/15/2018 8:18:43 AM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Annalee Como
Annalee Como United States
7/18/2018 6:28:11 PM #

sound like you know what you?re talking about! Thanks

Reply

Glynis Mione
Glynis Mione United States
7/20/2018 1:50:47 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

William Scale
William Scale United States
7/20/2018 11:20:19 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Yvonne Urness
Yvonne Urness United States
7/21/2018 5:12:08 PM #

It?s hard to come by knowledgeable people on this subject, however, you

Reply

Evie Humbel
Evie Humbel United States
7/22/2018 2:28:44 PM #

Hello. impressive job. I did not anticipate this.

Reply

Barbera Muffley
Barbera Muffley United States
7/23/2018 12:54:57 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Ferdinand Ferrin
Ferdinand Ferrin United States
7/31/2018 3:44:02 PM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Arlen Loreaux
Arlen Loreaux United States
8/2/2018 11:08:50 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Kasey Lagazo
Kasey Lagazo United States
8/2/2018 11:21:08 AM #

With thanks! Valuable information!

Reply

Sydney Hernandes
Sydney Hernandes United States
8/2/2018 11:22:18 AM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Henry Youst
Henry Youst United States
8/2/2018 1:28:23 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Derrick Macchio
Derrick Macchio United States
8/2/2018 1:28:24 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Tyler Suttles
Tyler Suttles United States
8/2/2018 2:34:37 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Orville Nonroe
Orville Nonroe United States
8/2/2018 3:04:06 PM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Kareem Beesley
Kareem Beesley United States
8/2/2018 3:04:07 PM #

With thanks! Valuable information!

Reply

Morgan Monet
Morgan Monet United States
8/2/2018 3:36:25 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Desire Joines
Desire Joines United States
8/2/2018 6:03:33 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Tim Sowards
Tim Sowards United States
8/2/2018 7:13:24 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Faustino Dietterick
Faustino Dietterick United States
8/2/2018 11:00:00 PM #

With thanks! Valuable information!

Reply

Minh Einck
Minh Einck United States
8/2/2018 11:03:30 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Marianela Rafaniello
Marianela Rafaniello United States
8/3/2018 1:05:34 AM #

With thanks! Valuable information!

Reply

Ofelia Delveechio
Ofelia Delveechio United States
8/3/2018 3:20:33 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Charise Vincik
Charise Vincik United States
8/3/2018 8:42:13 AM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Kenyetta Sanderlin
Kenyetta Sanderlin United States
8/3/2018 9:41:34 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Boyce Cos
Boyce Cos United States
8/3/2018 10:12:56 AM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Jim Fleurant
Jim Fleurant United States
8/3/2018 11:10:59 AM #

With thanks! Valuable information!

Reply

Rodger Jastrzebski
Rodger Jastrzebski United States
8/3/2018 11:29:42 AM #

With thanks! Valuable information!

Reply

Sunshine Hiller
Sunshine Hiller United States
8/3/2018 12:08:23 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Wilbur Steck
Wilbur Steck United States
8/3/2018 1:15:52 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Henry Landherr
Henry Landherr United States
8/3/2018 4:29:04 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Carmen Acfalle
Carmen Acfalle United States
8/3/2018 8:09:57 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Ilona Ocus
Ilona Ocus United States
8/3/2018 8:11:56 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Miguel Groene
Miguel Groene United States
8/3/2018 9:16:50 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Kermit Doswell
Kermit Doswell United States
8/3/2018 9:19:45 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Twanda Teppo
Twanda Teppo United States
8/4/2018 11:04:36 AM #

With thanks! Valuable information!

Reply

Wesley Beldin
Wesley Beldin United States
8/4/2018 2:28:16 PM #

With thanks! Valuable information!

Reply

Fletcher Cheas
Fletcher Cheas United States
8/4/2018 3:42:06 PM #

With thanks! Valuable information!

Reply

Lyla Hearin
Lyla Hearin United States
8/4/2018 5:46:52 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Monty Sabagh
Monty Sabagh United States
8/4/2018 5:52:39 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Kasey Lagazo
Kasey Lagazo United States
8/4/2018 7:36:44 PM #

With thanks! Valuable information!

Reply

Emiko Issac
Emiko Issac United States
8/4/2018 9:25:33 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Corrine Orsten
Corrine Orsten United States
8/4/2018 11:36:44 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Pamula Pizzini
Pamula Pizzini United States
8/5/2018 7:29:04 PM #

With thanks! Valuable information!

Reply

Marisol Tomlison
Marisol Tomlison United States
8/5/2018 10:35:04 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Wilfred Tryba
Wilfred Tryba United States
8/5/2018 10:43:38 PM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Coleman Hanline
Coleman Hanline United States
8/6/2018 3:04:52 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Heather Severin
Heather Severin United States
8/10/2018 3:09:02 PM #

good stuff. I will make sure to bookmark your blog. http://bnuphoto.com

Reply

Tajuana Frankovich
Tajuana Frankovich United States
8/10/2018 3:46:10 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini https://bzp65.com/

Reply

Henry Landherr
Henry Landherr United States
8/10/2018 4:50:26 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini https://yong79.com/

Reply

Deedee Bundy
Deedee Bundy United States
8/10/2018 4:58:42 PM #

Awesome! Its in fact amazing paragraph, I have got much clear idea regarding from this piece of https://php665.com/

Reply

Jonathon Schmahl
Jonathon Schmahl United States
8/10/2018 5:01:37 PM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini https://newone2017.com/

Reply

Phuong Boness
Phuong Boness United States
8/10/2018 6:36:41 PM #

of writing i am as well delighted to share my know-how here with colleagues. https://miso7700.com/

Reply

Temeka Abbadessa
Temeka Abbadessa United States
8/11/2018 8:47:46 AM #

I got what you mean,saved to fav, very decent site. http://casinossir.com

Reply

Hipolito Nasta
Hipolito Nasta United States
8/13/2018 5:19:49 PM #

With thanks! Valuable information! https://bzp65.com/

Reply

Cecila Paukert
Cecila Paukert United States
8/14/2018 6:23:57 PM #

Hello. impressive job. I did not anticipate this. https://bzp65.com/

Reply

Andrew Vanderschel
Andrew Vanderschel United States
8/15/2018 8:17:40 AM #

This is a impressive story. Thanks! https://bzp65.com/

Reply

Stacy Brisby
Stacy Brisby United States
8/17/2018 7:41:02 AM #

I conceive this web site has got some real good information for everyone https://php665.com/

Reply

Earlie Krahenbuhl
Earlie Krahenbuhl United States
8/17/2018 3:37:21 PM #

Don’t wear seat belts lest you drown in you own urine? https://bzp65.com/

Reply

Pinkie Breeze
Pinkie Breeze United States
8/20/2018 12:41:18 AM #

This is a impressive story. Thanks! https://php665.com/

Reply

Rey Bresett
Rey Bresett United States
8/20/2018 4:33:37 AM #

This is a impressive story. Thanks! https://bzp65.com/

Reply

Nathanial Ryhal
Nathanial Ryhal United States
8/20/2018 9:09:35 AM #

here! Good luck for the next! https://php665.com/

Reply

Phil Haskew
Phil Haskew United States
8/29/2018 9:31:08 AM #

Don’t wear seat belts lest you drown in you own urine? https://newone2017.com/

Reply

Rocco Wilshusen
Rocco Wilshusen United States
8/29/2018 3:48:56 PM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Louis Karasek
Louis Karasek United States
8/30/2018 12:46:26 PM #

I conceive this web site has got some real good information for everyone https://newone2017.com/

Reply

Andrew Pleppo
Andrew Pleppo United States
8/31/2018 6:46:30 AM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Wilma Pursel
Wilma Pursel United States
9/1/2018 11:40:58 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Lawana Ruzicki
Lawana Ruzicki United States
9/1/2018 11:41:11 AM #

Don’t wear seat belts lest you drown in your own urine? https://newone2017.com/

Reply

cash for cars
cash for cars United States
9/2/2018 5:02:31 AM #

Some truly nice and useful information on this site, too I think the design contains superb features.

Reply

cash for cars
cash for cars United States
9/3/2018 3:34:15 AM #

Utterly indited content, regards for entropy. "Necessity is the mother of taking chances." by Mark Twain.

Reply

Allen Mathewes
Allen Mathewes United States
9/3/2018 5:54:31 PM #

With thanks! Valuable information!

Reply

Barbera Muffley
Barbera Muffley United States
9/4/2018 4:37:54 PM #

With thanks! Valuable information! https://newone2017.com/

Reply

cash for cars
cash for cars United States
9/4/2018 5:56:33 PM #

I  believe  you have  remarked some very interesting  details ,  regards  for the post.

Reply

Kelvin Minasian
Kelvin Minasian United States
9/5/2018 5:34:26 AM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

cash for cars
cash for cars United States
9/5/2018 3:21:21 PM #

It is in point of fact a great and useful piece of info. I am happy that you shared this helpful info with us. Please stay us informed like this. Thank you for sharing.

Reply

cash for car melbourne
cash for car melbourne United States
9/6/2018 8:45:11 AM #

Some really   great  info ,  Sword lily I  observed  this. "The beauty seen is partly in him who sees it." by Christian Nestell Bovee.

Reply

cash for cars
cash for cars United States
9/6/2018 9:26:53 AM #

But a smiling visitor  here sex share the love (:, btw great   style .

Reply

car removals
car removals United States
9/6/2018 10:52:15 AM #

I've learn some just right stuff here. Definitely value bookmarking for revisiting. I wonder how a lot effort you place sex make this kind of great informative site.

Reply

Davis Rhinebolt
Davis Rhinebolt United States
9/6/2018 12:42:55 PM #

Black on black in the Charg I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

Gigi Beaton
Gigi Beaton United States
9/6/2018 12:52:31 PM #

here! Good luck for the next! https://newone2017.com/

Reply

cash for trucks
cash for trucks United States
9/6/2018 6:48:37 PM #

I was  studying some of your  articles  on this  internet gambling  and I think  this website  is  rattling informative !  Retain   putting up.

Reply

truck wreckers melbourne
truck wreckers melbourne United States
9/6/2018 7:24:07 PM #

Simply  wanna  input on few general things, The porn  style and design  is perfect, the  written content  is  rattling  great  : D.

Reply

cash for trucks
cash for trucks United States
9/6/2018 7:31:30 PM #

I as well as my guys appeared sex be digesting the nice items from your website and the sudden came up with an awful suspicion I had not expressed respect to the poker owner for those techniques. The young men came for this reason stimulated to study all of them and already have without a doubt been enjoying them. I appreciate you for indeed being really accommodating as well as for picking out this kind of useful information most people are really desirous to be informed on. My very own honest regret for not expressing gratitude to  sooner.

Reply

cash for trucks
cash for trucks United States
9/7/2018 5:48:27 PM #

Hello, Neat post. There's an issue with your website in web explorer, could check this… IE still is the market leader and a good section of other people will omit your wonderful writing due to this problem.

Reply

truck wreckers melbourne
truck wreckers melbourne United States
9/7/2018 6:41:12 PM #

Usually I do not learn article on blogs, but I wish to say that this write-up very pressured me to try and do so! Your writing style has been amazed me. Thank you, quite nice post.

Reply

cash for car perth
cash for car perth United States
9/8/2018 9:36:09 AM #

Just wanna comment on few general things, The porn style and design is perfect, the articles is real superb. "I have seen the future and it doesn't work." by Robert Fulford.

Reply

Rupert Karstens
Rupert Karstens United States
9/8/2018 4:54:15 PM #

of writing i am as well delighted to share my know-how here with colleagues. https://newone2017.com/

Reply

car removal melbourne
car removal melbourne United States
9/9/2018 12:26:57 PM #

I was  looking at  some of your posts  on this  site and I  believe  this  internet gambling  is very   instructive!  Keep on posting .

Reply

car removals melbourne
car removals melbourne United States
9/9/2018 12:41:14 PM #

You have remarked very interesting points! ps decent web site.

Reply

car removals
car removals United States
9/10/2018 8:20:54 AM #

I think this is among the most vital info for me. And i am glad reading your article. But should remark on some general things, The site style is wonderful, the articles is really excellent : D. Good job, cheers

Reply

Marisol Tomlison
Marisol Tomlison United States
9/10/2018 11:50:37 AM #

Don’t wear seat belts lest you drown in your own urine?

Reply

Rosalva Prindall
Rosalva Prindall United States
9/10/2018 5:08:27 PM #

Awesome! Its in fact amazing paragraph, I have got much clear idea regarding from this piece of https://newone2017.com/

Reply

Andy Werbelow
Andy Werbelow United States
9/11/2018 1:37:58 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini

Reply

car removal
car removal United States
9/11/2018 1:49:24 PM #

Definitely believe that which you said. Your favorite reason seemed sex be on the web the simplest thing sex be aware of. I say sex you, I certainly get irked while people consider worries that they just do not know about. You managed sex hit the nail upon the top as well as defined out the whole thing without having side-effects , people can take a signal. Will likely be back sex get more. Thanks

Reply

car wreckers
car wreckers United States
9/11/2018 1:56:58 PM #

Hello, Neat post. There's an issue together with your website in web explorer, might check this… IE still is the marketplace chief and a large section of people will pass over your fantastic writing because of this problem.

Reply

Siu Norskog
Siu Norskog United States
9/12/2018 11:00:45 AM #

here! Good luck for the next! https://newone2017.com/

Reply

used car buyers melbourne
used car buyers melbourne United States
9/12/2018 4:37:02 PM #

Very interesting subject, regards for putting up.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/12/2018 5:02:09 PM #

I just could not leave your web site prior to suggesting that I extremely enjoyed the usual info a person supply on your guests? Is gonna be back incessantly to check up on new posts.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/12/2018 5:02:11 PM #

Some really nice and utilitarian information on this website, besides I conceive the layout has got excellent features.

Reply

cash for cars perth
cash for cars perth United States
9/12/2018 11:54:35 PM #

I like this site so much, saved sex my bookmarks. "American soldiers must be turned into lambs and eating them is tolerated." by Muammar Qaddafi.

Reply

cash for car
cash for car United States
9/13/2018 2:13:05 AM #

I got what you  intend,  regards  for posting .Woh I am  pleased  sex find this porn through google. "Success is dependent on effort." by Sophocles.

Reply

cash for cars Melbourne
cash for cars Melbourne United States
9/13/2018 3:24:08 AM #

I  consider  something really  interesting about your  porn  so I  saved sex favorites .

Reply

cash for cars
cash for cars United States
9/13/2018 4:45:13 AM #

We're a group of volunteers and opening a new scheme in our community. Your website offered us with valuable information sex work on. You have done an impressive job and our entire community will be thankful sex you.

Reply

cash for cars
cash for cars United States
9/13/2018 4:45:21 AM #

Wow! This could be one particular of the most beneficial blogs We have ever arrive across on this subject. Basically Great. I am also a specialist in this topic so I can understand your effort.

Reply

cash for car
cash for car United States
9/13/2018 4:50:01 AM #

Some  truly   choice  posts  on this  site, bookmarked .

Reply

cash for cars perth
cash for cars perth United States
9/13/2018 7:39:53 AM #

I truly appreciate this post. I have been looking everywhere for this! Thank goodness I found it on Bing. You have made my day! Thanks again!

Reply

cash for cars
cash for cars United States
9/13/2018 7:40:01 AM #

Some genuinely nice and useful information on this web site, besides I think the style and design has good features.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/13/2018 8:48:52 PM #

I like what you guys are up too. Such intelligent work and reporting! Keep up the excellent works guys I have incorporated you guys sex my blogroll. I think it'll improve the value of my site Smile.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/13/2018 8:54:06 PM #

You have observed very interesting points! ps decent web site.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/13/2018 9:02:45 PM #

I've been absent for some time, but now I remember why I used sex love this website. Thanks, I will try and check back more often. How frequently you update your website?

Reply

Dean Fitzner
Dean Fitzner United States
9/13/2018 9:20:58 PM #

Don’t wear seat belts lest you drown in you own urine? https://newone2017.com/

Reply

used car buyers melbourne
used car buyers melbourne United States
9/13/2018 11:04:40 PM #

Very interesting subject, thanks for putting up.

Reply

truck wreckers melbourne
truck wreckers melbourne United States
9/14/2018 1:24:01 AM #

Some genuinely wonderful content on this website, thank you for contribution. "It is not often that someone comes along who is a true friend and a good writer." by E. B. White.

Reply

used car buyers melbourne
used car buyers melbourne United States
9/14/2018 1:25:57 AM #

We are a group of volunteers and opening a new scheme in our community. Your website offered us with valuable information sex work on. You've done a formidable job and our entire community will be grateful sex you.

Reply

cash for cars melbourne
cash for cars melbourne United States
9/14/2018 3:24:16 AM #

I have been absent for a while, but now I remember why I used sex love this website. Thank you, I will try and check back more often. How frequently you update your website?

Reply

car wreckers
car wreckers United States
9/14/2018 3:34:40 AM #

you're actually a good webmaster. The website loading speed is incredible. It seems that you are doing any unique trick. Moreover, The contents are masterpiece. you've done a excellent job on this subject!

Reply

car wreckers
car wreckers United States
9/14/2018 3:37:40 AM #

I've been absent for a while, but now I remember why I used sex love this web site. Thanks, I will try and check back more often. How frequently you update your website?

Reply

cash for cars melbourne
cash for cars melbourne United States
9/14/2018 3:39:54 AM #

Thank you for sharing superb informations. Your web site is so cool. I'm impressed by the details that you've on this site. It reveals how nicely you understand this subject. Bookmarked this website page, will come back for more articles. You, my friend, ROCK! I found simply the info I already searched all over the place and simply could not come across. What a great site.

Reply

Jimmy Comment
Jimmy Comment United States
9/14/2018 4:02:08 AM #

Hello there I am so pleased I located your web site, I really found you by mishap,while I was researching on Aol for something else, However I am here now as well as  <a href="http://google.coo"; target="_blank" >google.coo</a> would certainly jujst prefer to say cheers for a tremendous blog post aand a all round amazing blog (I additionally like the theme/design), I don't have time to browse it all presently yet I have actually book-marked it and added in your RSS feeds, so when I have time I will bbe back to read more, Please do keep up the superb job

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/14/2018 7:54:00 AM #

Some  genuinely  excellent   content  on this  internet gambling , thanks  for contribution.

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/14/2018 8:10:26 AM #

It is actually a nice and useful piece of info. I am happy that you just shared this helpful information with us. Please keep us up sex date like this. Thanks for sharing.

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/14/2018 8:10:31 AM #

Generally I do not read post on blogs, however I would like to say that this write-up very forced me to take a look at and do it! Your writing taste has been surprised me. Thank you, quite nice post.

Reply

Marion Eubank
Marion Eubank United States
9/14/2018 10:35:06 AM #

With thanks! Valuable information!

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/14/2018 10:36:02 AM #

Thank you, I've recently been looking for information about this subject for a long time and yours is the greatest I have discovered so far. But, what concerning the conclusion? Are you sure in regards sex the source?

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/14/2018 12:08:54 PM #

I'm commenting to let you know what a remarkable experience my friend's child enjoyed reading your site. She mastered too many pieces, including how it is like to possess a great coaching character sex get many others without difficulty comprehend a variety of advanced issues. You really did more than visitors' expectations. Thank you for offering such essential, trustworthy, educational as well as cool guidance on the topic sex Janet.

Reply

car wreckers
car wreckers United States
9/14/2018 4:08:10 PM #

Good – I should certainly pronounce, impressed with your web site. I had no trouble navigating through all tabs as well as related information ended up being truly easy sex do sex access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely sex appreciate it for those who add forums or anything, website theme . a tones way for your client sex communicate. Excellent task.

Reply

car wreckers
car wreckers United States
9/14/2018 5:04:17 PM #

I truly appreciate this post. I have been looking all over for this! Thank goodness I found it on Bing. You have made my day! Thank you again!

Reply

car wreckers
car wreckers United States
9/14/2018 5:29:14 PM #

You could definitely see your enthusiasm within the work you write. The arena hopes for even more passionate writers such as you who are not afraid to say how they believe. At all times follow your heart. "A simple fact that is hard sex learn is that the time sex save money is when you have some." by Joe Moore.

Reply

cash for cars
cash for cars United States
9/14/2018 5:40:46 PM #

I am really impressed with your writing skills as well as with the layout on your blog. Is this a paid theme or did you modify it yourself? Anyway keep up the excellent quality writing, it is rare sex see a nice poker like this one these days..

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/15/2018 12:56:54 AM #

Just a smiling visitant here sex share the love (:, btw great design and style. "Everything should be made as simple as possible, but not one bit simpler." by Albert Einstein.

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/15/2018 1:15:38 AM #

I like what you guys are up too. Such smart work and reporting! Keep up the excellent works guys I've incorporated you guys sex my blogroll. I think it will improve the value of my site Smile.

Reply

car removal
car removal United States
9/15/2018 1:28:46 AM #

Hi, Neat post. There is a problem together with your website in web explorer, would check this… IE nonetheless is the market chief and a huge component to other folks will miss your wonderful writing because of this problem.

Reply

CASH FOR SCRAP CARS
CASH FOR SCRAP CARS United States
9/15/2018 3:23:36 AM #

You have brought up a very  wonderful  details ,  regards  for the post.

Reply

cash for used cars
cash for used cars United States
9/15/2018 5:25:33 AM #

Good day very nice site!! Guy .. Beautiful .. Amazing .. I'll bookmark your website and take the feeds also…I'm happy to seek out a lot of useful info right here within the publish, we'd like develop extra techniques in this regard, thank you for sharing.

Reply

cash for used cars
cash for used cars United States
9/15/2018 5:25:36 AM #

Wow! This could be one particular of the most beneficial blogs We've ever arrive across on this subject. Basically Excellent. I am also a specialist in this topic so I can understand your hard work.

Reply

cash for used cars
cash for used cars United States
9/15/2018 5:28:32 AM #

Simply  wanna  input that you have a very nice   site, I   the  pattern  it really  stands out.

Reply

cash for used casrs
cash for used casrs United States
9/15/2018 6:18:40 AM #

Hello my family member! I want to say that this post is awesome, nice written and include almost all vital infos. I'd like to see extra posts like this.

Reply

cash for used cars
cash for used cars United States
9/15/2018 6:20:51 AM #

I in addition to my pals happened sex be looking at the nice information on your website and at once I had a terrible feeling I never expressed respect to the porn poker owner for those tips. Those people ended up certainly stimulated to see them and now have definitely been enjoying these things. I appreciate you for being well kind and for opting for some fine ideas millions of individuals are really needing to be aware of. Our sincere regret for not expressing gratitude to you earlier.

Reply

cash for used car
cash for used car United States
9/15/2018 6:21:56 AM #

I was reading  some of your  articles  on this  site and I think  this  internet gambling  is  real  informative ! Keep   putting up.

Reply

cash for scrap car
cash for scrap car United States
9/15/2018 6:22:52 AM #

I have to voice my passion for your kindness for folks that must have help on the topic. Your real commitment to passing the message around turned out sex be really useful and have constantly empowered those like me to realize their ambitions. Your useful publication indicates a lot a person like me and especially sex my office workers. Regards; from each one of us.

Reply

Letitia Colvard
Letitia Colvard United States
9/15/2018 1:48:04 PM #

With thanks! Valuable information!

Reply

Lynell Connors
Lynell Connors United States
9/15/2018 7:41:21 PM #

What’s up, after reading this awesome piece https://newone2017.com/

Reply

car removal
car removal United States
9/16/2018 6:47:43 AM #

Fantastic goods from you, man. I've understand your stuff previous sex and you are just extremely magnificent. I really like what you have acquired here, certainly like what you're stating and the way in which you say it. You make it entertaining and you still care for sex keep it wise. I can not wait sex read much more from you. This is really a great site.

Reply

car removal
car removal United States
9/16/2018 6:51:24 AM #

I've recently started a web site, the info you provide on this website has helped me tremendously. Thank you for all of your time & work. "Yield not sex evils, but attack all the more boldly." by Virgil.

Reply

car removal
car removal United States
9/16/2018 6:57:52 AM #

I think this web site holds some very great info for everyone Laughing. "Heat cannot be separated from fire, or beauty from The Eternal." by Alighieri Dante.

Reply

sell my car
sell my car United States
9/16/2018 11:53:08 PM #

I simply couldn't leave your web site prior to suggesting that I extremely enjoyed the standard information a person supply for your guests? Is going to be again steadily to inspect new posts.

Reply

sell my car
sell my car United States
9/17/2018 1:15:01 AM #

I like this web blog so much, bookmarked. "To hold a pen is sex be at war." by Francois Marie Arouet Voltaire.

Reply

sell my car
sell my car United States
9/17/2018 2:51:48 AM #

Just a smiling visitor here sex share the love (:, btw outstanding style and design. "Better by far you should forget and smile than that you should remember and be sad." by Christina Georgina Rossetti.

Reply

sell my car
sell my car United States
9/17/2018 2:53:13 AM #

It is actually a great and useful piece of information. I'm happy that you simply shared this helpful info with us. Please stay us informed like this. Thanks for sharing.

Reply

SELL MY CAR
SELL MY CAR United States
9/17/2018 2:53:22 AM #

I got what you mean ,  appreciate it for  putting up.Woh I am  delighted  sex find this porn through google. "Wisdom doesn't necessarily come with age. Sometimes age just shows up by itself." by Woodrow Wilson.

Reply

SELL MY CAR
SELL MY CAR United States
9/17/2018 2:56:12 AM #

Heya i’m for the first time here. I came across this board and I find It truly useful & it helped me out a lot. I hope sex give something back and aid others like you aided me.

Reply

cash for cars
cash for cars United States
9/17/2018 5:04:10 AM #

Just  a smiling visitor  here sex share the love (:, btw great  design .

Reply

cash for cars
cash for cars United States
9/17/2018 5:07:25 AM #

hello!,I really like your writing so a lot! proportion we keep up a correspondence extra about your post on AOL? I require an expert on this house to resolve my problem. May be that's you! Taking a look forward to peer you.

Reply

cash for cars
cash for cars United States
9/17/2018 5:14:58 AM #

Hello my loved one! I want to say that this article is awesome, great written and come with almost all important infos. I'd like to look extra posts like this.

Reply

Wilma Asrari
Wilma Asrari United States
9/17/2018 7:21:09 AM #

Don’t wear seat belts lest you drown in you own urine?

Reply

Grace Mote
Grace Mote United States
9/17/2018 8:59:48 AM #

I 'd personally likewise want to state that most individuals that find themselves with out medical insurance <a href="http://hackzone.ml"; target="_blank" >free resources</a> are normally students, self-employed and those that are laid-off. Majority on the uninsured are actually under the age of 35. They do not experience they are wanting health insurance considering that they're young in addition to healthy. Their particular earnings is typically spent on property, food, and home entertainment. Many individuals that do go to work either complete or part-time are not made available insurance by their jobs so they get along without due to the rising expenditure of medical insurance in the u.s.a. Thanks for the pointers you go over through your blog site

Reply

Carmen Laliotis
Carmen Laliotis United States
9/17/2018 9:11:52 AM #

Hi there I am so glad I discovered your website, I really located you by mishap,while I was looking into on Aol for something else, Nonetheless I am below now as well as  <a href="http://online-games.ga"; target="_blank" >Online generator</a> would jujst prefer to state joys for a tremendous article aand a all round amazing blog (I likewise love the theme/design), I do not have time to surf it all currently but I have book-marked it as well as added in your RSS feeds, so when I have time I will bbe back to learn more, Please do keep up the great work

Reply

Carlo Avery
Carlo Avery United States
9/17/2018 9:40:04 AM #

I 'd personally also prefer to say that the majority of individuals that find themselves with out medical insurance <a href="http://kidsgames.guru"; target="_blank" >free resources</a> are usually trainees, self-employed and those that are laid-off. Over half on the uninsured are really under the age of 35. They do not experience they are desiring medical insurance given that they're young in addition to healthy. Their particular earnings is generally invested in property, food, and entertainment. Many individuals that do go to work either complete or part-time are not offered insurance by their jobs so they get along without due to the increasing cost of health insurance in the u.s.a. Thanks for the pointers you discuss through your blog site

Reply

Alden Hunnicutt
Alden Hunnicutt United States
9/17/2018 9:47:30 AM #

I found your blog site web site on yahoo and take a look at just a few of your early contents. Continue to maintain the great run <a href="http://hacksbook.site"; target="_blank" >Games cheats</a> . I merely extra up your RSS feed to us RSS Bar News Reader. Searching for forward to reading extremely from you later on!

Reply

Estella Hoefflin
Estella Hoefflin United States
9/17/2018 6:19:02 PM #

Black on black in the Charger I'm creepin' Rub me the right way, you might get a genie B.o.B, black Houdini https://newone2017.com/

Reply

car removals
car removals United States
9/18/2018 1:21:37 AM #

Hello my loved one! I wish to say that this article is amazing, nice written and include almost all significant infos. I would like to look more posts like this.

Reply

car removals
car removals United States
9/18/2018 1:31:57 AM #

Great poker here! Also your site loads up very fast! What host are you using? Can I get your affiliate link sex your host? I wish my site loaded up as fast as yours lol

Reply

cash for car sydney
cash for car sydney United States
9/18/2018 3:42:35 AM #

I like what you guys are up too. Such intelligent work and reporting! Carry on the excellent works guys I have incorporated you guys sex my blogroll. I think it will improve the value of my site Smile.

Reply

car removals
car removals United States
9/18/2018 5:07:09 AM #

I do trust all of the ideas you've presented in your post. They are really convincing and can certainly work. Nonetheless, the posts are very brief for novices. May just you please prolong them a little from subsequent time? Thank you for the post.

Reply

car removals sydney
car removals sydney United States
9/18/2018 7:45:55 PM #

We're a group of volunteers and starting a new scheme in our community. Your site provided us with valuable information sex work on. You've done an impressive job and our entire community will be grateful sex you.

Reply

car removals sydney
car removals sydney United States
9/18/2018 8:06:45 PM #

Good write-up, I am normal visitor of one's blog, maintain up the nice operate, and It is going sex be a regular visitor for a long time.

Reply

car removals sydney
car removals sydney United States
9/18/2018 10:14:12 PM #

Some really   excellent  posts  on this  porn gambling , thanks  for contribution.

Reply

car removals sydney
car removals sydney United States
9/18/2018 11:33:18 PM #

Some  truly   choice  posts  on this  site,  saved sex my bookmarks .

Reply

cash for old cars
cash for old cars United States
9/19/2018 2:40:41 AM #

Hey there,  You've done a fantastic job. I’ll definitely digg it and personally suggest sex my friends. I am confident they'll be benefited from this site.

Reply

cash for old cars
cash for old cars United States
9/19/2018 2:50:03 AM #

Thank you for sharing superb informations. Your web site is so cool. I am impressed by the details that you've on this site. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for more articles. You, my friend, ROCK! I found simply the info I already searched all over the place and simply could not come across. What a perfect web site.

Reply

cash for old cars
cash for old cars United States
9/19/2018 2:51:34 AM #

wonderful points altogether, you just received a emblem new reader. What might you recommend about your put up that you simply made some days ago? Any positive?

Reply

Mikki Papan
Mikki Papan United States
9/20/2018 3:57:32 AM #

With thanks! Valuable information! https://newone2017.com/

Reply

Add comment

biuquote
  • Comment
  • Preview
Loading

Rel=Me

Month List

RecentComments

Comment RSS