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