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.
 
 
 
 
 
 

205 lines
4.6 KiB

//=================================================================
//
// MprApi.h
//
// Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved
//
//=================================================================
#ifndef _MprApi_H_
#define _MprApi_H_
/******************************************************************************
* #includes to Register this class with the CResourceManager.
*****************************************************************************/
extern const GUID g_guidMprApi;
extern const TCHAR g_tstrMpr[];
/******************************************************************************
* Function pointer typedefs. Add new functions here as required.
*****************************************************************************/
#ifdef UNICODE
typedef DWORD (APIENTRY *PFN_Mpr_WNetEnumResource )
(
IN HANDLE hEnum,
IN OUT LPDWORD lpcCount,
OUT LPVOID lpBuffer,
IN OUT LPDWORD lpBufferSize
);
#else
typedef DWORD (APIENTRY *PFN_Mpr_WNetEnumResource )
(
IN HANDLE hEnum,
IN OUT LPDWORD lpcCount,
OUT LPVOID lpBuffer,
IN OUT LPDWORD lpBufferSize
);
#endif
#ifdef UNICODE
typedef DWORD (APIENTRY *PFN_Mpr_WNetOpenEnum )
(
IN DWORD dwScope,
IN DWORD dwType,
IN DWORD dwUsage,
IN LPNETRESOURCEW lpNetResource,
OUT LPHANDLE lphEnum
);
#else
typedef DWORD (APIENTRY *PFN_Mpr_WNetOpenEnum )
(
IN DWORD dwScope,
IN DWORD dwType,
IN DWORD dwUsage,
IN LPNETRESOURCEA lpNetResource,
OUT LPHANDLE lphEnum
);
#endif
typedef DWORD (APIENTRY *PFN_Mpr_WNetCloseEnum )
(
IN HANDLE hEnum
);
#ifdef UNICODE
typedef DWORD (APIENTRY *PFN_Mpr_WNetGetUser )
(
IN LPCWSTR lpName,
OUT LPWSTR lpUserName,
IN OUT LPDWORD lpnLength
);
#else
typedef DWORD (APIENTRY *PFN_Mpr_WNetGetUser )
(
IN LPCSTR lpName,
OUT LPSTR lpUserName,
IN OUT LPDWORD lpnLength
);
#endif
#ifdef UNICODE
typedef DWORD (APIENTRY *PFN_Mpr_WNetGetConnection )
(
IN LPCWSTR lpLocalName,
OUT LPWSTR lpRemoteName,
IN OUT LPDWORD lpnLength
);
#else
typedef DWORD (APIENTRY *PFN_Mpr_WNetGetConnection )
(
IN LPCSTR lpLocalName,
OUT LPSTR lpRemoteName,
IN OUT LPDWORD lpnLength
);
#endif
/******************************************************************************
* Wrapper class for Tapi load/unload, for registration with CResourceManager.
*****************************************************************************/
class CMprApi : public CDllWrapperBase
{
private:
// Member variables (function pointers) pointing to Tapi functions.
// Add new functions here as required.
PFN_Mpr_WNetEnumResource m_pfnWNetEnumResource ;
PFN_Mpr_WNetOpenEnum m_pfnWNetOpenEnum ;
PFN_Mpr_WNetCloseEnum m_pfnWNetCloseEnum ;
PFN_Mpr_WNetGetUser m_pfnWNetGetUser ;
PFN_Mpr_WNetGetConnection m_pfnWNetGetConnection ;
public:
// Constructor and destructor:
CMprApi(LPCTSTR a_tstrWrappedDllName);
~CMprApi();
// Initialization function to check function pointers.
virtual bool Init();
// Member functions wrapping Tapi functions.
// Add new functions here as required:
#ifdef UNICODE
DWORD WNetEnumResource (
IN HANDLE hEnum,
IN OUT LPDWORD lpcCount,
OUT LPVOID lpBuffer,
IN OUT LPDWORD lpBufferSize
) ;
#else
DWORD WNetEnumResource (
IN HANDLE hEnum,
IN OUT LPDWORD lpcCount,
OUT LPVOID lpBuffer,
IN OUT LPDWORD lpBufferSize
) ;
#endif
#ifdef UNICODE
DWORD WNetOpenEnum (
IN DWORD dwScope,
IN DWORD dwType,
IN DWORD dwUsage,
IN LPNETRESOURCEW lpNetResource,
OUT LPHANDLE lphEnum
) ;
#else
DWORD WNetOpenEnum (
IN DWORD dwScope,
IN DWORD dwType,
IN DWORD dwUsage,
IN LPNETRESOURCEA lpNetResource,
OUT LPHANDLE lphEnum
) ;
#endif
#ifdef UNICODE
DWORD WNetGetUser (
IN LPCWSTR lpName,
OUT LPWSTR lpUserName,
IN OUT LPDWORD lpnLength
) ;
#else
DWORD WNetGetUser (
IN LPCSTR lpName,
OUT LPSTR lpUserName,
IN OUT LPDWORD lpnLength
) ;
#endif
#ifdef UNICODE
DWORD WNetGetConnection (
IN LPCWSTR lpLocalName,
OUT LPWSTR lpRemoteName,
IN OUT LPDWORD lpnLength
) ;
#else
DWORD WNetGetConnection (
IN LPCSTR lpLocalName,
OUT LPSTR lpRemoteName,
IN OUT LPDWORD lpnLength
) ;
#endif
DWORD WNetCloseEnum (
IN HANDLE hEnum
) ;
};
#endif