ReactOS 0.4.15-dev-5884-gab5aff5
fileqsup.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Setup Library
4 * FILE: base/setup/lib/fileqsup.h
5 * PURPOSE: Interfacing with Setup* API File Queue support functions
6 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8 */
9
10#pragma once
11
12#include "spapisup.h"
13
14// FIXME: Temporary measure until all the users of this header
15// (usetup...) use or define SetupAPI-conforming APIs.
16#if defined(_SETUPAPI_H_) || defined(_INC_SETUPAPI)
17
18#include <setupapi.h>
19
20#else
21
22#define SPFILENOTIFY_STARTQUEUE 0x00000001
23#define SPFILENOTIFY_ENDQUEUE 0x00000002
24#define SPFILENOTIFY_STARTSUBQUEUE 0x00000003
25#define SPFILENOTIFY_ENDSUBQUEUE 0x00000004
26
27#define SPFILENOTIFY_STARTDELETE 0x00000005
28#define SPFILENOTIFY_ENDDELETE 0x00000006
29#define SPFILENOTIFY_DELETEERROR 0x00000007
30
31#define SPFILENOTIFY_STARTRENAME 0x00000008
32#define SPFILENOTIFY_ENDRENAME 0x00000009
33#define SPFILENOTIFY_RENAMEERROR 0x0000000a
34
35#define SPFILENOTIFY_STARTCOPY 0x0000000b
36#define SPFILENOTIFY_ENDCOPY 0x0000000c
37#define SPFILENOTIFY_COPYERROR 0x0000000d
38
39#define SPFILENOTIFY_NEEDMEDIA 0x0000000e
40#define SPFILENOTIFY_QUEUESCAN 0x0000000f
41
42#define FILEOP_COPY 0
43#define FILEOP_RENAME 1
44#define FILEOP_DELETE 2
45#define FILEOP_BACKUP 3
46
47#define FILEOP_ABORT 0
48#define FILEOP_DOIT 1
49#define FILEOP_SKIP 2
50#define FILEOP_RETRY FILEOP_DOIT
51#define FILEOP_NEWPATH 4
52
53
54/* TYPES ********************************************************************/
55
57
58typedef struct _FILEPATHS_W
59{
65
69 IN UINT_PTR Param1,
70 IN UINT_PTR Param2);
71
72#endif
73
74
75/* FUNCTIONS ****************************************************************/
76
77// #define SetupOpenFileQueue
78typedef HSPFILEQ
80
82
83// #define SetupCloseFileQueue
84typedef BOOL
86 IN HSPFILEQ QueueHandle);
87
89
90// #define SetupQueueCopyW
91typedef BOOL
93 IN HSPFILEQ QueueHandle,
94 IN PCWSTR SourceRootPath,
95 IN PCWSTR SourcePath OPTIONAL,
96 IN PCWSTR SourceFileName,
97 IN PCWSTR SourceDescription OPTIONAL,
98 IN PCWSTR SourceCabinet OPTIONAL,
99 IN PCWSTR SourceTagFile OPTIONAL,
100 IN PCWSTR TargetDirectory,
101 IN PCWSTR TargetFileName OPTIONAL,
102 IN ULONG CopyStyle);
103
105
106// #define SetupQueueDeleteW
107typedef BOOL
109 IN HSPFILEQ QueueHandle,
110 IN PCWSTR PathPart1,
111 IN PCWSTR PathPart2 OPTIONAL);
112
114
115// #define SetupQueueRenameW
116typedef BOOL
118 IN HSPFILEQ QueueHandle,
119 IN PCWSTR SourcePath,
120 IN PCWSTR SourceFileName OPTIONAL,
121 IN PCWSTR TargetPath OPTIONAL,
122 IN PCWSTR TargetFileName);
123
125
126// #define SetupCommitFileQueueW
127typedef BOOL
129 IN HWND Owner,
130 IN HSPFILEQ QueueHandle,
131 IN PSP_FILE_CALLBACK_W MsgHandler,
133
135
136/* EOF */
#define VOID
Definition: acefi.h:82
#define CALLBACK
Definition: compat.h:35
struct _FILEPATHS_W * PFILEPATHS_W
PVOID HSPFILEQ
Definition: fileqsup.h:56
BOOL(WINAPI * pSpFileQueueCommit)(IN HWND Owner, IN HSPFILEQ QueueHandle, IN PSP_FILE_CALLBACK_W MsgHandler, IN PVOID Context OPTIONAL)
Definition: fileqsup.h:128
pSpFileQueueDelete SpFileQueueDelete
Definition: fileqsup.c:156
BOOL(WINAPI * pSpFileQueueClose)(IN HSPFILEQ QueueHandle)
Definition: fileqsup.h:85
BOOL(WINAPI * pSpFileQueueDelete)(IN HSPFILEQ QueueHandle, IN PCWSTR PathPart1, IN PCWSTR PathPart2 OPTIONAL)
Definition: fileqsup.h:108
pSpFileQueueClose SpFileQueueClose
Definition: fileqsup.c:154
UINT(CALLBACK * PSP_FILE_CALLBACK_W)(IN PVOID Context, IN UINT Notification, IN UINT_PTR Param1, IN UINT_PTR Param2)
Definition: fileqsup.h:66
pSpFileQueueCopy SpFileQueueCopy
Definition: fileqsup.c:155
BOOL(WINAPI * pSpFileQueueCopy)(IN HSPFILEQ QueueHandle, IN PCWSTR SourceRootPath, IN PCWSTR SourcePath OPTIONAL, IN PCWSTR SourceFileName, IN PCWSTR SourceDescription OPTIONAL, IN PCWSTR SourceCabinet OPTIONAL, IN PCWSTR SourceTagFile OPTIONAL, IN PCWSTR TargetDirectory, IN PCWSTR TargetFileName OPTIONAL, IN ULONG CopyStyle)
Definition: fileqsup.h:92
HSPFILEQ(WINAPI * pSpFileQueueOpen)(VOID)
Definition: fileqsup.h:79
struct _FILEPATHS_W FILEPATHS_W
pSpFileQueueOpen SpFileQueueOpen
Definition: fileqsup.c:153
pSpFileQueueCommit SpFileQueueCommit
Definition: fileqsup.c:158
pSpFileQueueRename SpFileQueueRename
Definition: fileqsup.c:157
BOOL(WINAPI * pSpFileQueueRename)(IN HSPFILEQ QueueHandle, IN PCWSTR SourcePath, IN PCWSTR SourceFileName OPTIONAL, IN PCWSTR TargetPath OPTIONAL, IN PCWSTR TargetFileName)
Definition: fileqsup.h:117
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
unsigned int UINT
Definition: ndis.h:50
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1597
#define BOOL
Definition: nt_native.h:43
ULONG Flags
Definition: fileqsup.h:63
UINT Win32Error
Definition: fileqsup.h:62
PCWSTR Source
Definition: fileqsup.h:61
PCWSTR Target
Definition: fileqsup.h:60
#define OPTIONAL
Definition: typedefs.h:41
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
Definition: wdfcontrol.h:115
#define WINAPI
Definition: msvc.h:6