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.
|
|
//****************************************************************************
//
// 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_
|