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.
Bazı Evrensel Seri Veri Yolu (USB) cihazları için, sürücü uygulamak yerine WinUSB (Winusb.sys) yükleyebilirsiniz.
Önemli
Bu makale programcılara yöneliktir. USB sorunları yaşayan bir müşteriyseniz bkz. Windows'ta USB-C sorunlarını düzeltme
WINUSB'nin INF dosyası olmadan otomatik olarak yüklenmesi
OEM veya bağımsız donanım satıcısı (IHV) olarak cihazınızı Winusb.sys'ın otomatik olarak yükleneceği şekilde oluşturabilirsiniz. Böyle bir cihaz WinUSB cihazı olarak adlandırılır ve yerleşik Winusb.inf dosyasına başvuran özel bir INF dosyası yazmanızı gerektirmez.
Bir WinUSB cihazı bağladığınızda, Windows cihaz bilgilerini okur ve Winusb.sys otomatik olarak yükler.
Daha fazla bilgi için bkz. WinUSB Cihazı.
Sistem tarafından sağlanan cihaz sınıfını belirterek WinUSB'yi yükleme
Cihazınızı bağladığınızda Windows'un Winusb.sys otomatik olarak yüklendiğini fark edebilirsiniz. Aksi takdirde, sürücüyü yüklemek için şu yönergeleri izleyin:
- Cihazınızı konak sistemine takın.
- Cihaz Yöneticisi'ni açın ve cihazı bulun.
- Cihaza sağ tıklayın ve bağlam menüsünden Sürücü yazılımını güncelleştir... öğesini seçin.
- Sihirbazda, Bilgisayarımda sürücü yazılımını ara seçeneğini seçin.
- Bilgisayarımdaki cihaz sürücüleri listesinden seçmeme izin ver'i seçin.
- Cihaz sınıfları listesinden Evrensel Seri Veri Yolu cihazları'nı seçin.
- Sihirbaz WinUsb Cihazı'nı görüntüler. Sürücüyü yüklemek için seçin.
Evrensel Seri Veri Yolu cihazları cihaz sınıfları listesinde görünmüyorsa, sürücüyü özel bir INF kullanarak yüklemeniz gerekir. Yukarıdaki yordam, bir uygulamanın (UWP uygulaması veya Windows masaüstü uygulaması) cihaza erişmesi için cihaz arabirimi GUID'si eklemez. Bu yordamı izleyerek GUID'yi el ile eklemeniz gerekir.
Sürücüyü önceki adımda tarif edildiği şekilde yükleyin.
guidgen.exegibi bir araç kullanarak cihazınız için bir cihaz arabirimi GUID'i oluşturun.
Cihazın kayıt defteri anahtarını şu anahtarın altında bulun:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_vvvv&PID_pppp>
Cihaz Parametreleri anahtarının altına DeviceInterfaceGUID adlı bir Dize kayıt defteri girdisi veya DeviceInterfaceGUIDs adlı bir Çok Dizeli girdi ekleyin. Değeri, 2. adımda oluşturduğunuz GUID olarak ayarlayın.
Cihazın sistem bağlantısını kesin ve aynı fiziksel bağlantı noktasına yeniden bağlayın.
Uyarı
Fiziksel bağlantı noktasını değiştirirseniz, 1 ile 4 arasındaki adımları yinelemelisiniz.
WinUSB yüklemesi için özel INF yazma
Sürücü paketinin bir parçası olarak, USB cihazının işlev sürücüsü olarak Winusb.sys yükleyen bir .inf dosyası sağlarsınız.
Burada, Windows 10 veya sonraki sürümleri çalıştıran hem x64 hem de ARM64 platformları için geçerli olan bir evrensel INF dosyası örneği verilmiştir. Bu örnek, yardımcı yükleyicileri içermez ve Donanım Geliştirici Merkezi Panosu portalı tarafından imzalanmaya uygun hale gelir.
;
; Universal INF file for WinUsb installation
;
[Version]
Signature = "$Windows NT$"
Class = USBDevice
ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6}
Provider = %ManufacturerName%
CatalogFile = WinUSBInstallation.cat
DriverVer = 09/04/2012,13.54.20.543
PnpLockdown = 1
; ========== Manufacturer and Models sections ===========
[Manufacturer]
%ManufacturerName% = Standard,NTamd64,NTarm64
[Standard.NTamd64]
%DeviceName% =USB_Install, USB\VID_0547&PID_1002
[Standard.NTarm64]
%DeviceName% =USB_Install, USB\VID_0547&PID_1002
; =================== Installation ===================
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include =winusb.inf
Needs = WINUSB.NT.Services
[USB_Install.HW]
AddReg=Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{9f543223-cede-4fa3-b376-a25ce9a30e74}"
; =================== Strings ===================
[Strings]
ManufacturerName="Contoso"
ClassName="Universal Serial Bus devices"
DeviceName="Fx2 Learning Kit Device"
REG_MULTI_SZ = 0x00010000
Bu evrensel INF dosyası birden çok Windows platformunda (x64 ve ARM64) kullanılabilir ve Donanım Geliştirici Merkezi Panosu portalı tarafından imzalanabilir.
Yalnızca yeni bir özel cihaz kurulum sınıfı yüklemek için bir cihaz INF dosyasına ClassInstall32 bölümü ekleyin. Sistem tarafından sağlanan cihaz kurulum sınıfı veya özel sınıf olsun, yüklü bir sınıftaki cihazlar için INF dosyaları classInstall32 bölümü içermemelidir.
Cihaza özgü değerler ve aşağıdaki listede belirtilen birkaç sorun dışında, bu bölümleri ve yönergeleri kullanarak herhangi bir USB cihazı için WinUSB yükleyebilirsiniz. Bu liste öğeleri, önceki .inf dosyasındaki Eklemeler ve Yönergeler'i açıklar.
USB_Install: WinUSB'yi yüklemek için USB_Install bölümündeki Include and Needs yönergeleri gereklidir. Bu yönergeleri değiştirmemelisiniz.
USB_Install.Services: USB_Install.Services bölümündeki Include yönergesi, WinUSB (Winusb.inf) için sistem tarafından sağlanan .inf dosyasını içerir. Windows, hedef sistemde değilse bu .inf dosyasını yükler. Needs yönergesi, Winusb.inf dosyasında cihazın işlev sürücüsü olarak Winusb.sys yüklemek için gereken bilgileri içeren bölümü belirtir. Bu yönergeleri değiştirmemelisiniz.
USB_Install.HW: Bu bölüm .inf dosyasındaki anahtardır. Cihazınız için cihaz arabirimi genel benzersiz tanımlayıcısını (GUID) belirtir. AddReg yönergesi, belirtilen arabirim GUID'sini standart bir kayıt defteri değerinde ayarlar. Winusb.sys cihazın işlev sürücüsü olarak yüklendiğinde, DeviceInterfaceGUIDs kayıt defteri değerini okur ve cihaz arabirimini temsil etmek için belirtilen GUID'yi kullanır. Bu örnekteki GUID değerini cihazınız için özel olarak oluşturduğunuz guid değeriyle değiştirmelisiniz. Cihaz protokolleri değişirse yeni bir cihaz arabirimi GUID'i oluşturun.
Uyarı
Kullanıcı modu yazılımı, DeviceInterfaceGUIDs anahtarı altında belirtilen cihaz arabirimi sınıflarından biriyle ilişkili kayıtlı cihaz arabirimlerini listelemek için SetupDiGetClassDevs'i çağırmalıdır. SetupDiGetClassDevs , kullanıcı modu yazılımının cihaz arabirimi için bir WinUSB tanıtıcısı elde etmek için WinUsb_Initialize yordamına geçirmesi gereken cihaz tanıtıcısını döndürür. Bu yordamlar hakkında daha fazla bilgi için bkz. WinUSB İşlevlerini Kullanarak USB Cihazına Erişme.
Winusb.sys her yüklendiğinde, kayıt defterinde DeviceInterfaceGUIDs anahtarı altında belirtilen cihaz arabirimi sınıflarına sahip bir cihaz arabirimi kaydeder.
HKR,,DeviceInterfaceGUIDs, 0x10000,"{D696BFEB-1734-417d-8A04-86D01071C512}"
Winusb.sys yükleyen bir sürücü paketi oluşturma
WinUSB'yi cihazın işlev sürücüsü olarak kullanmak için bir sürücü paketi oluşturursunuz. Winusb.sys yükleyen bir sürücü paketi oluşturmanın adımları şunlardır:
Windows Sürücü Seti'ni (WDK) indirin ve makinenize yükleyin.
Örneğin, sisteminizde USB cihazının bağlı olduğu bir sürücü paketi klasörü (örneğin, C:\UsbDevice) oluşturun.
USB cihazının işlev sürücüsü olarak Winusb.sys yükleyen bir .inf dosyası yazın ve sürücü paketi klasörüne kaydedin. Bu dosyanın nasıl yazılacağına ilişkin bir örnek, bu belgenin WinUSB yüklemesi için özel INF yazma bölümünde bulunabilir.
Paket için imzalı bir katalog dosyası oluşturun. Windows'a WinUSB yüklemek için bu dosya gereklidir. İmzalı katalog dosyalarını oluşturma ve test etme hakkında daha fazla bilgiyi Windows Geliştirme Merkezi - Donanım sitesindeki Kernel-Mode Kod İmzalama kılavuzunda bulabilirsiniz.
USB cihazını bilgisayarınıza bağlayın.
Bilgisayarınızda Cihaz Yöneticisi'ni açın. Sürücü Yazılımını Güncelleştirme sihirbazındaki yönergeleri izleyin ve el ile yüklemeyi seçin. İstendiğinde, yüklemeyi tamamlamak için sürücü paketi klasörünün konumunu belirtin.
İlgili konular
- WinUSB Mimarisi ve Modülleri
- USB istemci sürücüsü geliştirmek için sürücü modeli seçme
- WinUSB İşlevlerini Kullanarak Bir USB Cihazına Erişim Sağlama
- WinUSB Güç Yönetimi
- Veri Yolu İlkesi Değişikliği için WinUSB İşlevleri
- WinUSB işlevlerini
- Geliştiriciler için WinUSB'ye Giriş