// winbio_types.h
typedef struct _WINBIO_BIR {
WINBIO_BIR_DATA HeaderBlock;
WINBIO_BIR_DATA StandardDataBlock;
WINBIO_BIR_DATA VendorDataBlock;
WINBIO_BIR_DATA SignatureBlock;
} WINBIO_BIR;
View the official Windows Driver Kit DDI referenceNo description available.
The WINBIO_BIR structure is the root of the BIR (Biometric Information Record). It contains the size and offset of any other data elements in the BIR.
HeaderBlockA structure of type WINBIO_BIR_DATA that contains size and offset information for a standard biometric header. This member is required.
StandardDataBlockA structure of type WINBIO_BIR_DATA that contains size and offset information for a standard data block based on the ANSI 381 format. This member is optional. Set this member to 0,0 if you do not use it.
VendorDataBlockA structure of type WINBIO_BIR_DATA that contains size and offset information for a vendor-specific data block. This member is optional. Set this member to 0,0 if you do not use it.
SignatureBlockA structure of type WINBIO_BIR_DATA that contains size and offset information for a signature block. This member is optional. Set this member to 0,0 if you do not use it.
The four WINBIO_BIR_DATA structures are contiguous and should be immediately followed by the actual data for each block. Thus, the offset for the HeaderBlock will always be 4*(sizeof (WINBIO_BIR_DATA). You can use the WINBIO_BIR_HEADER structure to provide the actual data of the header block.
The offset of where the StandardDataBlock starts should be the offset of the HeaderBlock plus the size of the HeaderBlock.