Antarmuka IResourceList (portcls.h)

Antarmuka IResourceList menyediakan abstraksi daftar sumber daya konfigurasi, yang merupakan daftar sumber daya perangkat keras sistem yang ditetapkan manajer Plug and Play ke perangkat pada waktu mulai. Sumber daya dalam daftar dapat mencakup vektor interupsi, saluran DMA, alamat port I/O, dan blok alamat memori relatif bus. Untuk informasi selengkapnya, lihat Memulai Perangkat di Driver Fungsi.

Driver sistem PortCls IResourceList mengimplementasikan antarmuka dan mengeksposnya ke driver adaptor. Saat PortCls memanggil rutinitas device-startup driver adapter (lihat Memulai Perangkat), PortCls IResourceList meneruskan objek sebagai salah satu parameter panggilan.

File header portcls.h mendefinisikan sekumpulan makro untuk menyederhanakan penanganan objek daftar sumber daya. Untuk setiap jenis sumber daya, empat makro berikut didefinisikan:

ULONG
  NumberOfpluralresourcename(
    void
 ); 

PCM_PARTIAL_RESOURCE_DESCRIPTOR
  FindTranslatedsingularresourcename(
    ULONG  Index
    );

PCM_PARTIAL_RESOURCE_DESCRIPTOR
  FindUntranslatedsingularresourcename(
    ULONG  Index
    );

NTSTATUS
  AddsingularresourcenameFromParent(
    PRESOURCELIST  Parent,
    ULONG  Index
    );

Tabel berikut ini memperlihatkan tipe sumber daya yang makronya ditentukan.

Nama Jenis Sumber Daya Bentuk Tunggal Formulir Jamak
CmResourceTypePort Port Port
CmResourceTypeInterrupt Interupsi Menyela
CmResourceTypeMemory Memori Kenangan
CmResourceTypeDma Dma Dmas
CmResourceTypeDeviceSpecific DeviceSpecific DeviceSpecifics
CmResourceTypeBusNumber BusNumber BusNumbers
CmResourceTypePrivate Privat Privat
CmResourceTypeAssignedResource AssignedResource AssignedResources
CmResourceTypeSubAllocateFrom SubAllocateFrom SubAllocateFroms
 

Untuk arti nama jenis sumber daya di kolom kiri di atas, lihat CM_PARTIAL_RESOURCE_DESCRIPTOR.

Tabel berikut ini secara eksplisit mencantumkan empat makro yang ditentukan portcls.h untuk masing-masing dari sembilan jenis sumber daya. Di sebelah kanan setiap makro adalah panggilan yang IResourceList setara dengan metode .

