220 lines
4.3 KiB
C
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
|
|
);
|
|
|