windows-nt/Source/XPSP1/NT/base/ntsetup/inc/wsdu.h
2020-09-26 16:20:57 +08:00

220 lines
4.3 KiB
C

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
wsdu.h
Abstract:
Interface to a Dynamic Update support control for Winnt32.
Author:
Ovidiu Temereanca (ovidiut) 06-Jul-2000
Revision History:
<alias> <date> <comment>
--*/
BOOL
WINAPI
DuIsSupported (
VOID
);
typedef
BOOL
(WINAPI* PDUISSUPPORTED) (
VOID
);
#define SETUPQUERYID_PNPID 1
typedef struct {
BOOL Handled;
BOOL Unsupported;
} PNPID_INFO, *PPNPID_INFO;
#define SETUPQUERYID_DOWNLOADDRIVER 2
// Dynamic Update Custom Error Codes
#define DU_ERROR_MISSING_DLL 12001L
#define DU_NOT_INITIALIZED 12002L
#define DU_ERROR_ASYNC_FAIL 12003L
typedef BOOL (WINAPI* PWINNT32QUERY) (
IN DWORD SetupQueryId,
IN PVOID InData,
IN DWORD InDataSize,
IN OUT PVOID OutData, OPTIONAL
IN OUT PDWORD OutDataSize
);
HANDLE
WINAPI
DuInitializeA (
IN PCSTR BaseDir,
IN PCSTR TempDir,
IN POSVERSIONINFOEXA TargetOsVersion,
IN PCSTR TargetPlatform, // "i386", "ia64"
IN LCID TargetLCID,
IN BOOL Unattend,
IN BOOL Upgrade,
IN PWINNT32QUERY Winnt32QueryCallback
);
typedef
HANDLE
(WINAPI* PDUINITIALIZEA) (
IN PCSTR BaseDir,
IN PCSTR TempDir,
IN POSVERSIONINFOEXA TargetOsVersion,
IN PCSTR TargetPlatform, // "i386", "ia64"
IN LCID TargetLCID,
IN BOOL Unattend,
IN BOOL Upgrade,
IN PWINNT32QUERY Winnt32QueryCallback
);
HANDLE
WINAPI
DuInitializeW (
IN PCWSTR BaseDir,
IN PCWSTR TempDir,
IN POSVERSIONINFOEXW TargetOsVersion,
IN PCWSTR TargetPlatform, // "i386", "ia64"
IN LCID TargetLCID,
IN BOOL Unattend,
IN BOOL Upgrade,
IN PWINNT32QUERY Winnt32QueryCallback
);
typedef
HANDLE
(WINAPI* PDUINITIALIZEW) (
IN PCWSTR BaseDir,
IN PCWSTR TempDir,
IN POSVERSIONINFOEXW TargetOsVersion,
IN PCWSTR TargetPlatform, // "i386", "ia64"
IN LCID TargetLCID,
IN BOOL Unattend,
IN BOOL Upgrade,
IN PWINNT32QUERY Winnt32QueryCallback
);
#ifdef UNICODE
#define DuInitialize DuInitializeW
#define PDUINITIALIZE PDUINITIALIZEW
#else
#define DuInitialize DuInitializeA
#define PDUINITIALIZE PDUINITIALIZEA
#endif
BOOL
WINAPI
DuDoDetection (
IN HANDLE hConnection,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
typedef
BOOL
(WINAPI* PDUDODETECTION) (
IN HANDLE hConnection,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
BOOL
WINAPI
DuQueryUnsupportedDriversA (
IN HANDLE hConnection,
IN PCSTR* ListOfUnsupportedDrivers,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
typedef
BOOL
(WINAPI* PDUQUERYUNSUPDRVSA) (
IN HANDLE hConnection,
IN PCSTR* ListOfUnsupportedDrivers,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
BOOL
WINAPI
DuQueryUnsupportedDriversW (
IN HANDLE hConnection,
IN PCWSTR* ListOfUnsupportedDrivers,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
typedef
BOOL
(WINAPI* PDUQUERYUNSUPDRVSW) (
IN HANDLE hConnection,
IN PCWSTR* ListOfUnsupportedDrivers,
OUT PDWORD TotalEstimatedTime,
OUT PDWORD TotalEstimatedSize
);
#ifdef UNICODE
#define DuQueryUnsupportedDrivers DuQueryUnsupportedDriversW
#define PDUQUERYUNSUPDRVS PDUQUERYUNSUPDRVSW
#else
#define DuQueryUnsupportedDrivers DuQueryUnsupportedDriversA
#define PDUQUERYUNSUPDRVS PDUQUERYUNSUPDRVSA
#endif
BOOL
WINAPI
DuBeginDownload (
IN HANDLE hConnection,
IN HWND hwndNotify
);
typedef
BOOL
(WINAPI* PDUBEGINDOWNLOAD) (
IN HANDLE hConnection,
IN HWND hwndNotify
);
VOID
WINAPI
DuAbortDownload (
IN HANDLE hConnection
);
typedef
VOID
(WINAPI* PDUABORTDOWNLOAD) (
IN HANDLE hConnection
);
DWORD
WINAPI
DuUninitialize (
IN HANDLE hConnection
);
typedef
DWORD
(WINAPI* PDUUNINITIALIZE) (
IN HANDLE hConnection
);