Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

CreateProcessWithTokenW ERROR_DEVICE_NO_RESOURCES

  Alt 30. Aug 2013, 15:51
Hallo,
Ich habe nen verzwicktes Problem und bisher hat nichts geholfen.

Was ich erreichen möchte(oder besser gesagt MUSS, ist so vorgegeben )

Ich möchte ein programm mithilfe von zuvor angegebenen Logindaten unter einem anderen Benutzer ausführen. Dabei kann dies entweder aus einem Nutzerkontext oder Servicekontext pasieren.

Ich bearbeite gerade den Usecase das ich versuche von NutzerA mit NutzerB ein Programm auszuführen.
Bei ausführen mit CreateProcessWithTokenW wird das Programm gestartet(CreateProcessWithTokenW meldet erfolg), windows wirft aber sofort die im Titel erwähnte Fehlermeldung(Code 0.x142)

das wäre der Rohbau der aktuell den Fehler wirft:
(Dummycode)
Delphi-Quellcode:
  ZeroMemory(@Startup, SizeOf(Startup));
  Startup.cb := SizeOf(Startup);
  ZeroMemory(@Process, SizeOf(Process));
  LogonUserW(Name, Domäne,
    Passwort, LOGON32_LOGON_INTERACTIVE,
    LOGON32_PROVIDER_DEFAULT, Token);
  CreateEnvironmentBlock(@Umgebungsblock, Token, False);
  CreateProcessWithTokenW(Token, LOGON_WITH_PROFILE,
            nil, @PfadZurExe[1],
            CREATE_NEW_CONSOLE or CREATE_UNICODE_ENVIRONMENT or CREATE_DEFAULT_ERROR_MODE,
            Umgebungsblock, nil, @Startup, @Process);
Jemand eine Idee?

MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat