Dela via


ICorDebugThread3::GetActiveInternalFrames-metod

Returnerar en matris med interna ramar (ICorDebugInternalFrame2-objekt ) i stacken.

Syntax

HRESULT GetActiveInternalFrames
      (
      [in] ULONG32 cInternalFrames,
      [out] ULONG32 *pcInternalFrames,
      [in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
            ICorDebugInternalFrame2 * ppInternalFrames[]
      );

Parametrar

cInternalFrames [i] Antalet interna ramar som förväntas i ppInternalFrames.

pcInternalFrames [ut] En pekare till en ULONG32 som innehåller antalet interna bildrutor i stacken.

ppInternalFrames [in, ut] En pekare till adressen till en matris med interna ramar i stacken.

Returvärde

Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.

HRESULT beskrivning
S_OK Objektet ICorDebugInternalFrame2 har skapats.
E_INVALIDARG cInternalFrames är inte noll och ppInternalFrames är null, eller pcInternalFrames är null.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ppInternalFrames är mindre än antalet interna bildrutor.

Undantag

Kommentarer

Interna ramar är datastrukturer som överförs till stacken av körningen för att lagra tillfälliga data.

När du först anropar GetActiveInternalFramesbör du ange parametern cInternalFrames till 0 (noll) och parametern ppInternalFrames till null. När GetActiveInternalFrames du först returnerar pcInternalFrames innehåller antalet interna bildrutor i stacken.

GetActiveInternalFrames ska sedan anropas en andra gång. Du bör skicka rätt antal (pcInternalFrames) i parametern cInternalFrames och ange en pekare till en matris med lämplig storlek i ppInternalFrames.

Använd metoden ICorDebugStackWalk::GetFrame för att returnera faktiska stackramar.

Krav

Plattformar: Se Systemkrav.

Rubrik: CorDebug.idl, CorDebug.h

Bibliotek: CorGuids.lib

.NET Framework-versioner: Finns sedan 4

Se även