//================================================================= // // SvrApiApi.h // // Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved // //================================================================= #ifndef _SVRAPIAPI_H_ #define _SVRAPIAPI_H_ #include #include #include #include #include #include #include #include #include /****************************************************************************** * #includes to Register this class with the CResourceManager. *****************************************************************************/ #include "DllWrapperBase.h" extern const GUID g_guidSvrApiApi; extern const TCHAR g_tstrSvrApi[]; /****************************************************************************** * Function pointer typedefs. Add new functions here as required. *****************************************************************************/ typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_ENUM) ( char FAR *servername, short level, char FAR *bufptr, unsigned short prefmaxlen, unsigned short FAR *entriesread, unsigned short FAR *totalentries ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_GET_INFO) ( char FAR *servername, char FAR *netname, short level, char FAR *bufptr, unsigned short buflen, unsigned short FAR *totalavail ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SERVER_GET_INFO) ( char FAR *servername, short level, char FAR *bufptr, unsigned short buflen, unsigned short FAR *totalavail ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_ENUM_STICKY) ( IN LPTSTR servername, IN DWORD level, OUT LPBYTE *bufptr, IN DWORD prefmaxlen, OUT LPDWORD entriesread, OUT LPDWORD totalentries, IN OUT LPDWORD resume_handle ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_SET_INFO) ( IN const char FAR * servername, IN const char FAR * netname, IN short level, IN const char FAR* buf, IN unsigned short cbBuffer, IN short sParmNum ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_ADD) ( IN const char FAR * servername, IN short level, IN const char FAR * buf, unsigned short cbBuffer ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_DEL) ( IN LPTSTR servername, IN LPTSTR netname, IN DWORD reserved ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_DEL_STICKY) ( IN LPTSTR servername, IN LPTSTR netname, IN DWORD reserved ); typedef NET_API_STATUS (NET_API_FUNCTION *PFN_SVRAPI_NET_SHARE_CHECK) ( IN LPTSTR servername, IN LPTSTR device, OUT LPDWORD type ); /****************************************************************************** * Wrapper class for Kernel32 load/unload, for registration with CResourceManager. ******************************************************************************/ class CSvrApiApi : public CDllWrapperBase { private: // Member variables (function pointers) pointing to kernel32 functions. // Add new functions here as required. PFN_SVRAPI_NET_SHARE_ENUM m_pfnNetShareEnum; PFN_SVRAPI_NET_SHARE_GET_INFO m_pfnNetShareGetInfo; PFN_SVRAPI_NET_SERVER_GET_INFO m_pfnNetServerGetInfo; PFN_SVRAPI_NET_SHARE_SET_INFO m_pfnNetShareSetInfo; PFN_SVRAPI_NET_SHARE_ADD m_pfnNetShareAdd; PFN_SVRAPI_NET_SHARE_DEL m_pfnNetShareDel; #ifdef NTONLY PFN_SVRAPI_NET_SHARE_ENUM_STICKY m_pfnNetShareEnumSticky; PFN_SVRAPI_NET_SHARE_DEL_STICKY m_pfnNetShareDelSticky; PFN_SVRAPI_NET_SHARE_CHECK m_pfnNetShareCheck; #endif public: // Constructor and destructor: CSvrApiApi(LPCTSTR a_tstrWrappedDllName); ~CSvrApiApi(); // Inherrited initialization function. virtual bool Init(); // Member functions wrapping kernel32 functions. // Add new functions here as required: NET_API_STATUS NET_API_FUNCTION NetShareEnum ( char FAR *a_servername, short a_level, char FAR *a_bufptr, unsigned short a_prefmaxlen, unsigned short FAR *a_entriesread, unsigned short FAR *a_totalentries ); NET_API_STATUS NET_API_FUNCTION NetShareGetInfo ( char FAR *a_servername, char FAR *a_netname, short a_level, char FAR *a_bufptr, unsigned short a_buflen, unsigned short FAR *a_totalavail ); NET_API_STATUS NET_API_FUNCTION NetServerGetInfo ( char FAR *a_servername, short a_level, char FAR *a_bufptr, unsigned short a_buflen, unsigned short FAR *a_totalavail ); NET_API_STATUS NET_API_FUNCTION NetShareSetInfo ( const char FAR *a_servername, const char FAR *a_netname, short a_level, const char FAR *a_buf, unsigned short a_cbBuffer, short a_sParmNum ); NET_API_STATUS NET_API_FUNCTION NetShareAdd ( const char FAR *a_servername, short a_level, const char FAR *a_buf, unsigned short a_cbBuffer ); NET_API_STATUS NET_API_FUNCTION NetShareDel ( LPTSTR a_servername, LPTSTR a_netname, DWORD a_reserved ); #ifdef NTONLY NET_API_STATUS NET_API_FUNCTION NetShareEnumSticky ( LPTSTR a_servername, DWORD a_level, LPBYTE *a_bufptr, DWORD a_prefmaxlen, LPDWORD a_entriesread, LPDWORD a_totalentries, LPDWORD a_resume_handle ); NET_API_STATUS NET_API_FUNCTION NetShareDelSticky ( LPTSTR a_servername, LPTSTR a_netname, DWORD a_reserved ); NET_API_STATUS NET_API_FUNCTION NetShareCheck ( LPTSTR a_servername, LPTSTR a_device, LPDWORD a_type ); #endif }; #endif