ReactOS  0.4.13-dev-235-g7373cb3
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 
56 typedef PVOID HSPFILEQ;
57 
58 typedef struct _FILEPATHS_W
59 {
65 
68  IN UINT Notification,
69  IN UINT_PTR Param1,
70  IN UINT_PTR Param2);
71 
72 #endif
73 
74 
75 /* FUNCTIONS ****************************************************************/
76 
77 // #define SetupOpenFileQueue
78 typedef HSPFILEQ
80 
82 
83 // #define SetupCloseFileQueue
84 typedef BOOL
86  IN HSPFILEQ QueueHandle);
87 
89 
90 // #define SetupQueueCopyW
91 typedef 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
107 typedef BOOL
109  IN HSPFILEQ QueueHandle,
110  IN PCWSTR PathPart1,
111  IN PCWSTR PathPart2 OPTIONAL);
112 
114 
115 // #define SetupQueueRenameW
116 typedef 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
127 typedef BOOL
129  IN HWND Owner,
130  IN HSPFILEQ QueueHandle,
131  IN PSP_FILE_CALLBACK_W MsgHandler,
133 
135 
136 /* EOF */
const uint16_t * PCWSTR
Definition: typedefs.h:55
#define IN
Definition: typedefs.h:38
BOOL(WINAPI * pSpFileQueueRename)(IN HSPFILEQ QueueHandle, IN PCWSTR SourcePath, IN PCWSTR SourceFileName OPTIONAL, IN PCWSTR TargetPath OPTIONAL, IN PCWSTR TargetFileName)
Definition: fileqsup.h:117
pSpFileQueueClose SpFileQueueClose
Definition: fileqsup.c:154
struct _FILEPATHS_W FILEPATHS_W
pSpFileQueueRename SpFileQueueRename
Definition: fileqsup.c:157
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
PVOID HSPFILEQ
Definition: fileqsup.h:56
UINT Win32Error
Definition: fileqsup.h:62
#define CALLBACK
Definition: compat.h:27
BOOL(WINAPI * pSpFileQueueClose)(IN HSPFILEQ QueueHandle)
Definition: fileqsup.h:85
pSpFileQueueOpen SpFileQueueOpen
Definition: fileqsup.c:153
pSpFileQueueCommit SpFileQueueCommit
Definition: fileqsup.c:158
#define BOOL
Definition: nt_native.h:43
pSpFileQueueCopy SpFileQueueCopy
Definition: fileqsup.c:155
UINT(CALLBACK * PSP_FILE_CALLBACK_W)(IN PVOID Context, IN UINT Notification, IN UINT_PTR Param1, IN UINT_PTR Param2)
Definition: fileqsup.h:66
#define WINAPI
Definition: msvc.h:8
HSPFILEQ(WINAPI * pSpFileQueueOpen)(VOID)
Definition: fileqsup.h:79
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
pSpFileQueueDelete SpFileQueueDelete
Definition: fileqsup.c:156
#define VOID
Definition: acefi.h:82
BOOL(WINAPI * pSpFileQueueDelete)(IN HSPFILEQ QueueHandle, IN PCWSTR PathPart1, IN PCWSTR PathPart2 OPTIONAL)
Definition: fileqsup.h:108
PCWSTR Source
Definition: fileqsup.h:61
BOOL(WINAPI * pSpFileQueueCommit)(IN HWND Owner, IN HSPFILEQ QueueHandle, IN PSP_FILE_CALLBACK_W MsgHandler, IN PVOID Context OPTIONAL)
Definition: fileqsup.h:128
#define OPTIONAL
Definition: typedefs.h:40
_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:1557
unsigned int UINT
Definition: ndis.h:50
PCWSTR Target
Definition: fileqsup.h:60
ULONG Flags
Definition: fileqsup.h:63
struct tagContext Context
Definition: acpixf.h:1012
unsigned int ULONG
Definition: retypes.h:1
struct _FILEPATHS_W * PFILEPATHS_W