/*++ Copyright (c) 2001 Microsoft Corporation Module Name: nullio.cpp Abstract: This module implements the NULL IoHandler. The purpose of this IoHandler is to provide a NULL channel for lockable IoHandlers. When the IoHandler is locked, the IoHandler client writes to a NULL device. Author: Brian Guarraci (briangu), 2001 Revision History: --*/ #include "nullio.h" CNullIoHandler::CNullIoHandler( VOID ) /*++ Routine Description: Constructor Arguments: None Return Value: N/A --*/ { NOTHING; } CNullIoHandler::~CNullIoHandler( ) /*++ Routine Description: Destructor Arguments: N/A Return Value: N/A --*/ { NOTHING; } BOOL CNullIoHandler::Write( IN PBYTE Buffer, IN ULONG BufferSize ) /*++ Routine Description: This routine impelements the write IoHandler operation. Arguments: Buffer - the data to send BufferSize - the size of the buffer in bytes Return Value: TRUE - success FALSE - otherwise --*/ { UNREFERENCED_PARAMETER(Buffer); UNREFERENCED_PARAMETER(BufferSize); // // Do Nothing // return TRUE; } BOOL CNullIoHandler::Flush( VOID ) /*++ Routine Description: This routine implements the Flush IoHandler method. Arguments: None Return Value: TRUE - success FALSE - otherwise --*/ { // // Do Nothing // return TRUE; } BOOL CNullIoHandler::Read( OUT PBYTE Buffer, IN ULONG BufferSize, OUT PULONG ByteCount ) /*++ Routine Description: This routine implements the Read IoHandler method. Arguments: Buffer - on success, contains the read data BufferSize - the size of the read buffer in bytes ByteCount - on success, contains the # of bytes read Return Value: TRUE - success FALSE - otherwise --*/ { UNREFERENCED_PARAMETER(Buffer); UNREFERENCED_PARAMETER(BufferSize); // // No data was read // *ByteCount = 0; return TRUE; } BOOL CNullIoHandler::HasNewData( IN PBOOL InputWaiting ) /*++ Routine Description: This routine impelements the HasNewData IoHandler method. Arguments: InputWaiting - on success, contains the status of the channel's input buffer. Return Value: TRUE - success FALSE - otherwise --*/ { // // There is no new data // *InputWaiting = FALSE; return TRUE; }