Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Alkalmazza a metaadatok változásait és a közös köztes nyelv (CIL) kódjának módosításait a futó folyamatra.
Szemantika
HRESULT ApplyChanges (
[in] ULONG cbMetadata,
[in, size_is(cbMetadata)] BYTE pbMetadata[],
[in] ULONG cbIL,
[in, size_is(cbIL)] BYTE pbIL[]
);
Paraméterek
cbMetadata [in] A delta metaadatainak mérete bájtban.
pbMetadata [in] A delta metaadatait tartalmazó puffer. A puffer címét az IMetaDataEmit2::SaveDeltaToMemory metódus adja vissza.
A metaadatok relatív virtuális címeinek (RVA-knak) a CIL-kód elejéhez kell viszonyítani.
cbIL [in] A delta CIL-kód mérete bájtban.
pbIL [in] A frissített CIL-kódot tartalmazó puffer.
Megjegyzések
A pbMetadata paraméter speciális delta metaadat-formátumban van ( az IMetaDataEmit2 kimenete::SaveDeltaToMemory).
pbMetadata a korábbi metaadatokat veszi alapul, és leírja az adott alapra alkalmazandó egyéni módosításokat.
Ezzel szemben a pbIL[] paraméter tartalmazza a frissített metódus új CIL-ét, és a metódus előző CIL-jének teljes cseréjére szolgál.
Amikor létrejött a delta CIL és a metaadatok a hibakereső memóriájában, a hibakereső meghívja ApplyChanges a módosításokat a közös nyelvi futtatókörnyezetbe (CLR). A futtatókörnyezet frissíti a metaadattáblákat, az új CIL-t a folyamatba helyezi, és beállít egy igény szerinti (JIT) összeállítást az új CIL-ről. A módosítások alkalmazásakor a hibakeresőnek fel kell hívnia az IMetaDataEmit2::ResetENCLog parancsot, hogy felkészüljön a következő szerkesztési munkamenetre. A hibakereső ezután folytathatja a folyamatot.
Amikor a hibakereső olyan modult hív ApplyChanges meg, amely különbözeti metaadatokkal rendelkezik, az IMetaDataEmit::ApplyEditAndContinue metódust is meghívja ugyanazokkal a delta metaadatokkal az adott modul metaadatainak összes példányán, kivéve a módosítások kibocsátásához használt másolatot. Ha a metaadatok egy példánya valahogy nem szinkronizálódik a tényleges metaadatokkal, a hibakereső mindig eldobhatja a másolatot, és új példányt szerezhet be.
Ha a ApplyChanges metódus sikertelen, a hibakeresési munkamenet érvénytelen állapotban van, ezért újra kell indítani.
Requirements
Platformok: Lásd: .NET által támogatott operációs rendszerek.
Fejléc: CorDebug.idl, CorDebug.h
Könyvtár: CorGuids.lib
.NET-verziók: A .NET-keretrendszer 2.0 óta érhető el