Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
The PortCls system driver implements the IResourceList interface for the benefit of miniport drivers. Ein IResourceList -Objekt stellt eine Konfigurationsressourcenliste dar, bei der es sich um eine Liste der Systemhardwareressourcen handelt, die der Plug- und Play-Manager einem Gerät zur Gerätestartzeit zuweist. Weitere Informationen zur Ressourcenzuweisung zum Startzeit finden Sie unter Starten eines Geräts in einem Funktionstreiber.
Eine Ressourcenliste enthält die folgenden Ressourcentypen:
Interrupt vectors
DMA channels
E/A-Portadressen
Blöcke von busrelativen Speicheradressen
For information about resource types, see Hardware Resources.
An IResourceList object encapsulates both the translated and untranslated (or "raw") versions of a resource list. Weitere Informationen zu übersetzten und nicht übersetzten Ressourcen finden Sie unter Zuordnen Bus-Relative Adressen zu virtuellen Adressen.
The IResourceList interface supports the following methods:
IResourceList::AddEntryFromParent
IResourceList::FindTranslatedEntry
IResourceList::FindUntranslatedEntry
IResourceList::NumberOfEntries
IResourceList::NumberOfEntriesOfType
IResourceList::UntranslatedList
Die Headerdatei Portcls.h definiert einen Satz von Makros, um die Behandlung von Ressourcenlistenobjekten zu vereinfachen. These macros generate calls to the IResourceList methods. Weitere Informationen finden Sie unter "IResourceList".
Darüber hinaus definiert Portcls.h ein Funktionspaar zum Erstellen von Ressourcenlisten:
To start up the devices on an audio adapter card, the operating system calls the adapter driver's start-device routine (see Startup Sequence) and passes in a resource list object as an input parameter. Diese Liste enthält alle Systemressourcen, die dem Adaptertreiber vom Betriebssystem zugewiesen wurden.
In der Startgeräteroutine startet der Adaptertreiber alle Geräte des Adaptertreibers (Wave Device, MIDI-Gerät usw.). Um jedes Gerät zu verwalten, erstellt der Adaptertreiber ein Miniporttreiberobjekt und das zugehörige Porttreiberobjekt. Der Adaptertreiber teilt die Ressourcen in der Ressourcenliste zwischen den verschiedenen Geräten auf der Adapterkarte auf. For this purpose, the driver typically calls PcNewResourceSublist to create a resource list object for each device. The driver then calls IResourceList::AddEntryFromParent as many times as necessary to copy selected resources from the parent list into the various child lists. Darüber hinaus kann der Adaptertreiber einige Ressourcen selbst zuweisen.
Next, the start-device routine calls each port driver's IPort::Init method and passes in the device's resource list object (containing the child list) as an input parameter. Each port driver's IPort::Init method calls the corresponding miniport driver's IMiniportXxx::Init method, which is one of the following:
The IPort::Init method passes its resource list object to the IMiniportXxx::Init method as an input parameter. Der Miniporttreiber kann dann die DMA-Kanäle, Unterbrechungen und andere Systemressourcen in der Ressourcenliste verwenden.
Ein Codebeispiel finden Sie unter dem Sb16-Beispielaudiotreiber im Microsoft Windows Driver Kit (WDK).