65 lines
2.4 KiB
C
65 lines
2.4 KiB
C
|
/******************************************************************
|
||
|
SrvProp.h -- Properties functions and class declarations
|
||
|
|
||
|
MODULE:
|
||
|
DhcpProv.dll
|
||
|
|
||
|
DESCRIPTION:
|
||
|
Contains macros and declaration for the properties action function type.
|
||
|
Contains the declaration of the class modeling the DHCP_Server property.
|
||
|
|
||
|
|
||
|
REVISION:
|
||
|
08/03/98 - created
|
||
|
|
||
|
******************************************************************/
|
||
|
|
||
|
#ifndef _PROPS_H
|
||
|
#define _PROPS_H
|
||
|
|
||
|
//------------General Definitions--------------------
|
||
|
#define PROVIDER_NAMESPACE_DHCP "root\\dhcp"
|
||
|
#define SERVER_IP_ADDRESS L"127.0.0.1"
|
||
|
|
||
|
//------------General Utility functions--------------
|
||
|
BOOL inet_wstodw(CHString str, DHCP_IP_ADDRESS & IpAddress);
|
||
|
BOOL dupDhcpBinaryData(DHCP_BINARY_DATA &src, DHCP_BINARY_DATA &dest);
|
||
|
BOOL InstanceSetByteArray(CInstance *pInstance, const CHString& name, BYTE *bArray, DWORD dwSzArray);
|
||
|
BOOL InstanceGetByteArray(CInstance *pInstance, const CHString& name, BYTE *&bArray, DWORD &dwSzArray);
|
||
|
|
||
|
// this is a default DWORD property of the "out" CInstance
|
||
|
#define RETURN_CODE_PROPERTY_NAME "ReturnValue"
|
||
|
|
||
|
// macro for declaration of the property action functions (imposed prototype)
|
||
|
#define MFN_PROPERTY_ACTION_DECL(fnName) \
|
||
|
BOOL fnName(void *, \
|
||
|
CInstance *, \
|
||
|
CInstance *)
|
||
|
|
||
|
// macro for the definition of the property action functions (imposed prototype)
|
||
|
#define MFN_PROPERTY_ACTION_DEFN(fnName, pServerParams, pIn, pOut) \
|
||
|
BOOL fnName(void *pServerParams, \
|
||
|
CInstance *pIn, \
|
||
|
CInstance *pOut)
|
||
|
|
||
|
// property action function type
|
||
|
typedef BOOL (*PFN_PROPERTY_ACTION)(void *pServerParams, CInstance *pIn, CInstance *pOut);
|
||
|
|
||
|
// general class defining the DHCP_Server property.
|
||
|
// the DHCP_Server_Property static table (defined in SrvScal.cpp) is made up by instances of this class
|
||
|
class CDHCP_Property
|
||
|
{
|
||
|
public:
|
||
|
WCHAR *m_wsPropName; // property name
|
||
|
PFN_PROPERTY_ACTION m_pfnActionGet; // pointer to GET action function
|
||
|
PFN_PROPERTY_ACTION m_pfnActionSet; // pointer to SET action function
|
||
|
|
||
|
// constructor
|
||
|
CDHCP_Property(const WCHAR *wsPropName, const PFN_PROPERTY_ACTION pfnActionGet, const PFN_PROPERTY_ACTION pfnActionSet);
|
||
|
|
||
|
// destructor
|
||
|
virtual ~CDHCP_Property();
|
||
|
};
|
||
|
|
||
|
#endif
|