Funzione ConsoleControl

Esegue operazioni speciali del kernel per le applicazioni host della console. Ciò include la ripetizione della finestra della console, consentendo alla console di passare i diritti in primo piano per avviare applicazioni del sottosistema console e terminando i processi collegati.

Nota Questa funzione non ha una libreria di importazione associata. Questa funzione è disponibile come risorsa denominata ConsoleControl in User32.dll. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a User32.dll.

Sintassi


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
);

Parametri

Comando [in]
Uno dei CONSOLECONTROL valori che indicano quale funzione di controllo della console deve essere eseguita.

ConsoleInformation [in]
Puntatore a una delle CONSOLEENDTASKstrutture , CONSOLEWINDOWOWNERo CONSOLESETFOREGROUND che specificano dati aggiuntivi per la funzione di controllo della console richiesta.

ConsoleInformationLength [in]
Dimensioni della struttura a cui punta il parametro ConsoleInformation .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è STATUS_SUCCESS.

Se la funzione ha esito negativo, il valore restituito indica NTSTATUS il motivo dell'errore.

Osservazioni:

Questa funzione non è definita in un'intestazione SDK e deve essere dichiarata dal chiamante. Questa funzione viene esportata da user32.dll.

Ogni comando prevede uno struct diverso per il ConsoleInformation parametro .

  • ConsoleNotifyConsoleApplication: prevede un puntatore a un CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: prevede un puntatore a un CONSOLE_CARET_INFO
  • ConsoleSetForeground: prevede un puntatore a un CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: prevede un puntatore a un CONSOLEWINDOWOWNER
  • ConsoleEndTask: prevede un puntatore a un CONSOLEENDTASK

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione nessuno, vedere le osservazioni
Libreria nessuno, vedere le osservazioni
DLL User32.dll