title: PeekNamedPipe always returns 0 for totalBytesAvailable
body: <pre><code>  PeekNamedPipe( 
      tmp_pipe,                // __in       HANDLE hNamedPipe, 
      NULL,                  // __out_opt  LPVOID lpBuffer, 
      0,                     // __in       DWORD nBufferSize, 
      NULL,                  // __out_opt  LPDWORD lpBytesRead, 
      &amp;totalBytesAvailable,  // __out_opt  LPDWORD lpTotalBytesAvail, 
      NULL                   // __out_opt  LPDWORD lpBytesLeftThisMessage 
    ); 
  </code></pre>
  
  <p>I have written bytes to the pipe somewhere else,but totalBytesAvailable is always <code>0</code>,why?</p>