IRegisteredTask::RunEx-Methode (taskschd.h)

Führt den registrierten Task sofort unter Verwendung der angegebenen Flags und eines Sitzungsbezeichners aus.

Syntax

HRESULT RunEx(
  [in]            VARIANT      params,
  [in]            LONG         flags,
  [in]            LONG         sessionID,
  [in]            BSTR         user,
  [out, optional] IRunningTask **ppRunningTask
);

Parameter

[in] params

Die Parameter, die als Werte in den Aufgabenaktionen verwendet werden. Um keine Parameterwerte für die Aufgabenaktionen anzugeben, legen Sie diesen Parameter auf VT_NULL oder VT_EMPTY fest. Andernfalls kann ein einzelner BSTR-Wert oder ein Array von BSTR-Werten angegeben werden.

Die von Ihnen angegebenen BSTR-Werte werden mit Namen gekoppelt und als Name-Wert-Paare gespeichert. Wenn Sie einen einzelnen BSTR-Wert angeben, ist Arg0 der Name, der dem Wert zugewiesen ist. Der Wert kann in der Taskaktion verwendet werden, in der die Variable $(Arg0) in den Aktionseigenschaften verwendet wird.

Wenn Sie Werte wie "0", "100" und "250" als Array von BSTR-Werten übergeben, ersetzt "0" die $(Arg0)-Variablen, "100" die $(Arg1)-Variablen und "250" die $(Arg2)-Variablen, die in den Aktionseigenschaften verwendet werden.

Es können maximal 32 BSTR-Werte angegeben werden.

Weitere Informationen und eine Liste der Aktionseigenschaften, die die Variablen $(Arg0), $(Arg1), ..., $(Arg32) in ihren Werten verwenden können, finden Sie unter Aufgabenaktionen.

[in] flags

Eine TASK_RUN_FLAGS Konstante, die definiert, wie der Task ausgeführt wird.

[in] sessionID

Die Terminalserversitzung, in der Sie die Aufgabe starten möchten.

Wenn die TASK_RUN_USE_SESSION_ID Konstante nicht an den Flags-Parameter übergeben wird, wird der in diesem Parameter angegebene Wert ignoriert. Wenn die TASK_RUN_USE_SESSION_ID Konstanten an den Flags-Parameter übergeben wird und der Wert von sessionID kleiner oder gleich 0 ist, wird ein ungültiger Argumentfehler zurückgegeben.

Wenn die TASK_RUN_USE_SESSION_ID Konstante an den Flags-Parameter übergeben wird und der sessionID-Wert eine gültige Sitzungs-ID größer als 0 ist und kein Wert für den Benutzerparameter angegeben wird, versucht der Taskplaner-Dienst, die Aufgabe interaktiv als der Benutzer zu starten, der bei der angegebenen Sitzung angemeldet ist.

Wenn die TASK_RUN_USE_SESSION_ID Konstante an den Flags-Parameter übergeben wird und der sessionID-Wert eine gültige Sitzungs-ID größer als 0 ist und ein Benutzer im benutzerparameter angegeben ist, versucht der Taskplaner-Dienst, die Aufgabe interaktiv als der im Benutzerparameter angegebene Benutzer zu starten.

[in] user

Der Benutzer, für den die Aufgabe ausgeführt wird.

[out, optional] ppRunningTask

Eine IRunningTask-Schnittstelle, die die neue instance der Aufgabe definiert.

Übergeben Sie einen Verweis auf einen NULL-IRunningTask-Schnittstellenzeiger. Das Verweisen auf einen Zeiger ohne NULL kann zu einem Speicherverlust führen, da der Zeiger überschrieben wird.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Methode gibt ohne Fehler zurück, aber der Task wird nicht ausgeführt, wenn die AllowDemandStart-Eigenschaft von ITaskSettings für den Task auf false festgelegt ist.

Wenn IRegisteredTask::RunEx von einem deaktivierten Task aufgerufen wird, wird S_OK zurückgegeben, aber der Task wird nicht ausgeführt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile taskschd.h
Bibliothek Taskschd.lib
DLL Taskschd.dll

Weitere Informationen

IRegisteredTask

Aufgabenplanung