Bagikan melalui


Metode IWbemHiPerfProvider::CreateRefreshableEnum (wbemprov.h)

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.

Catatan Jika penyedia tidak menerapkan metode ini, penyedia harus mengembalikan WBEM_E_PROVIDER_NOT_CAPABLE.
 

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

Mengembangkan Penyedia WMI

IWbemHiPerfProvider

Membuat Penyedia Instans menjadi Penyedia High-Performance

Penyedia Penghitung Kinerja

Menulis Penyedia Instans