Further modifies to fulfill the km directorie:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\km
Further files need to be modifies before translate.
This version give better informations to find wich ( or ) is missed in one block of (())(()))
Macro with structure arguments Inside are not translate.
to do that ,change the c++ macro in c++ structure and rename the translate a MACRO.
This complex form of structure:
typedef struct _CLS_SCAN_CONTEXT
{
CLFS_NODE_ID cidNode;
PLOG_FILE_OBJECT plfoLog;
__declspec(align(8)) ULONG cIndex;
__declspec(align(8)) ULONG cContainers;
__declspec(align(8)) ULONG cContainersReturned;
__declspec(align(8)) CLFS_SCAN_MODE eScanMode;
__declspec(align(8)) PCLS_CONTAINER_INFORMATION pinfoContainer;
} CLS_SCAN_CONTEXT, *PCLS_SCAN_CONTEXT, **PPCLS_SCAN_CONTEXT;
is translated like that
CLS_SCAN_CONTEXT STRUCT DEFALIGNMASM
cidNode CLFS_NODE_ID ?
plfoLog PLOG_FILE_OBJECT ?
__declspec(align(8))
cIndex DWORD ?
__declspec(align(8))
cContainers DWORD ?
__declspec(align(8))
cContainersReturned DWORD ?
__declspec(align(8))
eScanMode BYTE ?
__declspec(align(8))
pinfoContainer PCLS_CONTAINER_INFORMATION ?
CLS_SCAN_CONTEXT ENDS
The translater let's you rewrite the __declspec MACRO as you want (align 8 is enough).