Condividi tramite


Funzione DisconnectNamedPipe (namedpipeapi.h)

Disconnette l'estremità del server di un'istanza named pipe da un processo client.

Sintassi

BOOL DisconnectNamedPipe(
  [in] HANDLE hNamedPipe
);

Parametri

[in] hNamedPipe

Handle a un'istanza di una named pipe. Questo handle deve essere creato dalla funzione CreateNamedPipe .

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

Se l'estremità client della named pipe è aperta, la funzione DisconnectNamedPipe forza la fine della named pipe chiusa. Il client riceve un errore la volta successiva che tenta di accedere alla pipe. Un client forzato da DisconnectNamedPipe deve comunque usare la funzione CloseHandle per chiudere la fine della pipe.

La pipe esiste finché un processo server o client dispone di un handle aperto per la pipe.

Quando il processo del server disconnette un'istanza di pipe, tutti i dati non letti nella pipe vengono eliminati. Prima di disconnettersi, il server può assicurarsi che i dati non vadano persi chiamando la funzione FlushFileBuffers , che non restituisce finché il processo client non ha letto tutti i dati.

Il processo del server deve chiamare DisconnectNamedPipe per disconnettere un handle pipe dal client precedente prima che l'handle possa essere connesso a un altro client usando la funzione ConnectNamedPipe .

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.

Esempio

Per un esempio, vedere Server pipe multithreading.

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

Vedere anche

Closehandle

ConnectNamedPipe

CreateNamedPipe

FlushFileBuffers

Funzioni pipe

Panoramica delle pipe