Edit

Share via


Settings Management Infrastructure (SMI)

Overview of the Settings Management Infrastructure (SMI) technology.

To develop Settings Management Infrastructure (SMI), you need these headers:

For programming guidance for this technology, see:

Enumerations

 
WcmDataType

Enumerates the data types returned from the ISettingsItem::GetDataType method.
WcmNamespaceAccess

Describes the options passed to the ISettingsEngine::GetNamespace method to choose how the namespace must be accessed.
WcmNamespaceEnumerationFlags

Describes the types of enumeration flags.
WcmRestrictionFacets

Enumerates the facet values that may be returned by the ISettingsItem::GetRestrictionFacets method.
WcmSettingType

Describes setting types that are returned from the ISettingsItem::GetSettingType method and defines the object model type for the calling ISettingsItem interface.
WcmTargetMode

Enumerates the various target modes.
WcmUserStatus

Describes the status of the user.

Functions

 
ApplySettingsContext

Applies a settings context.
Attributes

Gets the dictionary of attributes.
Children

Gets the dictionary of the child items that correspond to this item.
CreateListElement

Creates a new list element.
CreateSettingByPath

Creates a setting object specified by the path.
CreateSettingByPath

Creates a setting object specified by its path.
CreateSettingsContext

Creates a settings context.
CreateSettingsIdentity

Creates an empty settings identity.
CreateTargetInfo

Creates an empty target.
Current

Retrieves an item from the current position of the enumerator.
Deserialize

Deserializes the data in the stream that is provided to this context.
ExpandTarget

Expands a location string to indicate the offline installation location. (ITargetInfo.ExpandTarget)
ExpandTargetPath

Expands a location string to indicate the offline installation location. (ITargetInfo.ExpandTargetPath)
GetAttribute

Gets an identity attribute for a namespace identity.
GetAttribute

Gets the value of an attribute by specifying its name.
GetAttribute

Gets the value of an attribute of the namespace.
GetChild

Gets the child item that has the specified name.
GetColumn

Returns the column number where the error occurred.
GetContextDescription

Returns the description of the context that surrounds the error.
GetDataType

Gets the type information for the item.
GetDescription

Returns the description of the error.
GetEnumerator

Gets the enumerator used to access the collection of offline properties.
GetErrorCode

Returns the HRESULT error code value.
GetErrorDescription

Retrieves a text message for a returned HRESULT code.
GetFlags

Returns the flags for a namespace identity.
GetIdentity

Gets the identity of the namespace.
GetKeyValue

Extracts key values for any list that already exists in the image, for example, DNS, http settings, and user account information.
GetLine

Returns the line number where the error has occurred.
GetListKeyInformation

Gets the list information for this item.
GetName

Gets the name of the item.
GetNamespace

Opens an existing namespace as specified by the ISettingsIdentity parameter.
GetNamespaces

Gets the namespaces that exist in the context.
GetNamespaces

Returns an enumerator to the installed namespaces.
GetPath

Gets the path for the item.
GetProperty

Gets a property value for the offline installation location.
GetRestriction

Gets the information for a given restriction.
GetRestrictionFacets

Gets the restrictions defined for this item.
GetSchemaHiveLocation

Get the location of the schema hive.
GetSchemaHiveMountName

Gets the name of the mount location of the schema hive.
GetSettingByPath

Gets a setting based on the given path.
GetSettingByPath

Gets the setting object specified by a path.
GetSettingType

Gets the setting type for the item.
GetSource

Returns the file or path where the error has occurred.
GetStoredSettings

Gets the stored setting changes from the context for the given namespace.
GetStoreStatus

Gets the status of the schema store.
GetTargetID

Gets the unique identifier associated with the current target.
GetTargetInfo

Gets the current offline target for the engine.
GetTargetMode

Gets the current target mode.
GetTargetProcessorArchitecture

Gets processor architecture associated with the current target.
GetTemporaryStoreLocation

Gets the current temporary store location.
GetUserData

Gets a user-defined data.
GetValue

Gets the current value from the item.
GetValueRaw

Gets the value from the current item as a byte array.
HasChild

Determines whether the current item has a child item.
LoadModule

Loads the module from the offline installation location.
LoadStore

Initializes and loads the schema store hive.
MoveNext

Moves the current position to the next item in the enumerator if available.
RegisterNamespace

Registers a namespace from a stream.
RemoveListElement

Removes an existing list element of the supplied name.
RemoveSettingByPath

Removes a setting object specified by its path.
RemoveSettingByPath

Removes the setting object specified by a path.
Reset

Resets the state of the enumerator to its initialized state. You must immediately follow IItemEnumerator::Reset with a call to IItemEnumerator::MoveNext on the enumerator in order to set the current pointer at the first position in the enumeration.
RevertSetting

Reverts a setting in the namespace.
Save

Updates the settings namespace to persistent and visible.
Serialize

Serializes the data in this context into the provided stream.
SetAttribute

Sets an identity attribute for a namespace identity.
SetFlags

Sets the identity flags for a namespace identity.
SetModulePath

Sets the module path for the offline installation location.
SetProperty

Sets a property value for the offline installation location.
SetSchemaHiveLocation

Sets the location of the schema hive.
SetSchemaHiveMountName

Sets the name of the mount location of the schema hive.
SetTargetID

Sets the unique identifier associated with current target.
SetTargetInfo

Sets the current offline target for the engine.
SetTargetMode

Sets the target mode.
SetTargetProcessorArchitecture

Sets the processor architecture associated with the current target.
SetTemporaryStoreLocation

Sets the current temporary store location.
Settings

Retrieves an enumerator for the top-level settings for the namespace.
SetUserData

Sets the user-defined data.
SetValue

Sets the value of an item.
SetValueRaw

Sets the value of the current item by supplying data in raw form.
SetWow64Context

Sets an opaque context object for wow64 redirection.
TranslateWow64

Translates paths for wow64 redirection.
UnloadStore

Unloads the schema store hive and frees resources.
UnregisterNamespace

Unregisters an existing namespace.

Interfaces

 
IItemEnumerator

Enumerates the items of a collection of settings and attributes.
ISettingsContext

An interface to a backing store that is used to store setting changes made through the other SMI APIs, and provides operations to serialize to and deserialize from a representation.
ISettingsEngine

The central interface for opening namespaces and controlling how they are opened.
ISettingsIdentity

Identifies a namespace to open or use.
ISettingsItem

Navigates the settings tree, retrieves the metadata for a particular setting, and retrieves or modify its value.
ISettingsNamespace

Performs operations to set, retrieve, and validate settings, and save changes for a namespace instance.
ISettingsResult

Retrieves the code and description for errors and warnings returned by various operations.
ITargetInfo

Defines the offline target information, specifically, file and registry locations as well as wow64 information.