Funzione GetNamedPipeHandleStateA (winbase.h)
Recupera informazioni su una pipe denominata specificata. Le informazioni restituite possono variare durante la durata di un'istanza della pipe denominata.
Sintassi
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
);
Parametri
[in] hNamedPipe
Handle alla pipe denominata per cui sono necessarie informazioni. L'handle deve avere GENERIC_READ accesso per una pipe di sola lettura o 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 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 pipe denominata 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 pipe denominata remota trasferisca informazioni sulla rete. Questo parametro deve essere NULL se l'handle pipe specificato è alla fine del server di una pipe denominata 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 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 pipe denominata. Questo parametro può essere NULL se queste informazioni non sono necessarie.
[in] nMaxUserNameSize
Dimensioni del buffer specificato dal parametro lpUserName , in TCHARs. 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 dell'handle della pipe, usare la funzione SetNamedPipeHandleState .
Windows 10 versione 1709: i pipe sono supportati solo all'interno di un contenitore di app, ovvero da un processo UWP a un altro processo UWP che fa parte della stessa app. Inoltre, i pipe denominati devono 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 | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |