Commit fca4a8f8 authored by Gregory M. Turner's avatar Gregory M. Turner Committed by Alexandre Julliard

Implement (most of) SetupIterateCabinet.

parent 61cb7045
......@@ -20,6 +20,7 @@ C_SRCS = \
install.c \
parser.c \
queue.c \
setupcab.c \
stubs.c
C_SRCS16 = \
......
......@@ -64,4 +64,8 @@ struct callback_WtoA_context
UINT CALLBACK QUEUE_callback_WtoA( void *context, UINT notification, UINT_PTR, UINT_PTR );
/* from msvcrt/sys/stat.h */
#define _S_IWRITE 0x0080
#define _S_IREAD 0x0100
#endif /* __SETUPAPI_PRIVATE_H */
......@@ -70,7 +70,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
/***********************************************************************
* SURegOpenKey (SETUPX.47)
*/
......
......@@ -24,28 +24,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
/***********************************************************************
* SetupIterateCabinetA (SETUPAPI.@)
*/
BOOL WINAPI SetupIterateCabinetA(PCSTR CabinetFile, DWORD Reserved,
PSP_FILE_CALLBACK_A MsgHandler, PVOID Context)
{
FIXME("not implemented (setupapi.dll) \n");
return 0;
}
/***********************************************************************
* SetupIterateCabinetW (SETUPAPI.@)
*/
BOOL WINAPI SetupIterateCabinetW(PWSTR CabinetFile, DWORD Reserved,
PSP_FILE_CALLBACK_W MsgHandler, PVOID Context)
{
FIXME("not implemented (setupapi.dll) \n");
return 0;
}
/***********************************************************************
* TPWriteProfileString (SETUPX.62)
*/
......
......@@ -153,6 +153,48 @@ typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATAW
DECL_WINELIB_TYPE_AW(SP_DEVICE_INTERFACE_DETAIL_DATA)
DECL_WINELIB_TYPE_AW(PSP_DEVICE_INTERFACE_DETAIL_DATA)
typedef struct _FILE_IN_CABINET_INFOA {
LPCSTR NameInCabinet;
DWORD FileSize;
DWORD Win32Error;
WORD DosDate;
WORD DosTime;
WORD DosAttribs;
CHAR FullTargetName[MAX_PATH];
} FILE_IN_CABINET_INFOA, *PFILE_IN_CABINET_INFOA;
typedef struct _FILE_IN_CABINET_INFOW {
LPCWSTR NameInCabinet;
DWORD FileSize;
DWORD Win32Error;
WORD DosDate;
WORD DosTime;
WORD DosAttribs;
WCHAR FullTargetName[MAX_PATH];
} FILE_IN_CABINET_INFOW, *PFILE_IN_CABINET_INFOW;
DECL_WINELIB_TYPE_AW(FILE_IN_CABINET_INFO)
DECL_WINELIB_TYPE_AW(PFILE_IN_CABINET_INFO)
typedef struct _CABINET_INFOA {
PCSTR CabinetPath;
PCSTR CabinetFile;
PCSTR DiskName;
USHORT SetId;
USHORT CabinetNumber;
} CABINET_INFOA, *PCABINET_INFOA;
typedef struct _CABINET_INFOW {
PCWSTR CabinetPath;
PCWSTR CabinetFile;
PCWSTR DiskName;
USHORT SetId;
USHORT CabinetNumber;
} CABINET_INFOW, *PCABINET_INFOW;
DECL_WINELIB_TYPE_AW(CABINET_INFO);
DECL_WINELIB_TYPE_AW(PCABINET_INFO);
#define INF_STYLE_NONE 0x00
#define INF_STYLE_OLDNT 0x01
#define INF_STYLE_WIN4 0x02
......@@ -542,6 +584,8 @@ BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT
BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,
PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
#define SetupInstallFromInfSection WINELIB_NAME_AW(SetupInstallFromInfSection)
BOOL WINAPI SetupIterateCabinetA(PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID);
BOOL WINAPI SetupIterateCabinetW(PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID);
#define SetupIterateCabinet WINELIB_NAME_AW(SetupIterateCabinet)
#endif /* _INC_SETUPAPI */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment