HRESULT Error:Class not registered (FACILITY_ITF)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

HRESULT Error:Class not registered (FACILITY_ITF)

Nevin Pratt-2
I've been playing with Bot-Kit, under both Dolphin 2.1 and Dolphin 4.0.

I get the above error on one particular machine, under both versions of
Dolphin.  I did a fresh install of Windows 2000 on that machine, and it
didn't change anything.  Still get the above error on that machine.  My
other machine works fine.

I also get the exact same error on the bad machine if I do: 'IDispatch
example1'.  During 'IDispatch example1', the stack is as follows:

OLELibrary(ExternalLibrary)>>invalidCall
OLELibrary>>CLSIDFromProgID:pclsid:
CLSID class>>fromProgID:

For 'RCX new', the stack is as follows:

OLELibrary(ExternalLibrary)>>invalidCall
OLELibrary>>coCreateInstance:pUnkOuter:dwClsContext:riid:ppv:
ISpirit class(COMInterface class)>>onCLSID:outerIUnknown:

Anybody got a clue as to why I'm getting the "HResult Error:Class not
registered(FACILITY_ITF)"?

Thanks,

Nevin Pratt


Reply | Threaded
Open this post in threaded view
|

Re: HRESULT Error:Class not registered (FACILITY_ITF)

Nevin Pratt-2
Hmmm, another thing is happening on that "bad" machine that I think is
related.  When I attempt to install the "Dolphin Plugin 4.0 for
Netscape", it errors out as follows:

Error 1904. Module C:\Program
Files\Netscape\Communicator\Program\Plugins\NpDolphin.DLL failed to
register
HRESULT -2147024770.  Contact your support personnel.


"Nevin Pratt" <[hidden email]> wrote in message
news:epW36.13908$[hidden email]...
> I've been playing with Bot-Kit, under both Dolphin 2.1 and Dolphin
4.0.
>
> I get the above error on one particular machine, under both versions
of
> Dolphin.  I did a fresh install of Windows 2000 on that machine, and
it
> didn't change anything.  Still get the above error on that machine.
My

> other machine works fine.
>
> I also get the exact same error on the bad machine if I do: 'IDispatch
> example1'.  During 'IDispatch example1', the stack is as follows:
>
> OLELibrary(ExternalLibrary)>>invalidCall
> OLELibrary>>CLSIDFromProgID:pclsid:
> CLSID class>>fromProgID:
>
> For 'RCX new', the stack is as follows:
>
> OLELibrary(ExternalLibrary)>>invalidCall
> OLELibrary>>coCreateInstance:pUnkOuter:dwClsContext:riid:ppv:
> ISpirit class(COMInterface class)>>onCLSID:outerIUnknown:
>
> Anybody got a clue as to why I'm getting the "HResult Error:Class not
> registered(FACILITY_ITF)"?
>
> Thanks,
>
> Nevin Pratt
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: HRESULT Error:Class not registered (FACILITY_ITF)

Blair McGlashan
In reply to this post by Nevin Pratt-2
Nevin

You wrote in message
news:epW36.13908$[hidden email]...
> ...
> Anybody got a clue as to why I'm getting the "HResult Error:Class not
> registered(FACILITY_ITF)"?

I'm sorry if this sounds facetious, but "Because the class is not
registered". This is one of those relatively rare Microsoft errors that
actually means what it says. It occurs when either the class has not been
registered (by its installer or manually using RegSvr32.exe), or because it
is failing to register. The most common reason one comes across for a
COMponent failing to register is that the DLL is failing to load due to a
missing dependency. Microsoft have an excellent utility which is very useful
for diagnosing this sort of problem, namely Depends.exe. When run against
the offending OCX/DLL/EXE it will highlight any problem(s) in red. Its part
of the Platform SDK and also the Resource Kits. Try
http://www.dependencywalker.com

With regard to your follow up posting, it seems likely that the same missing
dependency is causing a problem for the plugin installation too. One can use
Dolphin's capabilities to decode that HRESULT easily enough:
HRESULT fromInteger: -2147024770   "a HRESULT(0x8007007E - The specified
module could not be found.)"


Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: HRESULT Error:Class not registered (FACILITY_ITF)

