Aracılığıyla paylaş


Etkinlik Sağlayıcısı Kaydetme

WMI olay sağlayıcısı oluşturmak__EventProviderRegistrationörneğini kullanarak sağlayıcınızı temsil eden __Win32Provider örneğini kaydetmeniz gerekir. COM nesnesi olarak, sağlayıcınızın işletim sistemine ve WMI'ye kaydolması gerekir. Aşağıdaki yordamda, Sağlayıcı kaydetmebölümünde açıklandığı gibi kayıt işlemini zaten uyguladığınız varsayılır.

Aşağıdaki yordamda bir olay sağlayıcısının nasıl kaydedildiği açıklanmaktadır.

Bir olay sağlayıcısını kaydetmek için

  1. Sağlayıcıyı açıklayan __Win32Provider sınıfının bir örneğini oluşturun.

  2. Sağlayıcının özellik kümesini açıklayan __EventProviderRegistration sınıfının bir örneğini oluşturun.

    __EventProviderRegistration sınıfı, __ObjectProviderRegistration üst sınıfından birçok özelliği devralır. __EventProviderRegistration sınıfının yerel özellikleri, sağlayıcının nesne yolu ve sağlayıcının desteklediği olayları açıklayan sorguların listesidir. Daha fazla bilgi için bkz. WMI sorgulama.

  3. __Win32Provider ve __EventProviderRegistration sınıflarını uygulamanızı WMI deposuna yükleyin.

    WMI, olay sağlayıcınıza kaydolmak ve erişmek için sınıf tanımınızı kullanır. Daha fazla bilgi için bkz. Sağlayıcı Kaydı.

Aşağıdaki kod örneği, bir __Win32Provider sınıfının ve __EventProviderRegistration sınıfının uygulamasını açıklar.

instance of __Win32Provider as $P
{
    ClientLoadableCLSID = NULL;
    CLSID = "{AA7828C5-95F9-11d2-BB0D-00C042424242}";
    DefaultMachineName = NULL;
    ImpersonationLevel = 0;
    InitializationReentrancy = 0;
    InitializeAsAdminFirst = FALSE;
    Name = "FaxEventProvider";
    PerLocaleInitialization = FALSE;
    PerUserInitialization = FALSE;
    Pure = TRUE;
    UnloadTimeout = NULL;
};

instance of __EventProviderRegistration
{  
Provider = $P;
EventQueryList = {
         "SELECT * FROM FaxEvent",
         "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA \"Win32_LogicalDisk\""};
};

İlk sorgu, sağlayıcının FaxEvent ek olay sınıfı için tüm olay bildirimlerini oluşturduğunu gösterir. ISA işlecini kullandığından, ikinci sorgu sağlayıcının Win32_LogicalDisk sınıfı ve tüm alt sınıfları için tüm örnek oluşturma olayları için bildirimler oluşturduğunu gösterir.

Bir sağlayıcı içkin olay sağlamak üzere kaydolduğunda, olayın sınıfın tüm örneklerine uygulanması gerekir. Başka bir deyişle, yalnızca Win32_LogicalDisk sınıfına ait bazı disk sürücüleri için örnek oluşturma olayları sağlamak üzere bir sorgu yazılamaz.