Compartir a través de


Función GetNamedPipeHandleStateW (namedpipeapi.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 GetNamedPipeHandleStateW(
  [in]            HANDLE  hNamedPipe,
  [out, optional] LPDWORD lpState,
  [out, optional] LPDWORD lpCurInstances,
  [out, optional] LPDWORD lpMaxCollectionCount,
  [out, optional] LPDWORD lpCollectDataTimeout,
  [out, optional] LPWSTR  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 acceso GENERIC_READ 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 como lo 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 cualquiera de los valores siguientes o ambos.

Valor Significado
PIPE_NOWAIT
0x00000001
El controlador de canalización está en modo sin 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 no se requiere esta información.

[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 es al final 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 no se requiere esta información.

[out, optional] lpCollectDataTimeout

Puntero a una variable que recibe el tiempo máximo, en milisegundos, que puede pasar antes de que una canalización remota con nombre transfiera información a través de la red. Este parámetro debe ser NULL si el identificador de canalización especificado es al final 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 no se requiere esta información.

[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 no se requiere esta información.

[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 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 namedpipeapi.h
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de canalización
Información general sobre canalizaciones
SetNamedPipeHandleState