113 lines
1.5 KiB
C++
113 lines
1.5 KiB
C++
|
/*++
|
|||
|
|
|||
|
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_
|