1 #[link(name = "windows")]
3 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn CloseCompressor(compressorhandle
: COMPRESSOR_HANDLE
) -> super::super::Foundation
::BOOL
;
6 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn CloseDecompressor(decompressorhandle
: isize) -> super::super::Foundation
::BOOL
;
9 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn Compress(compressorhandle
: COMPRESSOR_HANDLE
, uncompresseddata
: *const ::core
::ffi
::c_void
, uncompresseddatasize
: usize, compressedbuffer
: *mut ::core
::ffi
::c_void
, compressedbuffersize
: usize, compresseddatasize
: *mut usize) -> super::super::Foundation
::BOOL
;
12 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn CreateCompressor(algorithm
: COMPRESS_ALGORITHM
, allocationroutines
: *const COMPRESS_ALLOCATION_ROUTINES
, compressorhandle
: *mut isize) -> super::super::Foundation
::BOOL
;
15 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn CreateDecompressor(algorithm
: COMPRESS_ALGORITHM
, allocationroutines
: *const COMPRESS_ALLOCATION_ROUTINES
, decompressorhandle
: *mut isize) -> super::super::Foundation
::BOOL
;
18 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
19 #[cfg(feature = "Win32_Foundation")]
20 pub fn Decompress(decompressorhandle
: isize, compresseddata
: *const ::core
::ffi
::c_void
, compresseddatasize
: usize, uncompressedbuffer
: *mut ::core
::ffi
::c_void
, uncompressedbuffersize
: usize, uncompresseddatasize
: *mut usize) -> super::super::Foundation
::BOOL
;
21 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn QueryCompressorInformation(compressorhandle
: COMPRESSOR_HANDLE
, compressinformationclass
: COMPRESS_INFORMATION_CLASS
, compressinformation
: *mut ::core
::ffi
::c_void
, compressinformationsize
: usize) -> super::super::Foundation
::BOOL
;
24 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn QueryDecompressorInformation(decompressorhandle
: isize, compressinformationclass
: COMPRESS_INFORMATION_CLASS
, compressinformation
: *mut ::core
::ffi
::c_void
, compressinformationsize
: usize) -> super::super::Foundation
::BOOL
;
27 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
28 #[cfg(feature = "Win32_Foundation")]
29 pub fn ResetCompressor(compressorhandle
: COMPRESSOR_HANDLE
) -> super::super::Foundation
::BOOL
;
30 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
31 #[cfg(feature = "Win32_Foundation")]
32 pub fn ResetDecompressor(decompressorhandle
: isize) -> super::super::Foundation
::BOOL
;
33 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
34 #[cfg(feature = "Win32_Foundation")]
35 pub fn SetCompressorInformation(compressorhandle
: COMPRESSOR_HANDLE
, compressinformationclass
: COMPRESS_INFORMATION_CLASS
, compressinformation
: *const ::core
::ffi
::c_void
, compressinformationsize
: usize) -> super::super::Foundation
::BOOL
;
36 #[doc = "*Required features: `\"Win32_Storage_Compression\"`, `\"Win32_Foundation\"`*"]
37 #[cfg(feature = "Win32_Foundation")]
38 pub fn SetDecompressorInformation(decompressorhandle
: isize, compressinformationclass
: COMPRESS_INFORMATION_CLASS
, compressinformation
: *const ::core
::ffi
::c_void
, compressinformationsize
: usize) -> super::super::Foundation
::BOOL
;
40 pub type COMPRESSOR_HANDLE
= isize;
41 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
42 pub type COMPRESS_ALGORITHM
= u32;
43 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
44 pub const COMPRESS_ALGORITHM_MSZIP
: COMPRESS_ALGORITHM
= 2u32;
45 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
46 pub const COMPRESS_ALGORITHM_XPRESS
: COMPRESS_ALGORITHM
= 3u32;
47 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
48 pub const COMPRESS_ALGORITHM_XPRESS_HUFF
: COMPRESS_ALGORITHM
= 4u32;
49 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
50 pub const COMPRESS_ALGORITHM_LZMS
: COMPRESS_ALGORITHM
= 5u32;
51 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
52 pub const COMPRESS_ALGORITHM_INVALID
: u32 = 0u32;
53 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
54 pub const COMPRESS_ALGORITHM_MAX
: u32 = 6u32;
55 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
56 pub const COMPRESS_ALGORITHM_NULL
: u32 = 1u32;
58 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
59 pub struct COMPRESS_ALLOCATION_ROUTINES
{
60 pub Allocate
: PFN_COMPRESS_ALLOCATE
,
61 pub Free
: PFN_COMPRESS_FREE
,
62 pub UserContext
: *mut ::core
::ffi
::c_void
,
64 impl ::core
::marker
::Copy
for COMPRESS_ALLOCATION_ROUTINES {}
65 impl ::core
::clone
::Clone
for COMPRESS_ALLOCATION_ROUTINES
{
66 fn clone(&self) -> Self {
70 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
71 pub type COMPRESS_INFORMATION_CLASS
= i32;
72 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
73 pub const COMPRESS_INFORMATION_CLASS_INVALID
: COMPRESS_INFORMATION_CLASS
= 0i32;
74 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
75 pub const COMPRESS_INFORMATION_CLASS_BLOCK_SIZE
: COMPRESS_INFORMATION_CLASS
= 1i32;
76 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
77 pub const COMPRESS_INFORMATION_CLASS_LEVEL
: COMPRESS_INFORMATION_CLASS
= 2i32;
78 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
79 pub const COMPRESS_RAW
: u32 = 536870912u32;
80 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
81 pub type PFN_COMPRESS_ALLOCATE
= ::core
::option
::Option
<unsafe extern "system" fn(usercontext
: *const ::core
::ffi
::c_void
, size
: usize) -> *mut ::core
::ffi
::c_void
>;
82 #[doc = "*Required features: `\"Win32_Storage_Compression\"`*"]
83 pub type PFN_COMPRESS_FREE
= ::core
::option
::Option
<unsafe extern "system" fn(usercontext
: *const ::core
::ffi
::c_void
, memory
: *const ::core
::ffi
::c_void
)>;