Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Diğer sistem bileşenlerine, sürücülere veya uygulamalara aktarılacak bir öğe için yeni bir GUID tanımlarsınız. Örneğin, cihazlarından birinde özel bir PnP olayı için yeni bir GUID tanımlarsınız. Yeni bir GUID tanımlamak ve dışarı aktarmak için aşağıdakileri yapmanız gerekir:
GUID için sembolik bir ad seçin.
GUID'nin amacını temsil eden bir ad seçin. Örneğin, işletim sistemi GUID_BUS_TYPE_PCI ve PARPORT_WMI_ALLOCATE_FREE_COUNTS_GUID gibi adları kullanır.
Uuidgen.exe veya Guidgen.exekullanarak GUID için bir değer oluşturun. Microsoft Windows SDK'sını yüklediğinizde Uuidgen.exe otomatik olarak yüklenir.
Bu yardımcı programlar, 128 bit değeri temsil eden benzersiz, biçimlendirilmiş bir dize oluşturur. "-s" anahtarı etkinleştirildiğinde Uuidgen.exe, GUID'yi C yapısı olarak formatlayarak çıktı verir.
GUID'yi uygun bir üst bilgi dosyasında tanımlayın.
GUID sembolik adını değeriyle ilişkilendirmek için DEFINE_GUID makrosunu (Guiddef.h içinde tanımlanır) kullanın (bkz. Örnek 1).
Örnek 1: GUID-Only Üst Bilgi Dosyasında GUID Tanımlama
: DEFINE_GUID( GUID_BUS_TYPE_PCMCIA, 0x09343630L, 0xaf9f, 0x11d0, 0x92,0x9f, 0x00, 0xc0, 0x4f, 0xc3, 0x40, 0xb1 ); DEFINE_GUID( GUID_BUS_TYPE_PCI, 0xc8ebdfb0L, 0xb510, 0x11d0, 0x80,0xE9, 0x00, 0x00, 0xf8, 0x1e, 0x1b, 0x30 ); :GUID, GUID tanımları dışında deyimler içeren bir üst bilgi dosyasında tanımlanmışsa, GUID'nin üst bilgi dosyasını içeren sürücülerde örneklendiğinden emin olmak için ek bir adım atmalısınız. DEFINE_GUID deyimi, birden çok dahil edilmeyi engelleyen tüm #ifdef deyimlerinin dışında gerçekleşmelidir. Aksi takdirde, üst bilgi dosyası derlenen bir ön tanımlı başlıkta yer alıyorsa, GUID üst bilgi dosyasını kullanan sürücülerde oluşturulmaz. Karma üst bilgi dosyasındaki örnek GUID tanımı için Örnek 2'ye bakın.
Örnek 2: Karma Üst Bilgi Dosyasında GUID Tanımlama
#ifndef _NTDDSER_ // this ex. is from a serial driver .h file #define _NTDDSER_ : // Put other header file definitions here. : #endif // _NTDDSER_ #ifdef DEFINE_GUID // Do not break compiles of drivers that // include this header but that do not // want the GUIDs. // // Put GUID definitions outside of the multiple inclusion // protection. DEFINE_GUID(GUID_CLASS_COMPORT, 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73); DEFINE_GUID (GUID_SERENUM_BUS_ENUMERATOR, 0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18); : #endif // DEFINE_GUIDGuid tanımının birden çok dahil edilmeyi engelleyen deyimlerin dışına konulması, GUID'yi DEFINE_GUID EXTERN_C değişkeni olarak tanımladığından sürücüde GUID'nin birden çok örneğine neden olmaz. Türler eşleşdiği sürece bir EXTERN değişkeninin birden çok bildirimine izin verilir.
cihaz kurulum sınıfı veya cihaz arabirimi sınıfıiçin yeni bir GUID oluştururken aşağıdaki kurallar geçerlidir:
Hem cihaz kurulum sınıfını hem de cihaz arabirimi sınıfını tanımlamak için tek bir GUID kullanmayın.
GUID ile ilişkilendirmek için sembolik bir ad oluştururken aşağıdaki kuralı kullanın:
Cihaz kurulum sınıfları için XXXGUID_DEVCLASS_biçimini kullanın.
Cihaz arabirimi sınıfları için XXXGUID_DEVINTERFACE_biçimini kullanın.