//---------------------------------------------------------------------------- // // 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 };