Auf Englisch lesen

Freigeben über


ConsoleControl-Funktion

Führt spezielle Kernelvorgänge für Konsolenhostanwendungen aus. Dies umfasst die Analyse des Konsolenfensters, sodass die Konsole Vordergrundrechte an gestartete Konsolensubsystemanwendungen übergeben und angefügte Prozesse beendet.

Hinweis Diese Funktion weist keine zugeordnete Importbibliothek auf. Diese Funktion ist als Ressource namens ConsoleControl in User32.dll verfügbar. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um dynamisch mit User32.dll zu verknüpfen.

Syntax


typedef enum _CONSOLECONTROL
{
    Reserved1,
    ConsoleNotifyConsoleApplication,
    Reserved2,
    ConsoleSetCaretInfo,
    Reserved3,
    ConsoleSetForeground,
    ConsoleSetWindowOwner,
    ConsoleEndTask,
} CONSOLECONTROL;

typedef struct _CONSOLEENDTASK
{
    HANDLE ProcessId;
    HWND hwnd;
    ULONG ConsoleEventCode;
    ULONG ConsoleFlags;
} CONSOLEENDTASK, *PCONSOLEENDTASK;

typedef struct _CONSOLEWINDOWOWNER
{
    HWND hwnd;
    ULONG ProcessId;
    ULONG ThreadId;
} CONSOLEWINDOWOWNER, *PCONSOLEWINDOWOWNER;

typedef struct _CONSOLESETFOREGROUND
{
    HANDLE hProcess;
    BOOL bForeground;
} CONSOLESETFOREGROUND, *PCONSOLESETFOREGROUND;

typedef struct _CONSOLE_PROCESS_INFO
{
    IN DWORD dwProcessID;
    IN DWORD dwFlags;
} CONSOLE_PROCESS_INFO, *PCONSOLE_PROCESS_INFO;

typedef struct _CONSOLE_CARET_INFO
{
    IN HWND hwnd;
    IN RECT rc;
} CONSOLE_CARET_INFO, *PCONSOLE_CARET_INFO;


NTSTATUS ConsoleControl(
  _In_ CONSOLECONTROL Command,
  _In_reads_bytes_(ConsoleInformationLength) PVOID ConsoleInformation,
  _In_ DWORD ConsoleInformationLength
);

Parameter

Befehl [in]
Einer der Werte, der CONSOLECONTROL angibt, welche Konsolensteuerelementfunktion ausgeführt werden soll.

ConsoleInformation [in]
Ein Zeiger auf einen der CONSOLEENDTASK, CONSOLEWINDOWOWNERoder CONSOLESETFOREGROUND Strukturen, die zusätzliche Daten für die angeforderte Konsolensteuerungsfunktion angeben.

ConsoleInformationLength [in]
Die Größe der Struktur, auf die der Parameter "ConsoleInformation " verweist.

Rückgabewert

Wenn die Funktion erfolgreich ist, lautet der Rückgabewert STATUS_SUCCESS (0).

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein NTSTATUS Hinweis auf den Grund für den Fehler.

Hinweise

Diese Funktion ist nicht in einem SDK-Header definiert und muss vom Aufrufer deklariert werden. Diese Funktion wird aus user32.dll exportiert.

Jeder Befehl erwartet eine andere Struktur für den ConsoleInformation Parameter.

  • ConsoleNotifyConsoleApplication: erwartet einen Zeiger auf einen CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: erwartet einen Zeiger auf einen CONSOLE_CARET_INFO
  • ConsoleSetForeground: erwartet einen Zeiger auf einen CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: erwartet einen Zeiger auf einen CONSOLEWINDOWOWNER
  • ConsoleEndTask: erwartet einen Zeiger auf einen CONSOLEENDTASK

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Header keine, siehe Hinweise
Bibliothek keine, siehe Hinweise
DLL User32.dll