Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
The PortCls system driver implements the IResourceList interface for the benefit of miniport drivers. Um objeto IResourceList representa uma lista de recursos de configuração, que é uma lista dos recursos de hardware do sistema que o gerenciador Plug and Play atribui a um dispositivo no momento da inicialização do dispositivo. Para obter mais informações sobre a atribuição de recursos no momento da inicialização, consulte Iniciando um dispositivo em um driver de função.
Uma lista de recursos contém os seguintes tipos de recursos:
Interrupt vectors
DMA channels
Endereços de porta de E/S
Blocos de endereços de memória relativos a barramento
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 obter mais informações sobre recursos traduzidos e não traduzidos, consulte Mapeando endereços Bus-Relative para endereços virtuais.
The IResourceList interface supports the following methods:
IResourceList::AddEntryFromParent
IResourceList::FindTranslatedEntry
IResourceList::FindUntranslatedEntry
IResourceList::NumberOfEntries
IResourceList::NumberOfEntriesOfType
IResourceList::UntranslatedList
O arquivo de cabeçalho Portcls.h define um conjunto de macros para simplificar o processamento de objetos de lista de recursos. These macros generate calls to the IResourceList methods. Para obter mais informações, consulte IResourceList.
Além disso, Portcls.h define um par de funções para criar 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 contém todos os recursos do sistema que o sistema operacional atribuiu ao driver do adaptador.
Na rotina do dispositivo de inicialização, o driver do adaptador inicia todos os dispositivos do driver do adaptador (dispositivo wave, dispositivo MIDI e assim por diante). Para gerenciar cada dispositivo, o driver do adaptador cria um objeto de driver de miniporta e seu objeto de driver de porta associado. O driver do adaptador divide os recursos na lista de recursos entre os vários dispositivos na placa adaptadora. 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. Além disso, o driver do adaptador pode atribuir alguns recursos a si mesmo.
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. O driver de miniporta pode então fazer uso dos canais DMA, interrupções e outros recursos do sistema na lista de recursos.
Para obter um exemplo de código, consulte o driver de áudio de exemplo Sb16 no Microsoft Windows Driver Kit (WDK).