Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Metode IWbemHiPerfProvider::CreateRefreshableEnum membuat enumerasi baru yang dapat disegarkan. Penyegar WMI memanggil metode ini sebagai respons terhadap permintaan klien ke IWbemConfigureRefresher::AddEnum. Penyedia mengaitkan objek IWbemHiPerfEnum yang disediakan dengan penyegaran yang disediakan. Pada setiap panggilan ke metode Refresh penyegaran yang disediakan, penyedia memastikan bahwa enumerator berisi sekumpulan semua instans kelas yang tercantum dalam parameter wszClass dan bahwa instans ini berisi informasi yang diperbarui. Salah satu cara yang mungkin untuk melakukan ini adalah dengan menyimpan array enumerator yang dapat disegarkan dalam penyegaran.
Sintaks
HRESULT CreateRefreshableEnum(
[in] IWbemServices *pNamespace,
[in] LPCWSTR wszClass,
[in] IWbemRefresher *pRefresher,
[in] long lFlags,
[in] IWbemContext *pContext,
[in] IWbemHiPerfEnum *pHiPerfEnum,
[out] long *plId
);
Parameter
[in] pNamespace
Penunjuk IWbemServices kembali ke Manajemen Windows, yang dapat melayani permintaan apa pun yang dibuat oleh penyedia. Jika pNamespace harus memanggil kembali ke Manajemen Windows selama eksekusinya, penyedia memanggil AddRef pada pointer ini.
[in] wszClass
String konstanta yang dihentikan null 16-bit, karakter Unicode yang berisi nama kelas, yang instansnya di-refresh dalam parameter pHiPerfEnum .
[in] pRefresher
Penunjuk ke objek IWbemRefresher yang berisi penyegaran yang diperoleh dengan memanggil IWbemHiPerfProvider::CreateRefresher.
[in] lFlags
Dicadangkan. Parameter ini harus 0 (nol).
[in] pContext
Biasanya NULL; jika tidak, penunjuk ke objek IWbemContext yang diperlukan oleh satu atau beberapa penyedia kelas dinamis. Nilai dalam objek konteks harus ditentukan dalam dokumentasi penyedia tertentu. Untuk informasi selengkapnya tentang parameter ini, lihat Melakukan Panggilan ke WMI.
[in] pHiPerfEnum
Penunjuk ke objek IWbemHiPerfEnum yang berisi enumerasi berkinerja tinggi.
[out] plId
Arahkan ke bilangan bulat yang dikembalikan oleh penyedia yang secara unik mengidentifikasi enumerasi yang dapat disegarkan.
Mengembalikan nilai
Metode ini mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang terkandung dalam HRESULT.
Keterangan
Penyedia tidak boleh mengubah enumerator yang dapat di-refresh kecuali selama operasi refresh. Enumerasinya dangkal, sehingga semua instans yang ditempatkan di enumerator harus dari kelas yang ditentukan oleh wszClass.
Penyedia tidak boleh mengakses enumerator kecuali WMI memanggil metode IWbemRefresher::Refresh pemilik. Seperti halnya objek yang dapat disegarkan, penyedia tidak boleh memperbarui enumerator kecuali objek yang memiliki enumerator me-refresh enumerator.
Contoh
Contoh kode berikut menjelaskan cara mengimplementasikan CreateRefreshableEnum.
HRESULT CHiPerfProvider::CreateRefreshableEnum(
/* [in] */IWbemServices *pNamespace,
/* [in] */LPCWSTR wszClass,
/* [in] */IWbemRefresher *pRefresher,
/* [in] */long lFlags,
/* [in] */IWbemContext *pCtx,
/* [in] */IWbemHiPerfEnum *pEnum,
/* [out] */ long *plId
)
{
// Use a private interface defined
// to talk with the refresher.
IMyRefresher* pMyRefr = NULL;
HRESULT hres = pRefresher->QueryInterface(
IID_IMyRefresher,
(void**) &pMyRefr );
if ( SUCCEEDED( hres ) )
{
LPLONG plLastId;
// Generates a unique identifier
*plId = InterlockedIncrement( &plLastId );
// Use an internal method to add the
// enumerator to an array.
pMyRefr->AddEnum( wszClass, *plId, pEnum );
pMyRefr->Release();
}
return hres;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | wbemprov.h (termasuk Wbemidl.h) |
Pustaka | Wbemuuid.lib |
DLL | Wmiprvsd.dll |
Lihat juga
Membuat Penyedia Instans menjadi Penyedia High-Performance