zip_source_win32handle
,
zip_source_win32handle_create
—
create data source from a Windows file handle
libzip (-lzip)
#include
<zip.h>
zip_source_t *
zip_source_win32handle
(
zip_t
*archive,
HANDLE
h,
zip_uint64_t
start,
zip_int64_t
len);
zip_source_t *
zip_source_win32handle_create
(
HANDLE
h,
zip_uint64_t
start,
zip_int64_t len,
zip_error_t
*error);
The functions
zip_source_win32handle
() and
zip_source_win32handle_create
() create a
zip source from a Windows file handle. They open
fname and read
len bytes from offset
start from it. If
len is 0 or -1, the whole file (starting from
start) is used.
If the file supports seek, the source can be used to open a zip archive from.
The file is opened and read when the data from the source is used, usually by
zip_close
() or
zip_open_from_source
().
Upon successful completion, the created source is returned. Otherwise,
NULL
is returned and the error code in
archive or
error is set to indicate the error.
zip_source_w32handle
() and
zip_source_w32handle_create
() fail if:
-
-
- [
ZIP_ER_INVAL
]
- fname,
start, or
len are invalid.
-
-
- [
ZIP_ER_MEMORY
]
- Required memory could not be allocated.
-
-
- [
ZIP_ER_OPEN
]
- Opening fname failed.
libzip(3),
zip_file_add(3),
zip_file_replace(3),
zip_source(3),
zip_source_win32a(3),
zip_source_win32w(3)
zip_source_win32handle
() and
zip_source_win32handle_create
() were added
in libzip 1.0.
Dieter Baron
<
dillo@nih.at>
and
Thomas Klausner
<
tk@giga.or.at>