windows-nt/Source/XPSP1/NT/ds/adsi/winnt/umiglob.cxx

189 lines
8.6 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
//----------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 2000.
//
// File: umiglob.cxx
//
// Contents: Contains definition of UMI global variables
//
// History: 02-28-00 SivaramR Created.
//
//----------------------------------------------------------------------------
#include "winnt.hxx"
UMI_TYPE g_mapNTTypeToUmiType[] = {
UMI_TYPE_NULL, // no NT_SYNTAX value of 0
UMI_TYPE_BOOL, // NT_SYNTAX_ID_BOOL
UMI_TYPE_SYSTEMTIME, // NT_SYNTAX_ID_SYSTEMTIME
UMI_TYPE_I4, // NT_SYNTAX_ID_DWORD
UMI_TYPE_LPWSTR, // NT_SYNTAX_ID_LPTSTR
UMI_TYPE_LPWSTR, // NT_SYNTAX_ID_DelimitedString
UMI_TYPE_LPWSTR, // NT_SYNTAX_ID_NulledString
UMI_TYPE_SYSTEMTIME, // NT_SYNTAX_ID_DATE
UMI_TYPE_SYSTEMTIME, // NT_SYNTAX_ID_DATE_1970
UMI_TYPE_OCTETSTRING, // NT_SYNTAX_ID_OCTETSTRING
UMI_TYPE_LPWSTR // NT_SYNTAX_ID_EncryptedString
};
DWORD g_dwNumNTTypes = sizeof(g_mapNTTypeToUmiType) /
sizeof(g_mapNTTypeToUmiType[0]);
ADSIToUMI g_IADsProps[] =
{ { TEXT("ADsPath"), TEXT(UMIOBJ_INTF_PROP_PATH) },
{ TEXT("Class"), TEXT(UMIOBJ_INTF_PROP_CLASS) },
{ TEXT("Name"), TEXT(UMIOBJ_INTF_PROP_NAME) },
{ TEXT("Parent"), TEXT(UMIOBJ_INTF_PROP_PARENT) },
{ TEXT("Schema"), TEXT(UMIOBJ_INTF_PROP_SCHEMA) }
};
DWORD g_dwIADsProperties = sizeof(g_IADsProps) / sizeof(ADSIToUMI);
#define UMI_MAX_STRLEN 1024
#define UMI_MAX_LONG 0x7fffffff
// interface properties on IUmiObject.
PROPERTYINFO ObjClass[] =
{ { TEXT(UMIOBJ_INTF_PROP_PATH), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_CLASS), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_NAME), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_PARENT), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_SCHEMA), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_RELURL), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_FULLURL), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_URL), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_RELPATH), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_GENUS), TEXT(""), TEXT("Integer"),
UMI_MAX_LONG, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_DWORD },
{ TEXT(UMIOBJ_INTF_PROP_SCHEMAPATH), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_KEY), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_SUPERCLASS), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_FULLRELURL), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(UMIOBJ_INTF_PROP_PROPERTY_COUNT), TEXT(""), TEXT("String"),
UMI_MAX_STRLEN, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwObjClassSize = sizeof(ObjClass)/sizeof(PROPERTYINFO);
// interface properties on IUmiCOnnection.
PROPERTYINFO ConnectionClass[] =
{ { TEXT(CONN_INTF_PROP_USERNAME), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, FALSE, PROPERTY_RW, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT(CONN_INTF_PROP_PASSWORD), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, FALSE, PROPERTY_RW, 0, NT_SYNTAX_ID_EncryptedString },
{ TEXT(CONN_INTF_PROP_SECURE_AUTH), TEXT(""), TEXT("Boolean"), 1, 0,
FALSE, PROPERTY_RW, 0, NT_SYNTAX_ID_BOOL },
{ TEXT(CONN_INTF_PROP_READONLY_SERVER), TEXT(""), TEXT("Boolean"), 1, 0,
FALSE, PROPERTY_RW, 0, NT_SYNTAX_ID_BOOL }
};
DWORD g_dwConnectionTableSize = sizeof(ConnectionClass) /
sizeof(PROPERTYINFO);
PROPERTYINFO CursorClass[] =
{ { TEXT(CURSOR_INTF_PROP_FILTER), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0, TRUE, PROPERTY_RW, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwCursorTableSize = sizeof(CursorClass) /
sizeof(PROPERTYINFO);
PROPERTYINFO SchClassClass[] =
{ { TEXT("PrimaryInterface"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("CLSID"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("OID"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("Abstract"), TEXT(""), TEXT("Boolean"), 1, 0, FALSE,
PROPERTY_READABLE, 0, NT_SYNTAX_ID_BOOL },
{ TEXT("Auxiliary"), TEXT(""), TEXT("Boolean"), 1, 0, FALSE,
PROPERTY_READABLE, 0, NT_SYNTAX_ID_BOOL },
{ TEXT("MandatoryProperties"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, TRUE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("OptionalProperties"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, TRUE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("PossibleSuperiors"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, TRUE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("Containment"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN,
0, TRUE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("Container"), TEXT(""), TEXT("Boolean"), 1, 0, FALSE,
PROPERTY_READABLE, 0, NT_SYNTAX_ID_BOOL },
{ TEXT("HelpFileName"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("HelpFileContext"), TEXT(""), TEXT("Integer"),
UMI_MAX_LONG, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_DWORD },
{ TEXT("Name"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwSchClassClassTableSize = sizeof(SchClassClass)/sizeof(PROPERTYINFO);
PROPERTYINFO PropertyClass[] =
{ { TEXT("OID"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("Syntax"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR },
{ TEXT("MaxRange"), TEXT(""), TEXT("Integer"),
UMI_MAX_LONG, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_DWORD },
{ TEXT("MinRange"), TEXT(""), TEXT("Integer"),
UMI_MAX_LONG, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_DWORD },
{ TEXT("Multivalued"), TEXT(""), TEXT("Boolean"), 1, 0, FALSE,
PROPERTY_READABLE, 0, NT_SYNTAX_ID_BOOL },
{ TEXT("Name"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwPropertyClassTableSize = sizeof(PropertyClass)/sizeof(PROPERTYINFO);
PROPERTYINFO SyntaxClass[] =
{ { TEXT("OleAutoDataType"), TEXT(""), TEXT("Integer"),
UMI_MAX_LONG, 0, FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_DWORD },
{ TEXT("Name"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwSyntaxTableSize = sizeof(SyntaxClass)/sizeof(PROPERTYINFO);
PROPERTYINFO SchemaClass[] =
{ { TEXT("Name"), TEXT(""), TEXT("String"), UMI_MAX_STRLEN, 0,
FALSE, PROPERTY_READABLE, 0, NT_SYNTAX_ID_LPTSTR }
};
DWORD g_dwSchemaClassTableSize = sizeof(SchemaClass)/sizeof(PROPERTYINFO);
// Unimplemented standard interface properties on IUmiObject
LPWSTR g_UmiObjUnImplProps[] =
{ L"__GUIDURL",
L"__SECURITY_DESCRIPTOR",
L"__SD_ACCESS",
L"__TIME_MODIFIED",
L"__TIME_CREATED",
L"__GUID",
NULL
};
// Unimplemented standard interface properties on IUmiConnection
LPWSTR g_UmiConUnImplProps[] =
{ L"__TIMEOUT",
L"__ENCRYPTION_METHOD",
L"__NO_AUTHENTICATION",
NULL
};