Aracılığıyla paylaş


Bir Veri Yolu Sürücüsünde Cihaz Başlatma

Bir veri yolu sürücüsü, DispatchPnP rutininde aşağıdaki gibi bir prosedürle bir alt cihaz (alt PDO) başlatır:

  1. Cihazı başlatın.

    Tam adımlar cihazdan cihaza farklılık gösterir.

    Örneğin, PCI veri yolu sürücüsü, PCI veri yolu üzerindeki istekleri etkinleştirmek için eşleme kayıtlarını programlar. PnP ISA veri yolu sürücüsü, işlev sürücüsünün erişebilmesi için PnP ISA kartını etkinleştirir.

  2. IRP'yi tamamlayın.

    Otobüs sürücüsünün başlatma işlemleri başarılı olursa, sürücü Irp-IoStatus.Status değerini STATUS_SUCCESS olarak ayarlar ve IO_NO_INCREMENT öncelik artırması belirterek IoCompleteRequest çağrısını yapar. Otobüs sürücüsü DispatchPnP yordamından STATUS_SUCCESS döndürür.

    Otobüs sürücüsü başlatma işlemleri sırasında bir hatayla karşılaşırsa, sürücü IRP'de bir hata durumu ayarlar, IO_NO_INCREMENT bağlamında IoCompleteRequest'i çağırır ve hatayı DispatchPnP rutininden döndürür.

Bir otobüs sürücüsünün cihazı başlatması biraz zaman alıyorsa, IRP'yi beklemede olarak işaretleyebilir ve STATUS_PENDING döndürebilir.