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:
keyboard.hxx
Abstract:
This module contains the declaration for the KEYBOARD class. The KEYBOARD class is a derived from BUFFER_STREAM that provides methods to access the keyboard as a stream of bytes with read-only access. It also provides some methods that set/reset the keyboard mode.
Author:
Jaime Sasson (jaimes) 21-Mar-1991
Environment:
ULIB, User Mode
--*/
#if !defined( _KEYBOARD_ )
#define _KEYBOARD_
#include "bufstrm.hxx"
DECLARE_CLASS( KEYBOARD );
class KEYBOARD : public BUFFER_STREAM {
public:
ULIB_EXPORT DECLARE_CONSTRUCTOR( KEYBOARD );
ULIB_EXPORT DECLARE_CAST_MEMBER_FUNCTION( KEYBOARD );
NONVIRTUAL ~KEYBOARD ( );
NONVIRTUAL ULIB_EXPORT BOOLEAN Initialize( IN BOOLEAN LineMode DEFAULT TRUE, IN BOOLEAN EchoMode DEFAULT TRUE );
STATIC ULIB_EXPORT BOOLEAN DisableBreakHandling ( );
NONVIRTUAL BOOLEAN DisableEchoMode( );
NONVIRTUAL ULIB_EXPORT BOOLEAN DisableLineMode( );
STATIC ULIB_EXPORT BOOLEAN EnableBreakHandling ( );
NONVIRTUAL BOOLEAN EnableEchoMode( );
NONVIRTUAL ULIB_EXPORT BOOLEAN EnableLineMode( );
VIRTUAL BOOLEAN EndOfFile( ) CONST;
VIRTUAL BOOLEAN FillBuffer( IN PBYTE Buffer, IN ULONG BufferSize, OUT PULONG BytesRead );
NONVIRTUAL ULIB_EXPORT BOOLEAN Flush( );
STATIC ULIB_EXPORT BOOLEAN GotABreak ( );
NONVIRTUAL BOOLEAN IsEchoModeEnabled( OUT PBOOLEAN EchoInput ) CONST;
NONVIRTUAL ULIB_EXPORT BOOLEAN IsKeyAvailable( OUT PBOOLEAN Available ) CONST;
NONVIRTUAL BOOLEAN IsLineModeEnabled( OUT PBOOLEAN LineMode ) CONST;
VIRTUAL STREAMACCESS QueryAccess( ) CONST;
NONVIRTUAL ULONG QueryDelay ( ) CONST;
VIRTUAL HANDLE QueryHandle( ) CONST;
NONVIRTUAL ULONG QuerySpeed ( ) CONST;
NONVIRTUAL BOOLEAN SetDelay ( IN ULONG Delay ) CONST;
NONVIRTUAL BOOLEAN SetSpeed ( IN ULONG Speed ) CONST;
NONVIRTUAL ULIB_EXPORT CONST PBOOL GetPFlagBreak ( VOID ) CONST;
NONVIRTUAL ULIB_EXPORT VOID DoNotRestoreConsoleMode( );
protected:
NONVIRTUAL VOID Construct( );
private:
HANDLE _KeyboardHandle; ULONG _PreviousMode; BOOLEAN _DoNotRestoreConsoleMode; BOOLEAN _FlagCtrlZ; STATIC BOOL _FlagBreak;
NONVIRTUAL BOOLEAN CheckForAsciiKey( IN PINPUT_RECORD InputRecord, IN ULONG NumberOfInputRecords ) CONST;
STATIC BOOL BreakHandler ( IN ULONG CtrlType );
};
#endif // _KEYBOARD_
|