#ifndef _NTBCD_H
/**
* Constructs a BCD (Boot Configuration Data) object identifier with the specified
* object type, image type, and application type into a single ULONG value.
* \param ObjectType The type of the BCD object (placed in the highest 4 bits).
* \param ImageType The type of the image (placed in the next 4 bits).
* \param ApplicationType The type of the application (placed in the lowest 20 bits).
* \returns A ULONG value representing the combined BCD object identifier.
* \remarks Bit Layout:
* | 31 ... 28 | 27 ... 24 | 23 ... 20 | 19 .......... 0 |
* | ObjectType| Reserved | ImageType | ApplicationType |
*/
#define MAKE_BCD_OBJECT(ObjectType, ImageType, ApplicationType) \
(((ULONG)(ObjectType) << 28) | \
(((ULONG)(ImageType) & 0xF) << 20) | \
((ULONG)(ApplicationType) & 0xFFFFF))
View code on GitHubNo description available.