summaryrefslogtreecommitdiff
path: root/general/toaster/toastpkg/toastva/toastva.h
blob: 10ccb508871d16f564d7079e55ee6771b62fc3bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*++

Copyright (c) Microsoft Corporation.  All rights reserved.

    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
    KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
    PURPOSE.

Module Name:

    toastva.h

Abstract:

    Header files and resource IDs used by the TOASTVA sample.

--*/

#include <windows.h>
#include <windowsx.h>
#include <string.h>
#include <shellapi.h>
#include <prsht.h>
#include <windef.h>
#include <regstr.h>
#include <cfgmgr32.h>
#include <setupapi.h>
#include <newdev.h>
#include "resource.h"

//
// String constants
//
#define ENUMERATOR_NAME     L"{b85b7c50-6a01-11d2-b841-00c04fad5171}"
#define HW_ID_TO_UPDATE     L"{b85b7c50-6a01-11d2-b841-00c04fad5171}\\MsToaster"
#define DEVICE_INF_NAME     L"toastpkg.inf"
#define TOASTAPP_SETUP_PATH L"ToastApp\\setup.exe"

//
// global variables
//
extern HINSTANCE g_hInstance;

//
// utility routines
//
BOOL
IsDeviceInstallInProgress(VOID);

VOID
MarkDevicesAsNeedReinstall(
    _In_ HDEVINFO DeviceInfoSet
    );

DWORD
GetDeviceConfigFlags(
    _In_ HDEVINFO         DeviceInfoSet,
    _In_ PSP_DEVINFO_DATA DeviceInfoData
    );

VOID
SetDeviceConfigFlags(
    _In_ HDEVINFO         DeviceInfoSet,
    _In_ PSP_DEVINFO_DATA DeviceInfoData,
    _In_ DWORD            ConfigFlags
    );

HDEVINFO
GetNonPresentDevices(
    _In_  LPCWSTR Enumerator OPTIONAL,
    _In_  LPCWSTR HardwareID
    );

VOID
DoValueAddWizard(
    _In_ LPCWSTR MediaRootDirectory
    );