ICorDebugValue -> ICorDebugObjectValue on GetContainerObject()
authorAndrew Au <andrewau@microsoft.com>
Tue, 15 May 2018 20:54:46 +0000 (13:54 -0700)
committerAndrew Au <cshung@gmail.com>
Wed, 7 Nov 2018 02:34:47 +0000 (18:34 -0800)
Commit migrated from https://github.com/dotnet/coreclr/commit/731dd75e3dfe7f2ef6f857121c0eb2e460d38bce

src/coreclr/src/debug/di/process.cpp
src/coreclr/src/debug/di/rspriv.h
src/coreclr/src/inc/cordebug.idl
src/coreclr/src/pal/prebuilt/inc/cordebug.h

index 3f817c9..4642937 100644 (file)
@@ -2529,7 +2529,7 @@ COM_METHOD CordbProcess::EnableExceptionCallbacksOutsideOfMyCode(BOOL enableExce
     return hr;
 }
 
-COM_METHOD CordbProcess::GetContainerObject(CORDB_ADDRESS interiorPointer, ICorDebugValue** ppContainerObject)
+COM_METHOD CordbProcess::GetContainerObject(CORDB_ADDRESS interiorPointer, ICorDebugObjectValue** ppContainerObject)
 {
     HRESULT hr = S_OK;
     // TODO, databp, I don't know what I am doing, NO_LOCK doesn't sound right
@@ -2552,14 +2552,7 @@ COM_METHOD CordbProcess::GetContainerObject(CORDB_ADDRESS interiorPointer, ICorD
     {
         _ASSERTE(event.type == DB_IPCE_GET_CONTAINER_RESULT);
         CORDB_ADDRESS containerAddress = PTR_TO_CORDB_ADDRESS(event.GetContainerResult.answer);
-        ICorDebugObjectValue* pResult;
-        hr = this->GetObject(containerAddress, &pResult);
-        if (SUCCEEDED(hr))
-        {
-            hr = pResult->QueryInterface(__uuidof(ICorDebugValue), (void**)ppContainerObject);
-            // TODO, databp, smart pointer
-            pResult->Release();
-        }
+        hr = this->GetObject(containerAddress, ppContainerObject);
     }
 
     PUBLIC_API_END(hr);
index b80bf62..d5a8e60 100644 (file)
@@ -3165,7 +3165,7 @@ public:
     //-----------------------------------------------------------
     // ICorDebugProcess9
     //-----------------------------------------------------------
-    COM_METHOD GetContainerObject(CORDB_ADDRESS interiorPointer, ICorDebugValue** ppContainerObject);
+    COM_METHOD GetContainerObject(CORDB_ADDRESS interiorPointer, ICorDebugObjectValue** ppContainerObject);
 
     COM_METHOD CreateBreakpoint(CORDB_ADDRESS address, ICorDebugValueBreakpoint **ppBreakpoint);
 
index 0faaa7a..7f13bf6 100644 (file)
@@ -3267,7 +3267,7 @@ interface ICorDebugProcess8 : IUnknown
 ]
 interface ICorDebugProcess9 : IUnknown
 {
-    HRESULT GetContainerObject([in] CORDB_ADDRESS interiorPointer, [out] ICorDebugValue** ppContainerObject);
+    HRESULT GetContainerObject([in] CORDB_ADDRESS interiorPointer, [out] ICorDebugObjectValue** ppContainerObject);
 }
 
 // Event types MODULE_LOADED and MODULE_UNLOADED implement this interface
index f89a745..c8ad161 100644 (file)
@@ -7828,7 +7828,7 @@ EXTERN_C const IID IID_ICorDebugProcess9;
     public:
         virtual HRESULT STDMETHODCALLTYPE GetContainerObject( 
             /* [in] */ CORDB_ADDRESS interiorPointer,
-            /* [out] */ ICorDebugValue **ppContainerObject) = 0;
+            /* [out] */ ICorDebugObjectValue **ppContainerObject) = 0;
         
     };
     
@@ -7854,7 +7854,7 @@ EXTERN_C const IID IID_ICorDebugProcess9;
         HRESULT ( STDMETHODCALLTYPE *GetContainerObject )( 
             ICorDebugProcess9 * This,
             /* [in] */ CORDB_ADDRESS interiorPointer,
-            /* [out] */ ICorDebugValue **ppContainerObject);
+            /* [out] */ ICorDebugObjectValue **ppContainerObject);
         
         END_INTERFACE
     } ICorDebugProcess9Vtbl;