Bagikan melalui


Fungsi CloseTrace (evntrace.h)

Fungsi CloseTrace menutup sesi pemrosesan jejak yang dibuat dengan OpenTrace.

Sintaks

ETW_APP_DECLSPEC_DEPRECATED ULONG WMIAPI CloseTrace(
  [in] TRACEHANDLE TraceHandle
);

Parameter

[in] TraceHandle

Tangani ke sesi pemrosesan jejak untuk ditutup. Fungsi OpenTrace mengembalikan handel ini.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan sistem. Berikut ini adalah beberapa kesalahan umum dan penyebabnya.

  • ERROR_INVALID_HANDLE

    Salah satu hal berikut ini benar:

    • TraceHandle adalah 0.
    • TraceHandleINVALID_PROCESSTRACE_HANDLE.
    • TraceHandle bukan handel yang valid.
  • ERROR_BUSY

    Sebelum Windows Vista, Anda tidak dapat menutup jejak hingga fungsi ProcessTrace selesai.

  • ERROR_CTX_CLOSE_PENDING

    Panggilan berhasil. Fungsi ProcessTrace akan berhenti setelah memproses semua peristiwa real-time di buffernya (tidak akan menerima peristiwa baru).

Keterangan

Konsumen memanggil fungsi ini untuk menutup handel pelacakan yang dikembalikan oleh OpenTrace.

Penting

Jangan gunakan fungsi ini untuk menutup handel pelacakan yang dikembalikan oleh StartTrace.

Jika Anda memproses peristiwa dari file log, Anda memanggil fungsi ini hanya setelah fungsi ProcessTrace kembali. Namun, jika Anda memproses peristiwa real-time, Anda dapat memanggil fungsi ini sebelum ProcessTrace kembali. (Cara lain untuk menghentikan pemrosesan jejak adalah dengan mengembalikan FALSE dari BufferCallback.)

Jika Anda memanggil fungsi ini sebelum ProcessTrace kembali, fungsi CloseTrace mengembalikan ERROR_CTX_CLOSE_PENDING. Kode ERROR_CTX_CLOSE_PENDING menunjukkan bahwa panggilan fungsi CloseTrace berhasil; fungsi ProcessTrace akan berhenti memproses peristiwa setelah memproses semua peristiwa yang diantrekan sebelumnya (ProcessTrace tidak akan menerima peristiwa baru setelah Anda memanggil fungsi CloseTrace ). Anda dapat memanggil fungsi CloseTrace dari panggilan balik BufferCallback, EventCallback, atau EventClassCallback Anda.

Sebelum Windows Vista: Anda dapat memanggil CloseTrace hanya setelah ProcessTrace kembali.

Contoh

Untuk contoh yang menggunakan CloseTrace, lihat Mengambil Data Peristiwa Menggunakan TDH.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header evntrace.h
Pustaka Sechost.lib pada Windows 8.1 dan Windows Server 2012 R2; Advapi32.lib pada Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista dan Windows XP
DLL Sechost.dll pada Windows 8.1 dan Windows Server 2012 R2; Advapi32.dll pada Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, dan Windows XP

Lihat juga

OpenTrace

ProcessTrace