Exporteren (0) Afdrukken
Alles uitvouwen
Expand Minimize

Het object Device\PhysicalMemory

Wat doet het object \Device\PhysicalMemory?

Het sectieobject \Device\PhysicalMemory wordt door sommige toepassingen gebruikt voor toegang tot het fysieke geheugen. Gangbare voorbeelden van dit gebruik vinden we bij beheertoepassingen die het BIOS voor systeembeheer (SMBIOS) of andere BIOS-gegevens proberen te lezen die zijn opgeslagen in de onderste 1 MB van het fysieke geheugen.

Op wie is deze functie van toepassing?

Deze functie is van belang voor ontwikkelaars van hardware en beheerprogramma's voor hardware.

Welke bestaande functionaliteit verandert in Windows Server 2003 Service Pack 1?

Het sectieobject Device\PhysicalMemory

Gedetailleerde beschrijving

In Windows Server 2003 SP1 is toegang tot het object \Device\PhysicalMemory in de gebruikersmodus niet toegestaan. Alle vormen van toegang (lezen, schrijven) worden geweigerd als het object \Device\PhysicalMemory wordt benaderd door een toepassing in de gebruikersmodus. Toegang tot het object \Device\PhysicalMemory wordt geweigerd onafhankelijk van de gebruikerscontext (beheerders, gebruikers, lokaal systeem, etc.) waarin de toepassing wordt uitgevoerd.

De toegang in kernel-modus (stuurprogramma) tot het object \Device\PhysicalMemory is in Windows Server 2003 SP1 niet gewijzigd.

Het is niet mogelijk dit gewijzigde gedrag in Windows Server 2003 SP1 ongedaan te maken.

Wat is het belang van deze wijziging? Welke risico's worden op deze manier aangepakt?

Deze wijziging is doorgevoerd om te helpen voorkomen dat in de gebruikersmodus misbruik wordt gemaakt van de functionaliteit van het object \Device\PhysicalMemory.

In eerdere versies van Windows was toegang tot het object \Device\PhsyicalMemory beveiligd via een ACL (Access Control List). De ACL kan echter onbedoeld worden gewijzigd. Door elke toegang tot het object \Device\PhysicalMemory in de gebruikersmodus te weigeren, wordt dit scenario voorkomen.

Wat werkt er anders? Zijn er afhankelijkheden?

De meeste toepassingen proberen geen toegang te krijgen tot het fysieke geheugen, maar sommige beheertoepassingen hebben gegevens uit het BIOS nodig. Dergelijke toepassingen worden mogelijk door deze wijziging beïnvloed. Veel van deze beheertoepassingen proberen SMBIOS-gegevens te lezen.

Hoe los ik dit op?

Leveranciers van beheertoepassingen wordt verzocht om hun toepassingen te controleren op toegang tot het object \Device\PhysicalMemory en een van de oplossingen te implementeren die in dit gedeelte worden voorgesteld.

noteOpmerking
De volgende methoden kunnen worden gebruikt om gegevens uit het onderste fysieke geheugen of uit de firmwaretabel te lezen met een toepassing in Windows Server 2003 SP1. Toepassingen die schrijftoegang tot het onderste fysieke geheugen nodig hebben, moeten hiervoor een stuurprogramma in de kernel-modus gebruiken.

SMBIOS-gegevens lezen

WMI (Windows Management Instrumentation) is de geprefereerde methode om SMBIOS-gegevens te lezen in Windows. WMI ondersteunt het lezen van individuele SMBIOS-eigenschappen (zoals de BIOS-versie of de systeemfabrikant) uit de Win32-klassen in de naamruimte root\cimv2.

WMI ondersteunt ook het lezen van de hele inhoud van SMBIOS-gegevens in één buffer met behulp van de klasse MSSMBios_RawSMBiosTables in de naamruimte root\wmi. De eigenschap SMBiosData retourneert een buffer met de volledige SMBIOS-gegevenstabel, met uitzondering van het ingangspunt van de SMBIOS-structuurtabel zoals gedefinieerd in sectie 2.1.1 van de SMBIOS-specificatie.

WMI ondersteunt COM en script-API voor toegang tot WMI-gegevens. WMI wordt ondersteund in de versies voor Windows XP SP2 en Windows Server 2003 SP1 van WinPE (Windows Preinstallation Environment).

Moet ik mijn programmacode wijzigen als ik Windows Server 2003 Service Pack 1 wil gebruiken?

Wanneer uw toepassing het object \Device\PhysicalMemory gebruikt, moet u de programmacode in kwestie aanpassen voor gebruik met Windows Server 2003 SP1. Er zijn twee nieuwe gebruikersmodus-API's die door toepassingen kunnen worden gebruikt om systeemfirmwaretabellen te lezen. Deze API's kunnen worden gebruikt om SMBIOS- en ACPI-gegevens te lezen en ook voor het lezen van ruwe BIOS-gegevens uit het onderste fysieke geheugen. Raadpleeg de Platform SDK op de website van MSDN voor de details van de API-implementatie. De twee nieuwe API's zijn:

  • EnumSystemFirmwareTables, die wordt beschreven op de website van Microsoft op http://go.microsoft.com/fwlink/?LinkId=45562.
  • GetSystemFirmwareTable, die wordt beschreven op de website van Microsoft op http://go.microsoft.com/fwlink/?LinkId=45563.

Meer informatie

Wanneer deze wijziging in de functionaliteit voor u gevolgen heeft, bevatten de volgende bronnen op het web mogelijk ook informatie die voor u van belang is:

  • Het gedeelte over WMI (Windows Management Instrumentation) in de Windows Platform SDK die beschikbaar is op de website van Microsoft op http://go.microsoft.com/fwlink/?LinkId=159.
  • De standaardspecificatie van SMBIOS die is opgesteld door de Distributed Management Task Force, Inc. Deze is verkrijgbaar op de website van DTMF op http://go.microsoft.com/fwlink/?LinkId=38721.
  • Het hulpprogramma Microsoft® Windows® Preinstallation Environment (Windows PE) dat u kunt downloaden van de website van Microsoft op http://go.microsoft.com/fwlink/?LinkId=38722.
Vindt u dit nuttig?
(1500 tekens resterend)
Bedankt voor uw feedback

Community-inhoud

Toevoegen
Weergeven:
© 2014 Microsoft