AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit GetProcessAffinityMask [wie verwenden?]
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit GetProcessAffinityMask [wie verwenden?]

Ein Thema von Daniel G · begonnen am 15. Jul 2005 · letzter Beitrag vom 26. Sep 2017
 
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#4

Re: Problem mit GetProcessAffinityMask [wie verwenden?]

  Alt 16. Jul 2005, 09:49
Zitat von Daniel G:
Delphi-Quellcode:
var
  hProcess: THandle;
  BitMask, SysBitMask: DWord;
begin
  hProcess := OpenProcess(PROCESS_QUERY_INFORMATION,true,GetCurrentProcess);
  GetProcessAffinityMask(hProcess, BitMask, SysBitMask);
end;
Nun sollen die Variablen "BitMask" und "SysBitMask" mir sagen, auf welchem Prozessor mein Programm läuft und wie viele Prozessoren mein Programm hat. Jage ich die Variablen aber durch den Debugger, haben sie verdammt große Werte, was ja irgendwie nicht die "BitMask" darstellen kann, oder?
die hohen Werte dürften direkt aus dem Zufallsgenerator (Stack ) stammen... bereits dein hProcess dürfte ungültig sein (OpenProcess erwartet einen ProcessID), GetProcessAffinityMask scheitert, *Mask bleiben unverändert...
versuch's mal mit
GetProcessAffinityMask(GetCurrentProcess(),BitMask,SysBitMask) (GetCurrentProcess liefert ein Pseudo-Handle auf den eigenen Prozess)

Zitat von Daniel G:
Wie bekomme ich denn nun heraus, auf welchem Prozessor mein Programm läuft und wieviele Prozessoren das System hat? Das wäre wichtig für mich zu wissen, da ich im selben Atemzug auch noch SetProcessAffinityMask verwende und dort dann ja sicherlch dasselbe Problem auftreten wird.
die Prozessor-Anzahl bekommst Du mit MSDN-Library durchsuchenGetSystemInfo

und die Affinität Deines Programmes wird in der Maske abgebildet... sprich:
Bit 0 gesetzt (Mask and $00000001 > 0) - CPU 1 zugeordnet
Bit 1 gesetzt (Mask and $00000002 > 0) - CPU 2 zugeordnet
(while true do ...)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz