diff options
Diffstat (limited to 'src/dutil/inc/buffutil.h')
-rw-r--r-- | src/dutil/inc/buffutil.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/dutil/inc/buffutil.h b/src/dutil/inc/buffutil.h new file mode 100644 index 00000000..e61cdb58 --- /dev/null +++ b/src/dutil/inc/buffutil.h | |||
@@ -0,0 +1,80 @@ | |||
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 | ||
6 | extern "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 | |||
19 | HRESULT BuffReadNumber( | ||
20 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
21 | __in SIZE_T cbBuffer, | ||
22 | __inout SIZE_T* piBuffer, | ||
23 | __out DWORD* pdw | ||
24 | ); | ||
25 | HRESULT BuffReadNumber64( | ||
26 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
27 | __in SIZE_T cbBuffer, | ||
28 | __inout SIZE_T* piBuffer, | ||
29 | __out DWORD64* pdw64 | ||
30 | ); | ||
31 | HRESULT BuffReadString( | ||
32 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
33 | __in SIZE_T cbBuffer, | ||
34 | __inout SIZE_T* piBuffer, | ||
35 | __deref_out_z LPWSTR* pscz | ||
36 | ); | ||
37 | HRESULT BuffReadStringAnsi( | ||
38 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
39 | __in SIZE_T cbBuffer, | ||
40 | __inout SIZE_T* piBuffer, | ||
41 | __deref_out_z LPSTR* pscz | ||
42 | ); | ||
43 | HRESULT BuffReadStream( | ||
44 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
45 | __in SIZE_T cbBuffer, | ||
46 | __inout SIZE_T* piBuffer, | ||
47 | __deref_out_bcount(*pcbStream) BYTE** ppbStream, | ||
48 | __out SIZE_T* pcbStream | ||
49 | ); | ||
50 | |||
51 | HRESULT BuffWriteNumber( | ||
52 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
53 | __inout SIZE_T* piBuffer, | ||
54 | __in DWORD dw | ||
55 | ); | ||
56 | HRESULT BuffWriteNumber64( | ||
57 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
58 | __inout SIZE_T* piBuffer, | ||
59 | __in DWORD64 dw64 | ||
60 | ); | ||
61 | HRESULT BuffWriteString( | ||
62 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
63 | __inout SIZE_T* piBuffer, | ||
64 | __in_z_opt LPCWSTR scz | ||
65 | ); | ||
66 | HRESULT BuffWriteStringAnsi( | ||
67 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
68 | __inout SIZE_T* piBuffer, | ||
69 | __in_z_opt LPCSTR scz | ||
70 | ); | ||
71 | HRESULT BuffWriteStream( | ||
72 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
73 | __inout SIZE_T* piBuffer, | ||
74 | __in_bcount(cbStream) const BYTE* pbStream, | ||
75 | __in SIZE_T cbStream | ||
76 | ); | ||
77 | |||
78 | #ifdef __cplusplus | ||
79 | } | ||
80 | #endif | ||