Bagikan melalui


Mendaftarkan Penyedia High-Performance

Seperti penyedia instans lainnya, Anda mendaftarkan penyedia berkinerja tinggi dengan Microsoft Windows Management Instrumentation (WMI) dengan membuat instans __Win32Provider dan kelas __InstanceProviderRegistration . Instans __Win32Provider menentukan implementasi fisik penyedia, dan instans __InstanceProviderRegistration menentukan set fitur penyedia. Untuk informasi selengkapnya, lihat Mendaftarkan Penyedia.

Prosedur berikut menjelaskan cara mendaftarkan penyedia instans berkinerja tinggi.

Untuk mendaftarkan penyedia instans berkinerja tinggi

  1. Buat instans kelas __Win32Provider yang menjelaskan penyedia.

    Pastikan untuk menambahkan properti ClientLoadableCLSID ke instans __Win32Provider . Jika penyedia dan klien berada di komputer yang sama, WMI memuat penyedia dalam proses ke klien menggunakan ClientLoadableCLSID sebagai pengidentifikasi kelas. Ketika penyedia dan klien berada di komputer yang berbeda, WMI memuat penyedia dalam proses ke WMI. WMI juga menggunakan ClientLoadableCLSID untuk mendukung operasi refresh.

  2. Buat instans kelas __InstanceProviderRegistration yang menjelaskan kumpulan fitur penyedia.

    Pastikan untuk menandai kelas dengan kualifikasi Dinamis dan Penyedia . Kualifikasi dinamis menandakan bahwa WMI harus menggunakan penyedia untuk mengambil instans kelas. Kualifikasi Penyedia menentukan nama penyedia yang harus digunakan WMI.

    Penyedia berkinerja tinggi juga perlu menyatakan dukungan untuk operasi, operasi enumerasi, atau keduanya. Pastikan Anda menggunakan properti SupportsGet and SupportsEnumeration dalam implementasi Anda.

Contoh kode berikut menunjukkan kepada Anda cara mengimplementasikan kelas __Win32Provider dan __InstanceProviderRegistration untuk penyedia berkinerja tinggi.

instance of __Win32Provider as $P
{
    Name="TestProv";
    CLSID="{A41602A4-C038-11d1-AEB6-00C04FB68820}";
    ClientLoadableCLSID="{423B32C9-B033-4242-EFB6-55C044242821}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsEnumeration = TRUE;
};

[ dynamic, 
  provider("TestProv")
]

class TestClass
{
    [key] string KeyVal;
    
    string StrVal1;

    sint32 IntVal1;
    sint32 IntVal2;

    sint32 IntArray2[];
};

Membuat Penyedia Instans menjadi Penyedia High-Performance