windows-nt/Source/XPSP1/NT/printscan/fax/admin/faxadmin/idevices.h
2020-09-26 16:20:57 +08:00

67 lines
1.6 KiB
C++

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
idevices.h
Abstract:
Internal implementation for the devices subfolder.
Environment:
WIN32 User Mode
Author:
Darwin Ouyang (t-darouy) 30-Sept-1997
--*/
#ifndef __IDEVICES_H_
#define __IDEVICES_H_
class CInternalDevice; // forward declaration
class CInternalDevices : public CInternalNode
{
public:
CInternalDevices( CInternalNode * pParent, CFaxComponentData * pCompData );
~CInternalDevices();
// member functions
virtual const GUID * GetNodeGUID();
virtual const LPTSTR GetNodeDisplayName();
virtual const LPTSTR GetNodeDescription();
virtual const LONG_PTR GetCookie();
virtual CInternalNode * GetThis() { return this; }
virtual const int GetNodeDisplayImage() { return IDI_FAXING; }
virtual const int GetNodeDisplayOpenImage() { return IDI_FAXING; }
virtual HRESULT ResultOnShow(CFaxComponent* pComp, CFaxDataObject * lpDataObject, LPARAM arg, LPARAM param);
virtual HRESULT ResultOnDelete(CFaxComponent* pComp, CFaxDataObject * lpDataObject, LPARAM arg, LPARAM param);
HRESULT CorrectServiceState();
// removes all the devices in preperation for a re-enum
void NotifyFailure( CFaxComponent * pComp );
HANDLE faxHandle;
private:
HRESULT InsertItem( CInternalDevice ** pDevice,
PFAX_PORT_INFO pPortInfo );
HRESULT SetServiceState( BOOL fAutomatic );
CInternalDevice ** pDeviceArray;
PFAX_PORT_INFO pDevicesInfo;
LPRESULTDATA pIResultData;
};
#endif