Bagikan melalui


EXT_ANALYSIS_PLUGIN fungsi panggilan balik (extsfns.h)

Saat menulis Ekstensi Analisis, Anda harus menerapkan EXT_ANALYSIS_PLUGIN yang diekspor sebagai (_EFN_Analyze). Ketika perintah !analyze debugger berjalan, perintah ini memanggil _EFN_Analyze Anda di setiap fase, sehingga Anda dapat berpartisipasi dalam analisis.

Konvensi panggilan WINAPI (__stdcall) diperlukan. Tidak ada pengecualian (noexcept) yang harus meninggalkan fungsi.

Sintaks

EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;

HRESULT ExtAnalysisPlugin(
  [in] PDEBUG_CLIENT4 Client,
  [in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
  [in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}

Parameter

[in] Client

Penunjuk ke antarmuka IDebugClient4 . Gunakan antarmuka ini untuk mengakses debugger. Gunakan QueryInterface untuk mengakses antarmuka Debugger lainnya, seperti antarmuka Warisan (IDebug*), Host Debug (IDebugHost*), Model Data (IDataModel*), dll., .

[in] CallPhase

Nilai dalam enumerasi FA_EXTENSION_PLUGIN_PHASE yang menentukan fase analisis mana yang saat ini sedang berlangsung. Fase analisis termasuk inisialisasi, analisis tumpukan, pra-bucketing, dan pasca-bucketing.

[in] pAnalysis

Penunjuk ke antarmuka IDebugFailureAnalysis2 . Gunakan antarmuka ini untuk Mendapatkan/Mengatur properti analisis. Gunakan QueryInterface untuk mengakses antarmuka !analyze lainnya.

Nilai kembali

S_OK - Perubahan dilakukan.

S_FALSE – Tidak ada perubahan yang dilakukan.

E_* - Terjadi kesalahan. !analyze akan melaporkan kesalahan melalui Kunci/Nilai menggunakan string Kunci dan Plugin.Exception."Phase"."DLL" string Nilai HRESULT dalam format "0x%08x".

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header extsfns.h

Lihat juga

Menulis Ekstensi Debugger Analisis Kustom

Menulis Plug-in Ekstensi Analisis untuk Memperluas !analyze