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.
83 lines
1.3 KiB
83 lines
1.3 KiB
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
iohandler.h
|
|
|
|
Abstract:
|
|
|
|
This module implements the IoHandler class.
|
|
|
|
The IoHandler class defines a wrapper interface for constructing
|
|
filter read/write handlers for SAC channel I/O.
|
|
|
|
Author:
|
|
|
|
Brian Guarraci (briangu), 2001
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#if !defined( _IOHANDLER_H_ )
|
|
#define _IOHANDLER_H_
|
|
|
|
#include <nt.h>
|
|
#include <ntrtl.h>
|
|
#include <nturtl.h>
|
|
#include <windows.h>
|
|
|
|
class CIoHandler
|
|
{
|
|
|
|
protected:
|
|
|
|
//
|
|
// Prevent this class from begin instantiated directly
|
|
//
|
|
CIoHandler();
|
|
|
|
public:
|
|
|
|
virtual ~CIoHandler();
|
|
|
|
//
|
|
// Send BufferSize bytes
|
|
//
|
|
virtual BOOL
|
|
Write(
|
|
PBYTE Buffer,
|
|
ULONG BufferSize
|
|
) = 0;
|
|
|
|
//
|
|
// Flush any unsent data
|
|
//
|
|
virtual BOOL
|
|
Flush(
|
|
VOID
|
|
) = 0;
|
|
|
|
//
|
|
// Read BufferSize bytes
|
|
//
|
|
virtual BOOL
|
|
Read(
|
|
PBYTE Buffer,
|
|
ULONG BufferSize,
|
|
PULONG ByteCount
|
|
) = 0;
|
|
|
|
//
|
|
// Determine if the ioHandler has new data to read
|
|
//
|
|
virtual BOOL
|
|
HasNewData(
|
|
PBOOL InputWaiting
|
|
) = 0;
|
|
|
|
};
|
|
|
|
#endif
|
|
|