__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">

        <DataItem>

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

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

        </DataItem>

        <DataItem>

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

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

        </DataItem>

      </Data>

 

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)