Funzione GetNamedPipeHandleStateW (namedpipeapi.h)
Recupera informazioni su una named pipe specificata. Le informazioni restituite possono variare durante la durata di un'istanza della named pipe.
Sintassi
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
);
Parametri
[in] hNamedPipe
Handle alla named pipe per cui si desiderano informazioni. L'handle deve avere accesso GENERIC_READ per una pipe di sola lettura o di lettura/scrittura oppure deve avere GENERIC_WRITE e FILE_READ_ATTRIBUTES l'accesso per una pipe di sola scrittura.
Questo parametro può anche essere un handle per una pipe anonima, come restituito dalla funzione CreatePipe .
[out, optional] lpState
Puntatore a una variabile che indica lo stato corrente dell'handle. Questo parametro può essere NULL se queste informazioni non sono necessarie. È possibile specificare uno o entrambi i valori seguenti.
[out, optional] lpCurInstances
Puntatore a una variabile che riceve il numero di istanze della pipe corrente. Questo parametro può essere NULL se queste informazioni non sono necessarie.
[out, optional] lpMaxCollectionCount
Puntatore a una variabile che riceve il numero massimo di byte da raccogliere nel computer del client prima della trasmissione al server. Questo parametro deve essere NULL se l'handle pipe specificato è alla fine del server di una named pipe o se i processi client e server si trovano nello stesso computer. Questo parametro può essere NULL se queste informazioni non sono necessarie.
[out, optional] lpCollectDataTimeout
Puntatore a una variabile che riceve il tempo massimo, in millisecondi, che può passare prima che una named pipe remota trasferisca le informazioni in rete. Questo parametro deve essere NULL se l'handle pipe specificato è alla fine del server di una named pipe o se i processi client e server si trovano nello stesso computer. Questo parametro può essere NULL se queste informazioni non sono necessarie.
[out, optional] lpUserName
Puntatore a un buffer che riceve la stringa del nome utente associata all'applicazione client. Il server può recuperare queste informazioni solo se il client ha aperto la pipe con accesso SECURITY_IMPERSONATION.
Questo parametro deve essere NULL se l'handle pipe specificato è alla fine del client di una named pipe. Questo parametro può essere NULL se queste informazioni non sono necessarie.
[in] nMaxUserNameSize
Dimensioni del buffer specificato dal parametro lpUserName , in TCHAR. Questo parametro viene ignorato se lpUserName è NULL.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
La funzione GetNamedPipeHandleState restituisce correttamente anche se tutti i puntatori passati sono NULL.
Per impostare lo stato di handle della pipe, usare la funzione SetNamedPipeHandleState .
Windows 10 versione 1709: le pipe sono supportate solo all'interno di un contenitore di app, ad esempio da un processo UWP a un altro processo UWP che fa parte della stessa app. Inoltre, named pipe deve usare la sintassi \\.\pipe\LOCAL\
per il nome della pipe.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | namedpipeapi.h |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |