ReactOS 0.4.16-dev-527-gdad3a09
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
81// #define SetupCloseFileQueue
82typedef BOOL
84 IN HSPFILEQ QueueHandle);
85
86// #define SetupQueueCopyW
87typedef BOOL
89 IN HSPFILEQ QueueHandle,
90 IN PCWSTR SourceRootPath,
91 IN PCWSTR SourcePath OPTIONAL,
92 IN PCWSTR SourceFileName,
93 IN PCWSTR SourceDescription OPTIONAL,
94 IN PCWSTR SourceCabinet OPTIONAL,
95 IN PCWSTR SourceTagFile OPTIONAL,
96 IN PCWSTR TargetDirectory,
97 IN PCWSTR TargetFileName OPTIONAL,
98 IN ULONG CopyStyle);
99
100// #define SetupQueueDeleteW
101typedef BOOL
103 IN HSPFILEQ QueueHandle,
104 IN PCWSTR PathPart1,
105 IN PCWSTR PathPart2 OPTIONAL);
106
107// #define SetupQueueRenameW
108typedef BOOL
110 IN HSPFILEQ QueueHandle,
111 IN PCWSTR SourcePath,
112 IN PCWSTR SourceFileName OPTIONAL,
113 IN PCWSTR TargetPath OPTIONAL,
114 IN PCWSTR TargetFileName);
115
116// #define SetupCommitFileQueueW
117typedef BOOL
119 IN HWND Owner,
120 IN HSPFILEQ QueueHandle,
121 IN PSP_FILE_CALLBACK_W MsgHandler,
123
124typedef struct _SPFILE_EXPORTS
125{
133
134extern /*SPLIBAPI*/ SPFILE_EXPORTS SpFileExports;
135
136#define SpFileQueueOpen (SpFileExports.SpFileQueueOpen)
137#define SpFileQueueClose (SpFileExports.SpFileQueueClose)
138#define SpFileQueueCopy (SpFileExports.SpFileQueueCopy)
139#define SpFileQueueDelete (SpFileExports.SpFileQueueDelete)
140#define SpFileQueueRename (SpFileExports.SpFileQueueRename)
141#define SpFileQueueCommit (SpFileExports.SpFileQueueCommit)
142
143/* 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:118
BOOL(WINAPI * pSpFileQueueClose)(IN HSPFILEQ QueueHandle)
Definition: fileqsup.h:83
BOOL(WINAPI * pSpFileQueueDelete)(IN HSPFILEQ QueueHandle, IN PCWSTR PathPart1, IN PCWSTR PathPart2 OPTIONAL)
Definition: fileqsup.h:102
UINT(CALLBACK * PSP_FILE_CALLBACK_W)(IN PVOID Context, IN UINT Notification, IN UINT_PTR Param1, IN UINT_PTR Param2)
Definition: fileqsup.h:66
struct _SPFILE_EXPORTS SPFILE_EXPORTS
SPFILE_EXPORTS SpFileExports
Definition: fileqsup.c:23
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:88
HSPFILEQ(WINAPI * pSpFileQueueOpen)(VOID)
Definition: fileqsup.h:79
struct _SPFILE_EXPORTS * PSPFILE_EXPORTS
struct _FILEPATHS_W FILEPATHS_W
BOOL(WINAPI * pSpFileQueueRename)(IN HSPFILEQ QueueHandle, IN PCWSTR SourcePath, IN PCWSTR SourceFileName OPTIONAL, IN PCWSTR TargetPath OPTIONAL, IN PCWSTR TargetFileName)
Definition: fileqsup.h:109
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:1609
#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
pSpFileQueueCopy SpFileQueueCopy
Definition: fileqsup.h:128
pSpFileQueueRename SpFileQueueRename
Definition: fileqsup.h:130
pSpFileQueueDelete SpFileQueueDelete
Definition: fileqsup.h:129
pSpFileQueueCommit SpFileQueueCommit
Definition: fileqsup.h:131
pSpFileQueueClose SpFileQueueClose
Definition: fileqsup.h:127
pSpFileQueueOpen SpFileQueueOpen
Definition: fileqsup.h:126
#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