Sdílet prostřednictvím


ICorDebugRegisterSet2::GetRegisters – metoda

Získá hodnotu každého registru (pro platformu, na které se kód právě spouští), která je určena danou bitové masky.

Syntaxe

HRESULT GetRegisters (  
    [in] ULONG32 maskCount,  
    [in, size_is(maskCount)] BYTE mask[],  
    [in] ULONG32 regCount,  
    [out, size_is(regCount)] CORDB_REGISTER regBuffer[]  
);  

Parametry

maskCount
[v] Velikost pole v bajtech mask .

mask
[v] Pole bajtů, z nichž každý bit odpovídá registru. Pokud je bit 1, načte se odpovídající hodnota registru.

regCount
[v] Počet hodnot registru, které se mají načíst.

regBuffer
[out] Pole CORDB_REGISTER objektů, z nichž každý obdrží hodnotu registru.

Poznámky

Metoda GetRegisters vrátí pole hodnot z registrů, které jsou určeny maskou. Pole neobsahuje hodnoty registrů, jejichž maskovací bit není nastavený. Proto musí být velikost regBuffer pole rovna počtu 1 v masce. Pokud je hodnota regCount příliš malá pro počet registrů označených maskou, hodnoty vyšších číslovaných registrů budou ze sady zkráceny. Pokud regCount je příliš velký, nebudou nepoužívané regBuffer prvky nezměněné.

Pokud maska označí nedostupný registr, vrátí se pro tento registr neurčitá hodnota.

Metoda ICorDebugRegisterSet2::GetRegisters je nezbytná pro platformy, které mají více než 64 registrů. Například IA64 má 128 registrů pro obecné účely a 128 registrů s plovoucí desetinou čárkou, takže potřebujete více než 64 bitů v bitové masce.

Pokud nemáte více než 64 registrů, jako je tomu na platformách, jako je x86, GetRegisters metoda jednoduše přeloží bajty v bajtovém mask poli na ULONG64 a pak zavolá metodu ICorDebugRegisterSet::GetRegisters , která vezme masku ULONG64 .

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorDebug.idl, CorDebug.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také