OCM_CLIENT_CALLBACKS構造体
オプションのコンポーネント マネージャーによって使用されるコールバック関数を指定します。
構文
typedef struct _OCM_CLIENT_CALLBACKS {
POC_FILL_IN_SETUP_DATA_PROC_A FillInSetupDataA;
POC_LOG_ERROR LogError;
POC_SET_REBOOT_PROC SetReboot;
POC_SHOWHIDEWIZARDPAGE ShowHideWizardPage;
POC_BILLBOARD_PROGRESS_CALLBACK BillboardProgressCallback;
POC_BILLBOARD_SET_PROGRESS_TEXT_A BillBoardSetProgressText;
POC_SETUP_PERF_DATA SetupPerfData;
} OCM_CLIENT_CALLBACKS, *POCM_CLIENT_CALLBACKS;
メンバー
-
FillInSetupDataA
-
OC マネージャーが実行されている環境に関する情報を提供するセットアップ データ構造を入力するコールバック関数。
-
LogError
-
エラーをログに記録するコールバック関数。
-
SetReboot
-
再起動の必要性を示すコールバック関数。
-
ShowHideWizardPage
-
ウィザードを表示または非表示にするかどうかを示すコールバック関数。 これは、ビルボードが表示されている場合にのみ有効です。
-
BillboardProgressCallback
-
進行状況フィードバックをビルボードに呼び出すコールバック関数。
-
BillBoardSetProgressText
-
進行状況バーに表示する文字列を指定するコールバック関数。
-
SetupPerfData
-
パフォーマンス データを設定するコールバック関数。
解説
コールバック関数は次のように宣言されます。
typedef
VOID
(WINAPI *POC_FILL_IN_SETUP_DATA_PROC_A)(
OUT PSETUP_DATAA SetupData
);
typedef
VOID
(WINAPI *POC_FILL_IN_SETUP_DATA_PROC_W)(
OUT PSETUP_DATAW SetupData
);
typedef struct _SETUP_DATAA {
DWORD SetupMode;
DWORD ProductType;
DWORDLONG OperationFlags;
CHAR SourcePath[MAX_PATH];
CHAR UnattendFile[MAX_PATH];
} SETUP_DATAA, *PSETUP_DATAA;
typedef struct _SETUP_DATAW {
DWORD SetupMode;
DWORD ProductType;
DWORDLONG OperationFlags;
WCHAR SourcePath[MAX_PATH];
WCHAR UnattendFile[MAX_PATH];
} SETUP_DATAW, *PSETUP_DATAW;
#ifdef UNICODE
typedef SETUP_DATAW SETUP_DATA;
typedef PSETUP_DATAW PSETUP_DATA;
#else
typedef SETUP_DATAA SETUP_DATA;
typedef PSETUP_DATAA PSETUP_DATA;
#endif
#define SETUPMODE_UNKNOWN (-1)
#define SETUPMODE_MINIMAL 0
#define SETUPMODE_TYPICAL 1
#define SETUPMODE_LAPTOP 2
#define SETUPMODE_CUSTOM 3
#define SETUPMODE_PRIVATE(x) ((x) & SETUPMODE_PRIVATE_MASK)
#define SETUPMODE_UPGRADEONLY 0x20000100
#define SETUPMODE_ADDEXTRACOMPS 0x20000200
#define SETUPMODE_ADDREMOVE 0x10000100
#define SETUPMODE_REINSTALL 0x10000200
#define SETUPMODE_REMOVEALL 0x10000400
#define SETUPMODE_FRESH 0x00000000
#define SETUPMODE_MAINTENANCE 0x10000000
#define SETUPMODE_UPGRADE 0x20000000
#define PRODUCT_WORKSTATION 0
#define PRODUCT_SERVER_PRIMARY 1
#define PRODUCT_SERVER_STANDALONE 2
#define PRODUCT_SERVER_SECONDARY 3
#define SETUPOP_WIN31UPGRADE 0x0000000000000001
#define SETUPOP_WIN95UPGRADE 0x0000000000000002
#define SETUPOP_NTUPGRADE 0x0000000000000004
#define SETUPOP_BATCH 0x0000000000000008
#define SETUPOP_STANDALONE 0x0000000000000010
#define SETUPOP_AMD64_FILES_AVAIL 0x0000000100000000
#define SETUPOP_OBSOLETE1_FILES_AVAIL 0x0000000200000000
#define SETUPOP_OBSOLETE2_FILES_AVAIL 0x0000000400000000
#define SETUPOP_X86_FILES_AVAIL 0x0000000800000000
#define SETUPOP_IA64_FILES_AVAIL 0x0000001000000000
typedef
INT
(WINAPIV *POC_LOG_ERROR)(
IN OcErrorLevel Level,
IN LPCTSTR FormatString,
...
);
typedef enum {
OcErrLevInfo = 0x00000000,
OcErrLevWarning = 0x01000000,
OcErrLevError = 0x02000000,
OcErrLevFatal = 0x03000000,
OcErrLevMax = 0x04000000,
OcErrBatch = 0x10000000,
OcErrMask = 0xFF000000
} OcErrorLevel;
typedef
VOID
(WINAPI *POC_SET_REBOOT_PROC)(
VOID
);
typedef
HWND
(WINAPI *POC_SHOWHIDEWIZARDPAGE)(
IN BOOL bShow
);
typedef
LRESULT
(WINAPI *POC_BILLBOARD_PROGRESS_CALLBACK)(
IN UINT Msg,
IN WPARAM wParam,
IN LPARAM lParam
);
typedef
VOID
(WINAPI *POC_BILLBOARD_SET_PROGRESS_TEXT_W)(
IN PWSTR Text
);
typedef
VOID
(WINAPI *POC_BILLBOARD_SET_PROGRESS_TEXT_A)(
IN PSTR Text
);
typedef
VOID
(WINAPI *POC_SETUP_PERF_DATA)(
IN PWSTR FileName,
IN ULONG LineNumber,
IN PWSTR TagStr,
IN PWSTR FormatStr,
...
);
関連項目