Función GetNamedPipeHandleStateA (winbase.h)

Recupera información sobre una canalización con nombre especificada. La información devuelta puede variar durante la vigencia de una instancia de la canalización con nombre.

Sintaxis

BOOL GetNamedPipeHandleStateA(
  [in]            HANDLE  hNamedPipe,
  [out, optional] LPDWORD lpState,
  [out, optional] LPDWORD lpCurInstances,
  [out, optional] LPDWORD lpMaxCollectionCount,
  [out, optional] LPDWORD lpCollectDataTimeout,
  [out, optional] LPSTR   lpUserName,
  [in]            DWORD   nMaxUserNameSize
);

Parámetros

[in] hNamedPipe

Identificador de la canalización con nombre para la que se desea información. El identificador debe tener GENERIC_READ acceso para una canalización de solo lectura o de lectura y escritura, o bien debe tener GENERIC_WRITE y FILE_READ_ATTRIBUTES acceso para una canalización de solo escritura.

Este parámetro también puede ser un identificador de una canalización anónima, tal y como devuelve la función CreatePipe .

[out, optional] lpState

Puntero a una variable que indica el estado actual del identificador. Este parámetro puede ser NULL si no se necesita esta información. Se pueden especificar o ambos valores siguientes.

Valor Significado
PIPE_NOWAIT
0x00000001
El identificador de canalización está en modo de no bloqueo. Si no se especifica esta marca, el identificador de canalización está en modo de bloqueo.
PIPE_READMODE_MESSAGE
0x00000002
El identificador de canalización está en modo de lectura de mensajes. Si no se especifica esta marca, el identificador de canalización está en modo de lectura de bytes.

[out, optional] lpCurInstances

Puntero a una variable que recibe el número de instancias de canalización actuales. Este parámetro puede ser NULL si esta información no es necesaria.

[out, optional] lpMaxCollectionCount

Puntero a una variable que recibe el número máximo de bytes que se van a recopilar en el equipo del cliente antes de la transmisión al servidor. Este parámetro debe ser NULL si el identificador de canalización especificado está en el extremo del servidor de una canalización con nombre o si los procesos de cliente y servidor están en el mismo equipo. Este parámetro puede ser NULL si esta información no es necesaria.

[out, optional] lpCollectDataTimeout

Puntero a una variable que recibe el tiempo máximo, en milisegundos, que puede pasar antes de que una canalización con nombre remoto transfiera información a través de la red. Este parámetro debe ser NULL si el identificador de canalización especificado está en el extremo del servidor de una canalización con nombre o si los procesos de cliente y servidor están en el mismo equipo. Este parámetro puede ser NULL si esta información no es necesaria.

[out, optional] lpUserName

Puntero a un búfer que recibe la cadena de nombre de usuario asociada a la aplicación cliente. El servidor solo puede recuperar esta información si el cliente abrió la canalización con SECURITY_IMPERSONATION acceso.

Este parámetro debe ser NULL si el identificador de canalización especificado es al final del cliente de una canalización con nombre. Este parámetro puede ser NULL si esta información no es necesaria.

[in] nMaxUserNameSize

Tamaño del búfer especificado por el parámetro lpUserName , en TCHAR. Este parámetro se omite si lpUserName es NULL.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función GetNamedPipeHandleState devuelve correctamente incluso si todos los punteros pasados a él son NULL.

Para establecer el estado del controlador de canalización, use la función SetNamedPipeHandleState .

Windows 10, versión 1709: las canalizaciones solo se admiten en un contenedor de aplicaciones; es decir, desde un proceso de UWP a otro proceso de UWP que forma parte de la misma aplicación. Además, las canalizaciones con nombre deben usar la sintaxis \\.\pipe\LOCAL\ para el nombre de la canalización.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de canalización

Información general sobre canalizaciones

SetNamedPipeHandleState