共用方式為


IDebugHostMemory4::CanonicalizeLocation 方法 (dbgmodel.h)

CanonicalizeLocation 是一種方法,可將指定位置轉換成其「標準表示法」,這是選擇的標準形式。 它可以處理不同類型的位置,例如虛擬記憶體和緩存器,可以透過數種方式表示。

此函式可能很有幫助的傳統範例涉及 Windows 偵錯工具(dbgeng),該偵錯工具會從歷史上將 32 位位址擴充至 64 位,以在高位址感知 32 位進程中呈現和區分特定地址區域時產生困難。

請注意,比較從元件取得的位置或地址,這些元件會針對零個擴充位址報告擴充位址,可能會導致無法預見的失敗。 您可以事先呼叫 CanonicalizeLocation() 來逃避這種錯誤。 請記住,此方法不會轉換位置的類型。 若要轉換類型,您應該呼叫 LinearizeLocation()。

語法

HRESULT CanonicalizeLocation(
  IDebugHostContext *context,
  Location          location,
  Location          *pCanonicalizedLocation
);

參數

context

目前的內容。

location

您想要正式化的位置。

pCanonicalizedLocation

將儲存標準位置的指標。

傳回值

此方法會傳回 HRESULT,指出成功或失敗。

言論

雖然這個方法會將位置的表示法變更為其標準形式,但不會改變位置的實際類型。 使用 LinearizeLocation() 方法 來執行這類類型轉換。

要求

要求 價值
標頭 dbgmodel.h

另請參閱

IDebugHostMemory4 介面