Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When an Apply event occurs, an extension to the Applications snap-in stores its property information under the Properties element.
Code Example
The code to write property data is present in the AppExt.cpp. The following code example shows a simple registry property connected to a checkbox control. To write the properties reflected by the controls on your property page, replace this code example with your own code.
IXMLDOMNode* pElmExampleProp = NULL;
// Find the "Reg" property element:
hr = pThis->m_pXmlDom->selectSingleNode(
L"/Application/Properties/Reg[@id='exampleSetting']",
&pElmExampleProp );
if ( hr == S_FALSE )
{
// "Reg" element was not found, create:
hr = AddElement( pThis->m_pXmlDom, pElmProps, _T( "Reg" ),
&pElmExampleProp );
if ( hr == S_OK )
{
// Set the property ID. This identifies the property
// for later retreival or modification by this interface.
// The property ID is not used during configuration.
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "id" ), _T( "exampleSetting" ) );
}
}
if ( hr == S_OK )
{
// Set the registry property type:
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "type" ), _T( "REG_DWORD" ) );
// Set the registry hive:
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "hive" ), _T( "HKEY_CURRENT_USER" ) );
// Set the registry key path:
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "key" ),
_T( "Software\\Microsoft\\Group Policy\\Preferences\\Applications\\Example" ) );
// Set the registry property name:
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "name" ), _T( "Setting" ) );
// Get the state of the control:
bool bChecked = ( IsDlgButtonChecked( hwndDlg,
IDC_CHECK1 ) == BST_CHECKED );
// Set the registry property value:
SetAttribute( pThis->m_pXmlDom, pElmExampleProp,
_T( "value" ), bChecked ? _T( "1" ) : _T( "0" ) );
pElmExampleProp->Release();
}