Freigeben über


Roh- und übersetzte Ressourcen

Wenn die EvtDeviceRemoveAddedResources- oder die EvtDevicePrepareHardware-Rückruffunktion eine Ressourcenliste empfängt, erhält sie zwei Versionen der Liste. Eine Version stellt die Rohressourcen des Geräts dar, und die andere stellt die übersetzten Ressourcen des Geräts dar. Beide Versionen stellen den gleichen Satz von Hardwareressourcen in derselben Reihenfolge dar.

  • Rohressourcen sind Ressourcen, die durch Adressen identifiziert werden, die relativ zum Bus sind, mit dem das Gerät verbunden ist. In der Regel stellt der Treiber, der das Gerät programmiert, diese Adressen für das Gerät bereit.

  • Übersetzte Ressourcen sind Ressourcen, die durch physische Systemadressen gekennzeichnet sind, die von Treibern zum Zugriff auf diese Ressourcen verwendet werden.

Ein Treiber für ein PCI-Busgerät empfängt Ressourcen, die in der Reihenfolge aufgeführt sind, in der sie in den Base Address Registers (BARs) des Geräts angezeigt werden. Allerdings können zusätzliche Ressourcendeskriptoren in der Liste eingefügt werden, sodass die Ressource bei Index X im BAR möglicherweise nicht mit der Ressource an derselben Indexposition in der Ressourcenliste übereinstimmt.

Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie in den Elementbeschreibungen für die CM_PARTIAL_RESOURCE_DESCRIPTOR Struktur.

Wenn die übersetzte Ressourcenliste eines Geräts eine Ressource enthält, deren Typelement der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur auf "CmResourceTypeMemory" festgelegt ist, muss jeder Treiber, der auf diese Ressource zugreift, folgende Aktionen ausführen:

Weitere Informationen zur Abbildung von bus-relativen Adressen finden Sie unter Zuordnung der Bus-Relative-Adressen zu virtuellen Adressen.