Makro Panggilan IResourceList yang setara
NumberOfPorts() NumberOfEntriesOfType(CmResourceTypePort)
FindTranslatedPort(n) FindTranslatedEntry(CmResourceTypePort,(n))
FindUntranslatedPort(n) FindUntranslatedEntry(CmResourceTypePort,(n))
AddPortFromParent(p,n) AddEntryFromParent((p),CmResourceTypePort,(n))
NumberOfInterrupts() NumberOfEntriesOfType(CmResourceTypeInterrupt)
FindTranslatedInterrupt(n) FindTranslatedEntry(CmResourceTypeInterrupt,(n))
FindUntranslatedInterrupt(n) FindUntranslatedEntry(CmResourceTypeInterrupt,(n))
AddInterruptFromParent(p,n) AddEntryFromParent((p),CmResourceTypeInterrupt,(n))
NumberOfMemories() NumberOfEntriesOfType(CmResourceTypeMemory)
FindTranslatedMemory(n) FindTranslatedEntry(CmResourceTypeMemory,(n))
FindUntranslatedMemory(n) FindUntranslatedEntry(CmResourceTypeMemory,(n))
AddMemoryFromParent(p,n) AddEntryFromParent((p),CmResourceTypeMemory,(n))
NumberOfDmas() NumberOfEntriesOfType(CmResourceTypeDma)
FindTranslatedDma(n) FindTranslatedEntry(CmResourceTypeDma,(n))
FindUntranslatedDma(n) FindUntranslatedEntry(CmResourceTypeDma,(n))
AddDmaFromParent(p,n) AddEntryFromParent((p),CmResourceTypeDma,(n))
NumberOfDeviceSpecifics() NumberOfEntriesOfType(CmResourceTypeDeviceSpecific)
FindTranslatedDeviceSpecific(n) FindTranslatedEntry(CmResourceTypeDeviceSpecific,(n))
FindUntranslatedDeviceSpecific(n) FindUntranslatedEntry(CmResourceTypeDeviceSpecific,(n))
AddDeviceSpecificFromParent(p,n) AddEntryFromParent((p),CmResourceTypeDeviceSpecific,(n))
NumberOfBusNumbers() NumberOfEntriesOfType(CmResourceTypeBusNumber)
FindTranslatedBusNumber(n) FindTranslatedEntry(CmResourceTypeBusNumber,(n))
FindUntranslatedBusNumber(n) FindUntranslatedEntry(CmResourceTypeBusNumber,(n))
AddBusNumberFromParent(p,n) AddEntryFromParent((p),CmResourceTypeBusNumber,(n))
NumberOfDevicePrivates() NumberOfEntriesOfType(CmResourceTypeDevicePrivate)
FindTranslatedDevicePrivate(n) FindTranslatedEntry(CmResourceTypeDevicePrivate,(n))
FindUntranslatedDevicePrivate(n) FindUntranslatedEntry(CmResourceTypeDevicePrivate,(n))
AddDevicePrivateFromParent(p,n) AddEntryFromParent((p),CmResourceTypeDevicePrivate,(n))
NumberOfAssignedResources() NumberOfEntriesOfType(CmResourceTypeAssignedResource)
FindTranslatedAssignedResource(n) FindTranslatedEntry(CmResourceTypeAssignedResource,(n))
FindUntranslatedAssignedResource(n) FindUntranslatedEntry(CmResourceTypeAssignedResource,(n))
AddAssignedResourceFromParent(p,n) AddEntryFromParent((p),CmResourceTypeAssignedResource,(n))
NumberOfSubAllocateFroms() NumberOfEntriesOfType(CmResourceTypeSubAllocateFrom)
FindTranslatedSubAllocateFrom(n) FindTranslatedEntry(CmResourceTypeSubAllocateFrom,(n))
FindUntranslatedSubAllocateFrom(n) FindUntranslatedEntry(CmResourceTypeSubAllocateFrom,(n))
AddSubAllocateFromFromParent(p,n) AddEntryFromParent((p),CmResourceTypeSubAllocateFrom,(n))

Warisan

Antarmuka IResourceList mewarisi dari antarmuka IUnknown.

Metode

Antarmuka IResourceList memiliki metode ini.

 
IResourceList::AddEntry

Metode AddEntry menambahkan entri ke daftar sumber daya.
IResourceList::AddEntryFromParent

Metode AddEntryFromParent menambahkan ke daftar sumber daya entri yang ditemukan di daftar induk daftar sumber daya.
IResourceList::FindTranslatedEntry

Metode FindTranslatedEntry mengembalikan penunjuk ke entri terjemahan dari jenis yang ditentukan, atau NULL jika tidak ada entri tersebut yang ditemukan.
IResourceList::FindUntranslatedEntry

Metode FindUntranslatedEntry mengembalikan penunjuk ke entri yang tidak diterjemahkan dari jenis yang ditentukan, atau NULL jika tidak ada penunjuk tersebut yang ditemukan.
IResourceList::NumberOfEntries

Metode NumberOfEntries mengembalikan jumlah item sumber daya dalam daftar sumber daya.
IResourceList::NumberOfEntriesOfType

Metode NumberOfEntriesOfType mengembalikan jumlah item sumber daya dari jenis tertentu dalam daftar sumber daya. Untuk setiap jenis sumber daya, makro didefinisikan untuk memanggil metode ini seperti yang dijelaskan sebelumnya.
IResourceList::TranslatedList

Metode TranslatedList mengembalikan daftar sumber daya yang diterjemahkan.
IResourceList::UntranslatedList

Metode UntranslatedList mengembalikan daftar sumber daya yang tidak diterjemahkan.

Persyaratan

   
Target Platform Windows
Header portcls.h