|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| Question |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: |
More background, with failure exits and other details omitted for simplicity...
Here's the skeleton client:
HRESULT hr = CoInitializeEx (0, (COINIT_APARTMENTTHREADED);
CoInitializeSecurity ( // Initialize security
0, -1, 0, 0, RPC_C_AUTHN_LEVEL_NONE,
RPC_C_IMP_LEVEL_IDENTIFY, 0, EOAC_NONE, 0
);
CoCreateInstanceEx with: CLSID_MyClass, CLSCTX_LOCAL_SERVER, IID_MyInterface
which always fails and the client exits.
...
Here's the skeleton server process:
CoInitializeEx (0, (COINIT_APARTMENTTHREADED);
CoInitializeSecurity ( // Initialize security
0, -1, 0, 0, RPC_C_AUTHN_LEVEL_NONE,
RPC_C_IMP_LEVEL_IDENTIFY, 0, EOAC_NONE, 0
);
CoRegisterClassObject( ), with CLSID_MyClass, the class instance( ),
REGCLS_MULTIPLEUSE, CLSCTX_LOCAL_SERVER
while (GetMessage (&msg, 0, 0, 0)) { // pump Windows messages for life
DispatchMessage(&msg); TranslateMessage (&msg);
}
CoRevokeClassObject releases class object(s)
CoUninitialize ( )
process exits
Some of the things tried:
- Different security settings; eliminating explicit security altogether, etc.
- Used the long method instead of calling CoCreateInstanceEx,
i.e. via CoGetClassObject/IID_IClassFactory/CreateInstance, which reports
an "Interface not registered" error (0x80040155), rather than E_NOINTERFACE
- Different CLSCTX and REGCLS settings
- Reviewed and verified all the install parameters, using oleview.
- Reviewed internal operation with debugger, code traces, etc.
- Read Essential COM (by Don Box), all over again, and again.
|
Advertisement
| Hall of Fame |