winbase.h


GetStdHandle

La función GetStdHandle devuelve un manipulador para el dispositivo estándar de entrada, salida o error.

Sintaxis

HANDLE GetStdHandle(
    DWORD nStdHandle  // dispositivo input, output o error
   );

Parámetros

nStdHandle
Especifica el dispositivo del cual retornar el manipulador. Este parámetro puede tener uno de los valores siguientes:
ValorSignificado
STD_INPUT_HANDLEStandard input handle
STD_OUTPUT_HANDLEStandard output handle
STD_ERROR_HANDLEStandard error handle

Valor de retorno

Si la función tiene éxito, el valor de retorno es un manipulador del dispositivo especificado.

Si la función falla, el valor de retorno es la bandera INVALID_HANDLE_VALUE. Para obtener información adicional sobre el error, llamar a la función GetLastError.

Observaciones

Los manipuladores devueltos por GetStdHandle pueden ser usados por aplicaciones que necesiten leer desde o escribir a la consola. Cuando se crea una consola, el manipulador de entrada estándar es un manipulador del buffer de entrada de la consola, y los manipuladores de la salida estándar y de error estándar son manipuladores del buffer de pantalla de la consola activa. Estos manipuladores pueden ser usados por las funciones ReadFile y WriteFile, o por una de las funciones de consola que accedan al buffer de entrada de la conola o a un buffer de pantalla (por ejemplo, las funciones ReadConsoleInput, WriteConsole o GetConsoleScreenBufferInfo).

Todos los manipuladores retornados por esta función tienen acceso GENERIC_READ y GENERIC_WRITE a no ser que la función SetStdHandle haya sido usada para asignar un manipulador estándar para ser algún manipulador con un acceso menor.

Los manipuladores estándar de un proceso pueden ser redirigidos mediante una llamada a SetStdHandle, en cuyo caso GetStdHandle devuelve el manipulador redirigido. Si los manipuladores estándar han sido redirigidos, se puede especificar el valor CONIN$ en una llamada a la función CreateFile para obtener un manipulador al buffer de entrada de una consola. Similarmente, se puede especificar el valor CONOUT$ para obtener un manipulador al buffer de pantalla de la consola activa.