public COMBindingBaseObject(String progId, boolean useActiveInstance,
int dwClsContext) throws COMException {
// Initialize COM for this thread...
HRESULT hr = Ole32.INSTANCE.CoInitializeEx(null, Ole32.COINIT_APARTMENTTHREADED);
if (hr.intValue() == 1) // Already initialized, no problem
hr = new HRESULT(0);
if (COMUtils.FAILED(hr)) {
this.release();
throw new COMException("CoInitialize() failed!");