hi everyone,

According to the Microsoft Knowledge Base article #Q154320 "BUG:
AfxOleInit Returns TRUE Without Initializing OLE in a DLL", calling
AfxOleInit() in MFC Dll is not recommended. The suggested workarounds
are:

"In order to uninitialize OLE when it is initialized in the DLL, this
requires exported methods for initialization and uninitialization that
the client has to call because the uninitialization has to occur
before the CWinApp::ExitInstance function, which is a part of
DLL_PROCESS_DETACH.

A better solution is to initialize and uninitialize OLE in the client
application. This can be done in MFC by calling AfxOleInit in the
application's InitInstance method of the CWinApp derived class. MFC
then uninitializes OLE by exiting the application"

My question is, if my dll is used by Winlogon.exe (i.e. Windows itself
is the client!), am I correct in stating that the suggested solutions
won't work for me, and if so, what would you recommend I do? I'm
leaning towards trying to have OleInitialize()/OleUninitialize() in
InitInstance()/ExitInstance() of my dll code (its derived from
CWinApp)... but am not sure what sideeffects that will have (since
AfxOleInit() supposedly does more than just call OleInitialize())

any help/suggestions would be appreciated,

regards,
Greg