INSERTPSUIPAGE_INFO

typedef struct _INSERTPSUIPAGE_INFO {
    WORD            cbSize;
    BYTE            Type;
    BYTE            Mode;
    DWORD           dwData1;
    DWORD           dwData2;
    DWORD           dwData3;
} INSERTPSUIPAGE_INFO, *PINSERTPSUIPAGE_INFO;

The INSERTPSUIPAGE_INFO structure contains the information required by the CPSUI to insert a property sheet page.

Members

cbSize
Size in bytes of this structure.
Type
Specifies the type of property sheet page(s) to be inserted by the CPSUI. This field can be one of the following values.

Value

Description

PSUIPAGEINSERT_
GROUP_PARENT

Inserts a new group parent under which child pages can be inserted. This type allows a set of pages to be grouped such that the CPSUI can delete the entire set through the parent, rather than having to individually delete each child page.

The handle returned by the PFNCOMPROPSHEET function with a CPSFUNC_INSERT_PSUIPAGE function and this type can be nested. That is, the returned handle can be passed in the hComPropSheet parameter to the CPSUI’s callback as the parent handle such that the new page is inserted at the level below the returned group parent handle.

The dwData1, dwData2, and dwData3 fields must all be set to zero.

PSUIPAGEINSERT_
PCOMPROPSHEETUI

Insert pages using the data supplied in a COMPROPSHEETUI structure.

The dwData1 field is a pointer to the COMPROPSHEETUI structure; dwData2 and dwData3 must be set to zero. The CPSUI returns the total number of added pages in dwData2 when it succeeds, or ERR_CPSUI_Xxx if it fails.

PSUIPAGEINSERT_
PFNPROPSHEETUI

Insert pages using the PFNPROPSHEETUI function. The CPSUI calls this function with the Reason field of the pPSUIInfo parameter set to PROPSHEETUI_REASON_INIT to have it add the pages.

The PFNPROPSHEETUI function pointer is specified by dwData1, and dwData2 is passed to this function as the lParam parameter. The dwData3 field must be set to zero.

PSUIPAGEINSERT_
PROPSHEETPAGE

Insert pages using a PROPSHEETPAGE structure.

The dwData1 field is a pointer to the PROPSHEETPAGE structure; dwData2 and dwData3 must be set to zero.

PSUIPAGEINSERT_
HPROPSHEETPAGE

Insert pages using an HPROPSHEETPAGE handle.

The dwData1 field contains the handle returned from a call to the Win32 CreatePropertySheetPage function; dwData2 and dwData3 must be set to zero.

PSUIPAGEINSERT_DLL

Insert pages from a dynamic link library. The CPSUI loads the DLL, gets the procedure address of the PFNPROPSHEETUI function, and calls this function with the Reason field of the pPSUIInfo parameter set to PROPSHEETUI_REASON_INIT.

The dwData1 field is a pointer to the null-terminated string that specifies the name of the DLL. The dwData2 field is a pointer to the null-terminated ANSI string that specifies the name of the PFNPROPSHEETUI function to call to do the insertion. The dwData3 field is passed to the DLL-loaded function as the lParam parameter.

This method of inserting pages guarantees that the DLL is unloaded correctly.

Mode
Specifies how the CPSUI should insert the pages. This field can be one of the following values.

Mode

Description

INSPSUIPAGE_
MODE_BEFORE

Inserts the page(s) before the CPSUI object handle identified by the lParam1 parameter to the PFNCOMPROPSHEET callback.

INSPSUIPAGE_
MODE_AFTER

Inserts the page(s) after the CPSUI object handle identified by the lParam1 parameter to the PFNCOMPROPSHEET callback.

INSPSUIPAGE_
MODE_FIRST_CHILD

Inserts the page(s) as the first child of the parent handle identified by hComPropSheet. The CPSUI ignores the lParam1 parameter sent to its PFNCOMPROPSHEET callback.

INSPSUIPAGE_
MODE_LAST_CHILD

Inserts the page(s) as the last child of the parent handle identified by hComPropSheet. The CPSUI ignores the lParam1 parameter sent to its PFNCOMPROPSHEET callback.

INSPUIPAGE_
MODE_INDEX

Inserts the page(s) as a zero-based child index of the parent handle identified by hComPropSheet. The lParam1 parameter to the PFNCOMPROPSHEET callback specifies the handle to the zero-based index. This handle must be generated by using the CPSUI-defined HINSPSUIPAGE_INDEX(Index) macro. If the index is greater than or equal to the number of children, the CPSUI uses INSPSUIPAGE_MODE_LAST_CHILD as the mode.

dwData1

dwData2

dwData3
32-bit data fields whose interpretations depend on Type. See the Type member’s description for details.

Comments

The original caller initializes an INSERTPSUIPAGE_INFO structure and passes it to the CPSUI’s PFNCOMPROPSHEET callback as lParam2 when the function index is CPSFUNC_INSERT_PSUIPAGE. The CPSUI adds the specified pages at the position specified by Mode.