Fungsi TdhGetProperty (tdh.h)
Mengambil nilai properti dari data peristiwa.
Sintaks
TDHSTATUS TdhGetProperty(
[in] PEVENT_RECORD pEvent,
[in] ULONG TdhContextCount,
[in] PTDH_CONTEXT pTdhContext,
[in] ULONG PropertyDataCount,
[in] PPROPERTY_DATA_DESCRIPTOR pPropertyData,
[in] ULONG BufferSize,
[out] PBYTE pBuffer
);
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 akan diambil.
Jika Anda memanggil fungsi TdhGetPropertySize untuk mengambil ukuran buffer yang diperlukan untuk properti, Anda dapat menggunakan deskriptor data yang sama.
Jika Anda mengambil properti yang bukan anggota struktur, Anda dapat menentukan satu deskriptor data. Jika Anda mengambil properti yang merupakan anggota struktur, tentukan array dua deskriptor data (struktur tidak boleh berisi atau mereferensikan struktur lain).
[in] BufferSize
Ukuran buffer pBuffer , dalam byte. Anda bisa mendapatkan nilai ini dari parameter pPropertySize saat memanggil fungsi TdhGetPropertySize .
[out] pBuffer
Buffer yang dialokasikan pengguna yang menerima data properti.
Mengembalikan nilai
Mengembalikan ERROR_SUCCESS jika berhasil. Jika tidak, fungsi ini mengembalikan salah satu kode pengembalian berikut selain yang lain.
Menampilkan kode | Deskripsi |
---|---|
|
Skema untuk kejadian tidak ditemukan atau properti yang ditentukan tidak ditemukan. |
|
Buffer pBuffer terlalu kecil. Untuk mendapatkan ukuran buffer yang diperlukan, panggil TdhGetPropertySize. |
|
Satu atau beberapa parameter tidak valid. |
|
Atribut resourceFileName dalam manifes berisi lokasi biner penyedia. Saat Anda mendaftarkan manifes, lokasi ditulis ke registri. TDH tidak dapat menemukan biner berdasarkan lokasi terdaftar. |
|
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.
Untuk daftar properti untuk peristiwa WPP dan jenis datanya, lihat PROPERTY_DATA_DESCRIPTOR.
Contoh
Untuk contoh yang menunjukkan cara memanggil fungsi ini untuk mengambil nilai properti tingkat atas atau anggota struktur, 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 |