windows-nt/Source/XPSP1/NT/enduser/netmeeting/ulsldap/ulsuser.h

115 lines
3.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//****************************************************************************
//
// Module: ULS.DLL
// File: ulsuser.h
// Content: This file contains the User object definition.
// History:
// Wed 17-Apr-1996 11:18:47 -by- Viroon Touranachun [viroont]
//
// Copyright (c) Microsoft Corporation 1996-1997
//
//****************************************************************************
#ifndef _ULSUSER_H_
#define _ULSUSER_H_
#include "connpt.h"
//****************************************************************************
// CUlsUser definition
//****************************************************************************
//
class CUlsUser : public IULSUser,
public IConnectionPointContainer
{
private:
ULONG cRef;
LPTSTR szServer;
LPTSTR szID;
LPTSTR szFirstName;
LPTSTR szLastName;
LPTSTR szEMailName;
LPTSTR szCityName;
LPTSTR szCountryName;
LPTSTR szComment;
LPTSTR szIPAddr;
DWORD m_dwFlags;
CConnectionPoint *pConnPt;
// Private method
//
STDMETHODIMP NotifySink (void *pv, CONN_NOTIFYPROC pfn);
public:
// Constructor and destructor
CUlsUser (void);
~CUlsUser (void);
STDMETHODIMP Init (LPTSTR szServerName,
PLDAP_USERINFO pui);
// Asynchronous response
//
STDMETHODIMP GetApplicationResult (ULONG uReqID,
PLDAP_APPINFO_RES plar);
STDMETHODIMP EnumApplicationsResult (ULONG uReqID,
PLDAP_ENUM ple);
// IUnknown
STDMETHODIMP QueryInterface (REFIID iid, void **ppv);
STDMETHODIMP_(ULONG) AddRef (void);
STDMETHODIMP_(ULONG) Release (void);
// IULSUser
STDMETHODIMP GetID (BSTR *pbstrID);
STDMETHODIMP GetFirstName (BSTR *pbstrName);
STDMETHODIMP GetLastName (BSTR *pbstrName);
STDMETHODIMP GetEMailName (BSTR *pbstrName);
STDMETHODIMP GetCityName (BSTR *pbstrName);
STDMETHODIMP GetCountryName (BSTR *pbstrName);
STDMETHODIMP GetComment (BSTR *pbstrComment);
STDMETHODIMP GetFlags (DWORD *pdwFlags);
STDMETHODIMP GetIPAddress (BSTR *pbstrIPAddress);
STDMETHODIMP GetApplication (BSTR bstrAppName,
IULSAttributes *pAttributes,
ULONG *puReqID);
STDMETHODIMP EnumApplications (ULONG *puReqID);
// IConnectionPointContainer
STDMETHODIMP EnumConnectionPoints(IEnumConnectionPoints **ppEnum);
STDMETHODIMP FindConnectionPoint(REFIID riid,
IConnectionPoint **ppcp);
};
//****************************************************************************
// CEnumUsers definition
//****************************************************************************
//
class CEnumUsers : public IEnumULSUsers
{
private:
ULONG cRef;
CUlsUser **ppu;
ULONG cUsers;
ULONG iNext;
public:
// Constructor and Initialization
CEnumUsers (void);
~CEnumUsers (void);
STDMETHODIMP Init (CUlsUser **ppuList, ULONG cUsers);
// IUnknown
STDMETHODIMP QueryInterface (REFIID iid, void **ppv);
STDMETHODIMP_(ULONG) AddRef (void);
STDMETHODIMP_(ULONG) Release (void);
// IEnumULSAttributes
STDMETHODIMP Next(ULONG cUsers, IULSUser **rgpu,
ULONG *pcFetched);
STDMETHODIMP Skip(ULONG cUsers);
STDMETHODIMP Reset();
STDMETHODIMP Clone(IEnumULSUsers **ppEnum);
};
#endif //_ULSUSER_H_