__interface IDataNodes : IUnknown


    size_t Count();

    HRESULT SetCaptionProperty(LPCTSTR captionProperty);

    HRESULT GetProperty(size_t index, LPCTSTR propertyName, [out] LPBSTR propertyValue);

    HRESULT GetNode(size_t index, [out] ISettingsProperties **ppNode);



This interface provides access to hierarchical data that can be saved in a page. You obtain this interface via methods on the ISettingsProperties interface, which is available to your page through the Settings method.

Data in a page’s XML can look something like this:

      <Data Name="Network">


          <Setter Property="DisplayName">Public</Setter>

          <Setter Property="Share">\\servername\Share</Setter>



          <Setter Property="DisplayName">Dev Team</Setter>

          <Setter Property="Share">\\servername\DevShare</Setter>




Calling Settings()->GetDataNode(L"Network", &pData) gives you an IDataNodes instance with two data items (each of which in turn has two properties).

Related Topics

Wizard Page Interfaces
size_t Count()
HRESULT SetCaptionProperty(LPCTSTR captionProperty)
HRESULT GetProperty(size_t index, LPCTSTR propertyName, [out] LPBSTR propertyValue)
HRESULT GetNode(size_t index, [out] ISettingsProperties **ppNode)