James Hawkins : cabinet: Clean up the documentation for Extract.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jan 9 13:53:02 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 18d6f6944b19b284963dc9c12074aca121616787
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=18d6f6944b19b284963dc9c12074aca121616787
Author: James Hawkins <truiken at gmail.com>
Date: Mon Jan 9 20:24:21 2006 +0100
cabinet: Clean up the documentation for Extract.
---
dlls/cabinet/cabinet_main.c | 37 ++++++++++++++++++++++++++-----------
1 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/dlls/cabinet/cabinet_main.c b/dlls/cabinet/cabinet_main.c
index d066a38..0be8ed4 100644
--- a/dlls/cabinet/cabinet_main.c
+++ b/dlls/cabinet/cabinet_main.c
@@ -69,22 +69,37 @@ HRESULT WINAPI DllGetVersion (DLLVERSION
/***********************************************************************
* Extract (CABINET.3)
*
- * Apparently an undocumented function, presumably to extract a CAB file
- * to somewhere...
+ * Extracts the contents of the cabinet file to the specified
+ * destination.
*
* PARAMS
- * dest pointer to a buffer of 0x32c bytes containing
- * [I] - number with value 1 at index 0x18
- * - the dest path starting at index 0x1c
- * [O] - a linked list with the filename existing inside the
- * CAB file at idx 0x10
- * - the number of files inside the CAB file at index 0x14
- * - the name of the last file with dest path at idx 0x120
+ * dest [I/O] Controls the operation of Extract. See NOTES.
* szCabName [I] Filename of the cabinet to extract.
*
* RETURNS
- * Success: S_OK
- * Failure: E_OUTOFMEMORY (?)
+ * Success: S_OK.
+ * Failure: E_FAIL.
+ *
+ * NOTES
+ * The following members of the dest struct control the operation
+ * of Extract:
+ * filelist [I] A linked list of filenames. Extract only extracts
+ * files from the cabinet that are in this list.
+ * filecount [O] Contains the number of files in filelist on
+ * completion.
+ * flags [I] See Operation.
+ * directory [I] The destination directory.
+ * lastfile [O] The last file extracted.
+ *
+ * Operation
+ * If flags contains EXTRACT_FILLFILELIST, then filelist will be
+ * filled with all the files in the cabinet. If flags contains
+ * EXTRACT_EXTRACTFILES, then only the files in the filelist will
+ * be extracted from the cabinet. EXTRACT_FILLFILELIST can be called
+ * by itself, but EXTRACT_EXTRACTFILES must have a valid filelist
+ * in order to succeed. If flags contains both EXTRACT_FILLFILELIST
+ * and EXTRACT_EXTRACTFILES, then all the files in the cabinet
+ * will be extracted.
*/
HRESULT WINAPI Extract(EXTRACTdest *dest, LPCSTR szCabName)
{
More information about the wine-cvs
mailing list