Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
The PortCls system driver implements the IResourceList interface for the benefit of miniport drivers. Un objeto IResourceList representa una lista de recursos de configuración, que es una lista de los recursos de hardware del sistema que el administrador de Plug and Play asigna a un dispositivo en tiempo de inicio del dispositivo. Para obtener más información sobre la asignación de recursos en el momento de inicio, consulte Iniciar un dispositivo en un controlador de funciones.
Una lista de recursos contiene los siguientes tipos de recursos:
Interrupt vectors
DMA channels
Direcciones de puerto de E/S
Bloques de direcciones de memoria relativas al bus
For information about resource types, see Hardware Resources.
An IResourceList object encapsulates both the translated and untranslated (or "raw") versions of a resource list. Para obtener más información sobre los recursos traducidos y sin traducir, consulte Asignación de direcciones Bus-Relative a direcciones virtuales.
The IResourceList interface supports the following methods:
IResourceList::AddEntryFromParent
IResourceList::FindTranslatedEntry
IResourceList::FindUntranslatedEntry
IResourceList::NumberOfEntries
IResourceList::NumberOfEntriesOfType
IResourceList::UntranslatedList
El archivo de encabezado Portcls.h define el conjunto de macros para simplificar el control de objetos de lista de recursos. These macros generate calls to the IResourceList methods. Para obtener más información, consulte IResourceList.
Además, Portcls.h define un par de funciones para crear listas de recursos:
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. Esta lista contiene todos los recursos del sistema que el sistema operativo ha asignado al controlador del adaptador.
En la rutina de inicio del dispositivo, el controlador del adaptador inicia todos los dispositivos del controlador del adaptador (dispositivo de onda, dispositivo MIDI, etc.). Para administrar cada dispositivo, el controlador del adaptador crea un objeto de controlador de minipuerto y su objeto de controlador de puerto asociado. El controlador del adaptador divide los recursos de la lista de recursos entre los distintos dispositivos de la tarjeta del adaptador. 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. Además, el controlador del adaptador puede asignar algunos recursos a sí mismo.
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. Después, el controlador de miniporte puede usar los canales DMA, las interrupciones y otros recursos del sistema en la lista de recursos.
Para obtener un ejemplo de código, vea el controlador de audio de ejemplo Sb16 en el Kit de controladores de Microsoft Windows (WDK).