영어로 읽기

다음을 통해 공유


ConsoleControl 함수

콘솔 호스트 애플리케이션에 대한 특수 커널 작업을 수행합니다. 여기에는 콘솔 창을 재분석하고 콘솔이 시작된 콘솔 하위 시스템 애플리케이션에 대한 포그라운드 권한을 전달할 수 있도록 하고 연결된 프로세스를 종료하는 것이 포함됩니다.

참고 : 이 함수에는 연결된 가져오기 라이브러리가 없습니다. 이 함수는 User32.dll에서 ConsoleControl이라는 리소스로 사용할 수 있습니다. User32.dll에 동적으로 연결하려면 LoadLibraryGetProcAddress 함수를 사용해야 합니다.

구문


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

매개 변수

명령 [in]
CONSOLECONTROL 실행해야 하는 콘솔 제어 함수를 나타내는 값 중 하나입니다.

ConsoleInformation [in]
요청된 콘솔 제어 함수에 CONSOLEENDTASKCONSOLEWINDOWOWNER대한 추가 데이터를 지정하는 구조체 CONSOLESETFOREGROUND 또는 중 하나에 대한 포인터입니다.

ConsoleInformationLength [in]
ConsoleInformation 매개 변수가 가리키는 구조체의 크기입니다 .

반환 값

함수가 성공하는 경우 반환 값은 STATUS_SUCCESS입니다.

함수가 실패하면 반환 값은 실패 이유를 나타내는 값입니다 NTSTATUS .

설명

이 함수는 SDK 헤더에 정의되어 있지 않으며 호출자가 선언해야 합니다. 이 함수는 user32.dll에서 내보냅니다.

각 명령에는 매개 변수에 대해 다른 구조체가 ConsoleInformation 예상됩니다.

  • ConsoleNotifyConsoleApplication: a에 대한 포인터를 예상합니다. CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: a에 대한 포인터를 예상합니다. CONSOLE_CARET_INFO
  • ConsoleSetForeground: a에 대한 포인터를 예상합니다. CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: a에 대한 포인터를 예상합니다. CONSOLEWINDOWOWNER
  • ConsoleEndTask: a에 대한 포인터를 예상합니다. CONSOLEENDTASK

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
헤더 없음, 설명 참조
라이브러리 없음, 설명 참조
DLL User32.dll