共用方式為


PETW_BUFFER_CALLBACK回呼函式 (evntrace.h)

ProcessTrace將叫用之 BufferCallback 的函式定義。

語法

PETW_BUFFER_CALLBACK PetwBufferCallback;

BOOL PetwBufferCallback(
  const ETW_BUFFER_HEADER *Buffer,
  ULONG BufferSize,
  const ETW_BUFFER_CALLBACK_INFORMATION *ConsumerInfo,
  void *CallbackContext
)
{...}

參數

Buffer

原始緩衝區資料的指標,其開頭為 ETW_BUFFER_HEADER 結構,後面接著事件資料。

根據預設,此緩衝區僅適用于回呼傳回為止。 若要在回呼傳回之後使用緩衝區,請呼叫 ProcessTraceBufferIncrementReference。 這會將緩衝區保持在可用狀態,直到您呼叫 ProcessTraceBufferDecrementReference 為止。

ProcessTrace 將不會傳回,直到所有這類緩衝區參考都遞減為止。

BufferSize

所提供 緩衝區的大小。

ConsumerInfo

包含處理會話目前狀態的相關資訊。

CallbackContext

使用者提供的內容,ETW_OPEN_TRACE_OPTIONS 。BufferCallbackCoNtext

傳回值

如果 為 TRUE,處理將會繼續。 如果 為 FALSE,追蹤處理將會停止, 而 ProcessTrace 將會傳回。

需求

   
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 evntrace.h
程式庫 Windows 8.1 和 Windows Server 2012 R2 上的 Sechost.lib;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.lib
Dll Windows 8.1和 Windows Server 2012 R2 上的 Sechost.dll;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.dll