Bagikan melalui


Fungsi TdhGetPropertySize (tdh.h)

Mengambil ukuran satu atau beberapa nilai properti dalam data peristiwa.

Sintaks

TDHSTATUS TdhGetPropertySize(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [out] ULONG                     *pPropertySize
);

Parameter

[in] pEvent

Rekaman peristiwa diteruskan ke panggilan balik EventRecordCallback Anda. Untuk detailnya, lihat struktur EVENT_RECORD .

[in] TdhContextCount

Jumlah elemen dalam pTdhContext.

[in] pTdhContext

Array nilai konteks hanya untuk peristiwa WPP atau ETW klasik, jika tidak, NULL. Untuk detailnya, lihat struktur TDH_CONTEXT . Array tidak boleh berisi jenis konteks duplikat.

[in] PropertyDataCount

Jumlah struktur deskriptor data dalam pPropertyData.

[in] pPropertyData

Array struktur PROPERTY_DATA_DESCRIPTOR yang menentukan properti yang ukurannya ingin Anda ambil.

Anda dapat meneruskan array yang sama ini ke fungsi TdhGetProperty untuk mengambil data properti.

Jika Anda mengambil ukuran properti yang bukan anggota struktur, Anda dapat menentukan satu deskriptor data. Jika Anda mengambil ukuran properti yang merupakan anggota struktur, tentukan array dua deskriptor data (struktur tidak boleh berisi atau mereferensikan struktur lain). Untuk informasi selengkapnya tentang menentukan parameter ini, lihat contoh kode di bawah ini.

[out] pPropertySize

Ukuran properti, dalam byte. Gunakan nilai ini untuk mengalokasikan buffer yang diteruskan dalam parameter pBuffer dari fungsi TdhGetProperty .

Mengembalikan nilai

Mengembalikan ERROR_SUCCESS jika berhasil. Jika tidak, fungsi ini mengembalikan salah satu kode pengembalian berikut selain yang lain.

Menampilkan kode Deskripsi
ERROR_NOT_FOUND
Skema untuk peristiwa tidak ditemukan atau peta yang ditentukan tidak ditemukan.

Jika Anda menggunakan kelas MOF untuk menentukan peristiwa Anda, TDH mencari skema di repositori WMI. Jika Anda menggunakan manifes untuk menentukan peristiwa Anda, TDH akan melihat sumber daya penyedia. Jika Anda menggunakan manifes, atribut resourceFileName dari elemen penyedia menentukan lokasi di mana TDH mengharapkan untuk menemukan sumber daya.

ERROR_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
ERROR_FILE_NOT_FOUND
Atribut resourceFileName dalam manifes berisi lokasi biner penyedia. Saat Anda mendaftarkan manifes, lokasi ditulis ke registri. TDH tidak dapat menemukan biner berdasarkan lokasi terdaftar.
ERROR_WMI_SERVER_UNAVAILABLE
Layanan WMI tidak tersedia.

Keterangan

Jika peristiwa tersebut adalah peristiwa WPP atau ETW klasik, Anda dapat menentukan informasi konteks yang digunakan untuk membantu mengurai informasi peristiwa. Acara ini adalah peristiwa WPP jika bendera EVENT_HEADER_FLAG_TRACE_MESSAGE diatur di anggota BenderaEVENT_HEADER (lihat anggota EventHeaderdari EVENT_RECORD). Acara ini adalah peristiwa ETW warisan jika bendera EVENT_HEADER_FLAG_CLASSIC_HEADER diatur.

Contoh

Untuk contoh yang menunjukkan cara memanggil fungsi ini, lihat Menggunakan TdhGetProperty untuk Mengonsumsi Data Peristiwa.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header tdh.h
Pustaka Tdh.lib
DLL Tdh.dll

Lihat juga

TdhGetProperty