diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-11-17 14:11:30 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-11-17 19:06:00 -0600 |
| commit | 643293e48d176ff78282670512f45b4cf889b0a5 (patch) | |
| tree | 663433bb793e6dfef5d043cea4ba24b6ee3fb03d /src/engine/externalengine.h | |
| parent | 4ca0a5b2a8711cae9e60cb4075799bffef4ce75a (diff) | |
| download | wix-643293e48d176ff78282670512f45b4cf889b0a5.tar.gz wix-643293e48d176ff78282670512f45b4cf889b0a5.tar.bz2 wix-643293e48d176ff78282670512f45b4cf889b0a5.zip | |
Allow E_IMPL from BA/bext and check all cbSizes from BA/bext.
Diffstat (limited to 'src/engine/externalengine.h')
| -rw-r--r-- | src/engine/externalengine.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/engine/externalengine.h b/src/engine/externalengine.h new file mode 100644 index 00000000..7910b224 --- /dev/null +++ b/src/engine/externalengine.h | |||
| @@ -0,0 +1,22 @@ | |||
| 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 | #define ValidateMessageParameter(x, pv, type) { x = ExternalEngineValidateMessageParameter(pv, offsetof(type, cbSize), sizeof(type)); if (FAILED(x)) { goto LExit; }} | ||
| 6 | #define ValidateMessageArgs(x, pv, type, identifier) ValidateMessageParameter(x, pv, type); const type* identifier = reinterpret_cast<type*>(pv); UNREFERENCED_PARAMETER(identifier) | ||
| 7 | #define ValidateMessageResults(x, pv, type, identifier) ValidateMessageParameter(x, pv, type); type* identifier = reinterpret_cast<type*>(pv); UNREFERENCED_PARAMETER(identifier) | ||
| 8 | |||
| 9 | |||
| 10 | #if defined(__cplusplus) | ||
| 11 | extern "C" { | ||
| 12 | #endif | ||
| 13 | |||
| 14 | HRESULT WINAPI ExternalEngineValidateMessageParameter( | ||
| 15 | __in_opt const LPVOID pv, | ||
| 16 | __in SIZE_T cbSizeOffset, | ||
| 17 | __in DWORD dwMinimumSize | ||
| 18 | ); | ||
| 19 | |||
| 20 | #if defined(__cplusplus) | ||
| 21 | } | ||
| 22 | #endif | ||
