Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#1

SetProcessAffinityMask innerhalb einer DLL verwenden?

  Alt 28. Feb 2017, 18:13
Hallo,

der Einsatz von SetProcessAffinityMask ist mir vollständig bekannt und ich verwende das bereits in meiner Applikation. Nun geht es bei der Auslagerung eines bestimmten Codeabschnitts in einer DLL darum, dass dort ebenfalls SetProcessAffinityMask mit ausgelagert werden und von der DLL verwendet werden soll. Der DLL-Code an sich funktioniert auch problemlos, allerdings erscheint beim Beenden der DLL-Applikation eine Access Violation, wenn ich dort auf "Anhalten" drücke, springt der Debugger in die Datei c:\Program Files (x86)\Embarcadero\Studio\18.0\source\rtl\sys\getme m.inc in Zeile 2080:

mov [eax + edx - 8], edx

Darunter kann ich mir nicht wirklich was vorstellen.

Nun habe ich nochmals die offizielle Dokumentation für SetProcessAffinityMask hier https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx durchgelesen und da steht ein Satz drin, der mich stutzig macht:

Do not call SetProcessAffinityMask in a DLL that may be called by processes other than your own.

Hat von Euch schonmal jemand SetProcessAffinityMask in einer DLL verwendet bzw. kann mir einen Tipp geben, wie ich die Meldung wegbekomme oder wo ich weiter ansetzen kann? Vielen Dank.
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat