2
BTW le tampon restant augmentera automatiquement si l'autre côté lit des données, non?Comment vérifier la taille de la mémoire tampon restante du tuyau dans Windows en c/C++?
BTW le tampon restant augmentera automatiquement si l'autre côté lit des données, non?Comment vérifier la taille de la mémoire tampon restante du tuyau dans Windows en c/C++?
Que diriez-vous de PeekNamedPipe
? Il semblerait que ce qui suit retournera le nombre total d'octets restant à lire du tuyau.
DWORD totalBytesAvailable;
BOOL WINAPI PeekNamedPipe(
handle, // __in HANDLE hNamedPipe,
NULL, // __out_opt LPVOID lpBuffer,
0, // __in DWORD nBufferSize,
NULL, // __out_opt LPDWORD lpBytesRead,
&totalBytesAvailable, // __out_opt LPDWORD lpTotalBytesAvail,
NULL // __out_opt LPDWORD lpBytesLeftThisMessage
);
'totalBytesAvailable' inclut les octets écrits par les deux côtés du tuyau, non? – Alan
@Alan: Je ne suis pas sûr. Il dit que c'est le total disponible à lire, ce qui pourrait signifier juste ce que ce côté de la pipe peut lire. Cependant, je pense que c'est l'un de ces cas où la façon la plus simple de savoir avec certitude sera d'écrire un code de test. – torak
Cela ne fonctionne pas, j'ai juste essayé, 'totalBytesAvailable' est toujours' 0' – Alan