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.
[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 |