This COM class defines an object that programmers and administrators can use to configure the Active User Object (AUO) entries for a given Membership virtual server instance.
The following values identify this COM class. These values are set in the registry when the Site Server 3.0 product is installed.
Programmatic Identifier
MemAdmin.AuoConfig.1
CLSID
0b9ae1d6-b696-11d0-bbd7-00c04fb615e5
COM Class Name
AuoConfig
The complete Interface Definition Language (IDL) definition of this class is contained in the file <sdk_install_root>\include\AUO.idl. Run the MIDL compiler to generate include files for C/C++. Include the AUO.h and AUO_i.c to have the interface definitions, CLSID, IID and their associated GUID values made available to your application at compile time.
The type library for this class is available as a resource in the auo.dll dynamic link library (DLL). The location of this DLL is c:\microsoft site server\bin\p&m\auo.dll.
[
uuid(0b9ae1d6-b696-11d0-bbd7-00c04fb615e5),
helpstring("AuoConfig Class")
]
coclass AuoConfig
{
[default] interface IAuoConfig;
};
Programmers must use the special COM class ObjCreator.ObjCreator.1 to create instances of this class.
When an instance of the AuoConfig class is created, it is registered with the context CLSCTX_LOCAL_SERVER. Thus, do not attempt to create an instance of the class with type CLSCTX_INPROC_SERVER as the CoGetClassObject call will fail.
The AuoConfig COM class exposes the IAuoConfig dual interface, providing both a custom COM interface as well as a dispinterface to the methods and properties.
Most methods exposed by the IAuoConfig interface require the process or thread invoking them to have NT administrator credentials. The exceptions are listed below
[
object,
uuid(4b928606-b685-11d0-bbd7-00c04fb615e5),
dual,
pointer_default(unique)
]
interface IAuoConfig : IDispatch
{
HRESULT GetInfo( LONG lVirtServId );
HRESULT SetInfo();
HRESULT SetEntry( [in] BSTR bszName,
[in] BSTR bszADsPathPrefix,
[in] BSTR bszSchema,
[in] BSTR bszClass,
[in] LONG lSuffix,
[in] BSTR bszDepObject,
[in] BSTR bszDepProp,
[in] BSTR bszBindAsName,
[in] BSTR bszBindAsPassword
);
HRESULT GetEntry( [in] BSTR bszName,
[in,out] VARIANT *pbszADsPathPrefix,
[in,out] VARIANT *pbszSchema,
[in,out] VARIANT *pbszClass,
[in,out] VARIANT *plSuffix,
[in,out] VARIANT *pbszDepObject,
[in,out] VARIANT *pbszDepProp,
[in,out] VARIANT *pbszBindAsName,
[in,out] VARIANT *pbszBindAsPassword
);
HRESULT RemoveEntry([in]BSTR bszName);
HRESULT GetEntries(
[in,out] VARIANT *pNames, // VT_ARRAY|VT_VARIANT
[in,out]VARIANT *pProviders // VT_ARRAY_VT_VARIANT
);
HRESULT DeleteInstance();
};