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.
 
 
 
 
 
 

134 lines
3.0 KiB

//***************************************************************************
//
// Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved
//
// NtDomain.h
//
// Purpose: Nt domain discovery property set provider
//
//***************************************************************************
#ifndef _NTDOMAIN_H
#define _NTDOMAIN_H
// into strings.h
extern LPCWSTR IDS_DomainControllerName;
extern LPCWSTR IDS_DomainControllerAddress;
extern LPCWSTR IDS_DomainControllerAddressType;
extern LPCWSTR IDS_DomainGuid;
extern LPCWSTR IDS_DomainName;
extern LPCWSTR IDS_DnsForestName;
extern LPCWSTR IDS_DS_PDC_Flag;
extern LPCWSTR IDS_DS_WRITABLE_Flag;
extern LPCWSTR IDS_DS_GC_Flag;
extern LPCWSTR IDS_DS_DS_Flag;
extern LPCWSTR IDS_DS_KDC_Flag;
extern LPCWSTR IDS_DS_TIMESERV_Flag;
extern LPCWSTR IDS_DS_DNS_CONTROLLER_Flag;
extern LPCWSTR IDS_DS_DNS_DOMAIN_Flag;
extern LPCWSTR IDS_DS_DNS_FOREST_Flag;
extern LPCWSTR IDS_DcSiteName;
extern LPCWSTR IDS_ClientSiteName;
//==================================
#define PROPSET_NAME_NTDOMAIN L"Win32_NTDomain"
// PROPERTY SET
//=============
class CWin32_NtDomain: public Provider
{
private:
// property names
CHPtrArray m_pProps ;
void SetPropertyTable() ;
HRESULT GetDomainInfo(
CNetAPI32 &a_NetAPI,
bstr_t &a_bstrDomainName,
CInstance *a_pInst,
DWORD a_dwProps
) ;
HRESULT EnumerateInstances(
MethodContext *a_pMethodContext,
long a_Flags,
CNetAPI32 &a_rNetAPI,
DWORD a_dwProps
) ;
public:
// Constructor/destructor
//=======================
CWin32_NtDomain( LPCWSTR a_Name, LPCWSTR a_Namespace ) ;
~CWin32_NtDomain() ;
// Functions that provide properties with current values
//======================================================
HRESULT GetObject (
CInstance *a_Instance,
long a_Flags,
CFrameworkQuery &a_rQuery
) ;
HRESULT EnumerateInstances (
MethodContext *a_pMethodContext,
long a_Flags = 0L
) ;
HRESULT ExecQuery (
MethodContext *a_pMethodContext,
CFrameworkQuery &a_rQuery,
long a_Flags = 0L
) ;
// Property offset defines
enum ePropertyIDs {
e_DomainControllerName, // Win32_NtDomain
e_DomainControllerAddress,
e_DomainControllerAddressType,
e_DomainGuid,
e_DomainName,
e_DnsForestName,
e_DS_PDC_Flag,
e_DS_Writable_Flag,
e_DS_GC_Flag,
e_DS_DS_Flag,
e_DS_KDC_Flag,
e_DS_Timeserv_Flag,
e_DS_DNS_Controller_Flag,
e_DS_DNS_Domain_Flag,
e_DS_DNS_Forest_Flag,
e_DcSiteName,
e_ClientSiteName,
e_CreationClassName, // CIM_System
e_Name, /* override from CIM_ManagedSystemElement */
e_NameFormat,
e_PrimaryOwnerContact,
e_PrimaryOwnerName,
e_Roles,
e_Caption, // CIM_ManagedSystemElement
e_Description,
e_InstallDate,
e_Status,
e_End_Property_Marker, // end marker
e_32bit = 32 // gens compiler error if additions to this set >= 32
};
};
#endif // _NTDOMAIN_H