aboutsummaryrefslogtreecommitdiff
path: root/src/libs/dutil/WixToolset.DUtil/inc/buffutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc/buffutil.h')
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/buffutil.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/buffutil.h b/src/libs/dutil/WixToolset.DUtil/inc/buffutil.h
new file mode 100644
index 00000000..322209e6
--- /dev/null
+++ b/src/libs/dutil/WixToolset.DUtil/inc/buffutil.h
@@ -0,0 +1,91 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9
10// macro definitions
11
12#define ReleaseBuffer ReleaseMem
13#define ReleaseNullBuffer ReleaseNullMem
14#define BuffFree MemFree
15
16
17// function declarations
18
19HRESULT BuffReadNumber(
20 __in_bcount(cbBuffer) const BYTE* pbBuffer,
21 __in SIZE_T cbBuffer,
22 __inout SIZE_T* piBuffer,
23 __out DWORD* pdw
24 );
25HRESULT BuffReadNumber64(
26 __in_bcount(cbBuffer) const BYTE* pbBuffer,
27 __in SIZE_T cbBuffer,
28 __inout SIZE_T* piBuffer,
29 __out DWORD64* pdw64
30 );
31HRESULT BuffReadPointer(
32 __in_bcount(cbBuffer) const BYTE* pbBuffer,
33 __in SIZE_T cbBuffer,
34 __inout SIZE_T* piBuffer,
35 __out DWORD_PTR* pdw
36);
37HRESULT BuffReadString(
38 __in_bcount(cbBuffer) const BYTE* pbBuffer,
39 __in SIZE_T cbBuffer,
40 __inout SIZE_T* piBuffer,
41 __deref_out_z LPWSTR* pscz
42 );
43HRESULT BuffReadStringAnsi(
44 __in_bcount(cbBuffer) const BYTE* pbBuffer,
45 __in SIZE_T cbBuffer,
46 __inout SIZE_T* piBuffer,
47 __deref_out_z LPSTR* pscz
48 );
49HRESULT BuffReadStream(
50 __in_bcount(cbBuffer) const BYTE* pbBuffer,
51 __in SIZE_T cbBuffer,
52 __inout SIZE_T* piBuffer,
53 __deref_inout_bcount(*pcbStream) BYTE** ppbStream,
54 __out SIZE_T* pcbStream
55 );
56
57HRESULT BuffWriteNumber(
58 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
59 __inout SIZE_T* piBuffer,
60 __in DWORD dw
61 );
62HRESULT BuffWriteNumber64(
63 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
64 __inout SIZE_T* piBuffer,
65 __in DWORD64 dw64
66 );
67HRESULT BuffWritePointer(
68 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
69 __inout SIZE_T* piBuffer,
70 __in DWORD_PTR dw
71);
72HRESULT BuffWriteString(
73 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
74 __inout SIZE_T* piBuffer,
75 __in_z_opt LPCWSTR scz
76 );
77HRESULT BuffWriteStringAnsi(
78 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
79 __inout SIZE_T* piBuffer,
80 __in_z_opt LPCSTR scz
81 );
82HRESULT BuffWriteStream(
83 __deref_inout_bcount(*piBuffer) BYTE** ppbBuffer,
84 __inout SIZE_T* piBuffer,
85 __in_bcount(cbStream) const BYTE* pbStream,
86 __in SIZE_T cbStream
87 );
88
89#ifdef __cplusplus
90}
91#endif