Nevin Pratt-2
"Blair McGlashan" <[hidden email]> wrote in message
news:%y046.41728$[hidden email]...
> Nevin
>
> You wrote in message
> news:epW36.13908$[hidden email]...
> > ...
> > Anybody got a clue as to why I'm getting the "HResult Error:Class
not
> > registered(FACILITY_ITF)"?
>
> I'm sorry if this sounds facetious, but "Because the class is not
> registered". This is one of those relatively rare Microsoft errors
that
> actually means what it says. It occurs when either the class has not
been
> registered (by its installer or manually using RegSvr32.exe), or
because it
> is failing to register. The most common reason one comes across for a
> COMponent failing to register is that the DLL is failing to load due
to a
> missing dependency. Microsoft have an excellent utility which is very
useful
> for diagnosing this sort of problem, namely Depends.exe. When run
against
> the offending OCX/DLL/EXE it will highlight any problem(s) in red. Its
part
> of the Platform SDK and also the Resource Kits. Try
> http://www.dependencywalker.com
>
> With regard to your follow up posting, it seems likely that the same
missing
> dependency is causing a problem for the plugin installation too. One
can use
> Dolphin's capabilities to decode that HRESULT easily enough:
> HRESULT fromInteger: -2147024770   "a HRESULT(0x8007007E - The
specified
> module could not be found.)"

I grabbed Depends.exe, and dropped the Dolphin plugin DLL on it.  It
complained about a missing 'MSVCP60.DLL'.  I found that DLL on my other
computer, and copied it to C:\winnt\system32, then rebooted (to be
safe).  Then the plugin installed OK without errors.

However, it did not solve the other problem.  "IDISPATCH example1" (in
Dolphin 2.1), and "IDISPATCH example3" (in Dolphin 4.0) and "IDISPATCH
example4" (in Dolphine 4.0) all complain as before.  So does the Bot-Kit
(in both Dolphin versions).

I click "Debug", and select the highest stack frame.  It shows as:
an OLELibrary(16r77A50000 - 'C:\WINNT\system32\ole32.dll')

Thinking the dependency problem might show in the 'Depends.exe' program
with the 'ole32.dll', I open it in the 'Depends.exe'.  It doesn't show
any problems.  Nothing in red.

Next, thinking the "class" that has not been registered is probably
named FACILITY_ITF, I conducted a fruitless search via 'Depends.exe' on
various DLL's in an attempt to find one that uses FACILITY_ITF, even
though I really don't have a clue what FACILITY_ITF really is.

Anyway, it's still broken.  But, I'm still poking around trying to find
the problem.

Nevin Pratt


Reply | Threaded
Open this post in threaded view
|

Re: HRESULT Error:Class not registered (FACILITY_ITF)

Blair McGlashan
Nevin

You wrote in message
news:r%246.15303$[hidden email]...

> ...
> I grabbed Depends.exe, and dropped the Dolphin plugin DLL on it.  It
> complained about a missing 'MSVCP60.DLL'.  I found that DLL on my other
> computer, and copied it to C:\winnt\system32, then rebooted (to be
> safe).  Then the plugin installed OK without errors.
>
> However, it did not solve the other problem.  "IDISPATCH example1" (in
> Dolphin 2.1), and "IDISPATCH example3" (in Dolphin 4.0) and "IDISPATCH
> example4" (in Dolphine 4.0) all complain as before.  So does the Bot-Kit
> (in both Dolphin versions).

Those examples may well not work if you don't have those components on your
machine (examples 3 and 4 in D4 require Microsoft Office since they are
examples of automating Word).

Have you tried re-registering the Spirit.ocx (using RegSvr32.exe)?

>
> I click "Debug", and select the highest stack frame.  It shows as:
> an OLELibrary(16r77A50000 - 'C:\WINNT\system32\ole32.dll')

That is presumably because the failure to create the object, due to its
class not being registered, is in a call to CoCreateInstance (or
CoGetClassFactory). It doesn't mean the problem is in ole32.dll.

>
> Thinking the dependency problem might show in the 'Depends.exe' program
> with the 'ole32.dll', I open it in the 'Depends.exe'.  It doesn't show
> any problems.  Nothing in red.

It is unlikely any pre-reqs of ole32.dll are missing - it is pretty
fundamental, and Windows won't work without it these days.

>
> Next, thinking the "class" that has not been registered is probably
> named FACILITY_ITF, I conducted a fruitless search via 'Depends.exe' on
> various DLL's in an attempt to find one that uses FACILITY_ITF, even
> though I really don't have a clue what FACILITY_ITF really is.

FACILITY_ITF is a "Facility Code" (i.e. an error classification), not a
class. See http://msdn.microsoft.com/library/psdk/com/error_5g6r.htm for a
better explanation.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: HRESULT Error:Class not registered (FACILITY_ITF)

Nevin Pratt-2
"Blair McGlashan" <[hidden email]> wrote in message
news:Pr746.43180$[hidden email]...
> Nevin
>
> Those examples may well not work if you don't have those components on
your
> machine (examples 3 and 4 in D4 require Microsoft Office since they
are
> examples of automating Word).

Oh, yea.  Of course.  When I re-installed Windows 2000, I never
reinstalled Office.  So, I just did it, and it works.

> Have you tried re-registering the Spirit.ocx (using RegSvr32.exe)?

Bingo again.  I believe the original install must have been interrupted
or something.

Thanks again.

Nevin