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.
 
 
 
 
 
 

92 lines
1.5 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
Module Name:
sacio.h
Abstract:
This module implements a SAC channel IoHandler.
The purpose of this IoHandler is to provide an
interface for doing buffered channel I/O.
Author:
Brian Guarraci (briangu), 2001
Revision History:
--*/
#if !defined( _SAC_IO_H_ )
#define _SAC_IO_H_
#include "iohandler.h"
#include <emsapi.h>
class CSacIoHandler : public CIoHandler
{
EMSCmdChannel* mySacChannel;
//
// Prevent this class from being instantiated directly
//
CSacIoHandler();
//
// Write buffer attributes
//
PBYTE mySendBuffer;
ULONG mySendBufferIndex;
public:
static CSacIoHandler*
CSacIoHandler::Construct(
IN SAC_CHANNEL_OPEN_ATTRIBUTES Attributes
);
//
// Write BufferSize bytes
//
inline virtual BOOL
Write(
IN PBYTE Buffer,
IN ULONG BufferSize
);
//
// Flush any unsent data
//
inline virtual BOOL
Flush(
VOID
);
//
// Write BufferSize bytes
//
inline virtual BOOL
Read(
OUT PBYTE Buffer,
IN ULONG BufferSize,
OUT PULONG ByteCount
);
//
// Determine if the ioHandler has new data to read
//
inline virtual BOOL
HasNewData(
OUT PBOOL InputWaiting
);
virtual ~CSacIoHandler();
};
#endif