IGatherNotify

Hi
if I good understand IGatherNotify interface is to adding URLs do WDS, is it true
When i'm trying create IGatherNotify COM obiect I have error "class not registered, ....".
How to register that class or it shouldn't be registered by WDS during instalation
Is it other way to add urls to WDS. (I have my own protocol handler registered... etc.)

Tomasz Rutkowski


Answer this question

IGatherNotify

  • jpmk12

    Thank you it helps.

    Stupid me.

    but when I have used it as you said: CLSID_CGatherNotify:c731055c-ac80-11d1-8df3-00c04fb6ef4f I have error: not registered. I have opend file srchadm.dll in Microsoft OLE/COM Object Viewer and I found coclass CGatherNotify:
    [
    uuid(A373F3AB-7B87-11D3-B1C1-00C04F68155C),
    helpstring("Gatherer Notification Class")
    ]
    coclass CGatherNotify {
    [default] interface IGatherNotify;
    };
    When I have used that uuid and
    CoCreateInstance I have IGatherNotify object.

    But I have new question(maybe v. simple but I couldn't find answer at msdn):
    When I have registered my ProtocolHandler using SearchManager class AddProtocol function with parameters: "SDL","SDL.MessB.1" and have set default url as "SDL://localhost/"
    what name of scopes should I use in AddScope function:
    "SDL://localhost/scopeX.databaseTableXXX" <-- e.g. for my db tables
    "SDL://localhost/scopeX.myfile" <-- e.g. for my own file type stored in db
    or "SDL://scopeX.databaseTableXXX" and
    "SDL://scopeX.myfile"

    What is the correct expression for WDS locations

    Tomasz Rutkowski

  • Helen999888

    hi,

    I have 2.6.6 and I have tried at 3.0(VMWare session) at Windows Server 2003. I have read that IGatherNotify is used to: add/delete/notify-changes in WDS Gather.
    Describing my problem:
    Index content of special tables from db and my files etc.
    I have done:
    1. I have implemented Protocol Handler (called "SDL")(ISearchProtocol and ISearchProtocolOptions in one COM object).
    2. I have Add it by SearchManager.AddProtocol('SDL','SDL.MessB.1')
    I have it registered: WDS see my Protocol and my default URL ("SDL://localhost/") is on the custom location list. WDS is loading my library and calling GetDefaultCrawlScope only! not Init.

    And I realy don't know what to do next, how to add my locations to be indexed That's why I try to implement IGatherNotify.

    Could you tell me next steps to do next interfaces to implement

    Is it correct GIUD of IGatherNotify: "C73105B4-AC80-11D1-8DF3-00C04FB6EF4F" that I've found in SDK.
    But in Win registry under the key HKEY_CLASSES_ROOT\RSSearch.GatherNotify\CLSID is that: {A373F3AB-7B87-11D3-B1C1-00C04F68155C}

    When I tryed create com object "C73..." has error: not registered
    then ' A373...' Interface not supported.

    Tomasz Rutkowski

  • londey

    What version of WDS are you using

  • KillerKryptos

    I know now that c731055c-ac80-11d1-8df3-00c04fb6ef4f is GatherNotify CoClass CLSID in WDS 3.0 and is differ in 2.6. I'm using 2.6.6

    But it still doesn't work correctly.
    WDS completely do nothing after I run Init("RSApp" "MyIndex") and then AddScope procedure. It doesn't call my protocol handler, and I can't find problem (no errors, no entries in EventLog)

    I try (to test) to notify deleting file from File ProtocolHandler as running RemoveScope(TheScope) where TheScope is: "file:///D://Test.xml" I tested: "file://D:/Test.xml" & "file:D:/Test.xml", too.

    What is correct value to that "file" scope(file is: d:\Test.xml)
    There are Options in try menu:
    "Index now" "Indexing status" & value of snooze time. How to set/call it programically

    Where can I read more about that becouse at msdn (Topic WDS) there is almost nothing about developing.
    Is the Microsoft sample of creating Protocol Handler to WDS 2.6 or 3.0 (not for SharedPoint) with changes notification etc.

    Tomasz Rutkowski

  • AsAnonAsICan

    Yes, that CLSID looks correct, but that is the interface off of the CLSID_CGatherNotify:c731055c-ac80-11d1-8df3-00c04fb6ef4f object. You need to CoCreate the CGatherNotify object and ask for the IGatherNotify interface. Example:

    CComPtr<IGatherNotify> cpGatherNotify;
    hr = CoCreateInstance( CLSID_CGatherNotify,
    NULL,
    CLSCTX_SERVER,
    __uuidof(IGatherNotify), // IID_IGatherNotify
    (void **)&cpGatherNotify);



  • IGatherNotify