Einzelnen Beitrag anzeigen

devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

SetProcessAffinityMask innerhalb einer DLL verwenden?

  Alt 28. Feb 2017, 17: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
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat