private ComPointer(TComInterface comInterface) { Interface = comInterface; _pUnk = RdMarshal.GetIUnknownForObject(Interface); ConstructorObjectPrint(); }
void ComTypes.ITypeInfo.CreateInstance(object pUnkOuter, ref Guid riid, out object ppvObj) { // initialize out parameters ppvObj = default; using (var outPpvObj = AddressableVariables.CreateObjectPtr <object>()) { var unkOuter = RdMarshal.GetIUnknownForObject(pUnkOuter); var hr = _this_Internal.CreateInstance(unkOuter, riid, outPpvObj.Address); RdMarshal.Release(unkOuter); if (ComHelper.HRESULT_FAILED(hr)) { HandleBadHRESULT(hr); } ppvObj = outPpvObj.Value; } }