Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
pipestr.hxx
Abstract:
This module contains the declaration for the PIPE_STREAM class. The PIPE_STREAM is a class derived from BUFFER_STREAM that provides methods to read and write data to an anonymous pipe. A PIPE_STREAM will have one of the following access: READ or WRITE.
Author:
Jaime Sasson (jaimes) 18-Apr-1991
Environment:
ULIB, User Mode
--*/
#if !defined( PIPE_STREAM_ )
#define PIPE_STREAM_
#include "bufstrm.hxx"
//
// Forward references
//
DECLARE_CLASS( PIPE_STREAM ); DECLARE_CLASS( WSTRING );
class PIPE_STREAM : public BUFFER_STREAM {
public:
friend class PIPE; friend PSTREAM GetStandardStream( HANDLE, STREAMACCESS );
DECLARE_CAST_MEMBER_FUNCTION( PIPE_STREAM );
VIRTUAL ~PIPE_STREAM( );
VIRTUAL STREAMACCESS QueryAccess( ) CONST;
protected:
DECLARE_CONSTRUCTOR( PIPE_STREAM );
NONVIRTUAL BOOLEAN Initialize( IN HANDLE Handle, IN STREAMACCESS Access );
VIRTUAL BOOLEAN EndOfFile( ) CONST;
VIRTUAL BOOLEAN FillBuffer( IN PBYTE Buffer, IN ULONG BufferSize, OUT PULONG BytesRead );
VIRTUAL HANDLE QueryHandle( ) CONST;
#ifdef FE_SB
VIRTUAL BOOLEAN CheckIfLeadByte( IN PUCHAR text, IN ULONG offset );
#endif
private:
HANDLE _PipeHandle; STREAMACCESS _Access; BOOLEAN _EndOfFile; };
#endif // _PIPE_STREAM_
|