WINBIO_BIR_HEADER structure

The WINBIO_BIR_HEADER structure contains the header of a biometric information record (BIR).

Syntax

typedef struct _WINBIO_BIR_HEADER {
  USHORT                   ValidFields;
  WINBIO_BIR_VERSION       HeaderVersion;
  WINBIO_BIR_VERSION       PatronHeaderVersion;
  WINBIO_BIR_DATA_FLAGS    DataFlags;
  WINBIO_BIOMETRIC_TYPE    Type;
  WINBIO_BIOMETRIC_SUBTYPE Subtype;
  WINBIO_BIR_PURPOSE       Purpose;
  WINBIO_BIR_QUALITY       DataQuality;
  LARGE_INTEGER            CreationDate;
  struct {
    LARGE_INTEGER BeginDate;
    LARGE_INTEGER EndDate;
  } ValidityPeriod;
  WINBIO_REGISTERED_FORMAT BiometricDataFormat;
  WINBIO_REGISTERED_FORMAT ProductId;
} WINBIO_BIR_HEADER;

Members

ValidFields

Bitmask that specifies which fields in this structure are valid. For more information, see WINBIO_BIR_FIELD Constants.

HeaderVersion

A WINBIO_BIR_VERSION constant that specifies the header version. Version numbers are 8-bit values where the upper four bits specify the major number and the low four bits specify the minor version number. Currently this must be WINBIO_CBEFF_HEADER_VERSION (0x11).

PatronHeaderVersion

A WINBIO_BIR_VERSION constant that specifies the header version. Version numbers are 8-bit values where the upper four bits specify the major number and the low four bits specify the minor version number. Currently this must be WINBIO_PATRON_HEADER_VERSION (0x11).

DataFlags

A value that specifies the format of the header data. This can be a bitwise OR of the following security and processing level flags. For more information, see WINBIO_BIR_DATA_FLAGS Constants.

Value Meaning
WINBIO_DATA_FLAG_PRIVACY
((UCHAR)0x02)
The data is encrypted.
WINBIO_DATA_FLAG_INTEGRITY
((UCHAR)0x01)
The data is digitally signed or protected by a message authentication code (MAC).
WINBIO_DATA_FLAG_SIGNED
((UCHAR)0x04)
If this flag and the WINBIO_DATA_FLAG_INTEGRITY flag are set, the data is signed. If this flag is not set but the WINBIO_DATA_FLAG_INTEGRITY flag is set, a MAC is computed over the data.
WINBIO_DATA_FLAG_RAW
((UCHAR)0x20)
The data is in the format with which it was captured.
WINBIO_DATA_FLAG_INTERMEDIATE
((UCHAR)0x40)
The data is not raw but has not been completely processed.
WINBIO_DATA_FLAG_PROCESSED
((UCHAR)0x80)
The data has been processed.
WINBIO_DATA_FLAG_OPTION_MASK_PRESENT
((UCHAR)0x08)
This value is always 1.

Type

A WINBIO_BIOMETRIC_TYPE value that specifies the type of biometric data referenced in the biometric information record. Currently only WINBIO_TYPE_FINGERPRINT is supported. For more information, see WINBIO_BIOMETRIC_TYPE Constants.

Subtype

A WINBIO_BIOMETRIC_SUBTYPE value that specifies the sub-factor associated with the biometric data. For more information, see Remarks and WINBIO_BIOMETRIC_SUBTYPE Constants.

Purpose

A WINBIO_BIR_PURPOSE mask that specifies the intended use of the data. This can be a bitwise OR of the following values. For more information, see WINBIO_BIR_PURPOSE Constants.

  • WINBIO_PURPOSE_VERIFY
  • WINBIO_PURPOSE_IDENTIFY
  • WINBIO_PURPOSE_ENROLL
  • WINBIO_PURPOSE_ENROLL_FOR_VERIFICATION
  • WINBIO_PURPOSE_ENROLL_FOR_IDENTIFICATION
  • WINBIO_PURPOSE_AUDIT

DataQuality

A value that specifies the relative quality of the biometric data in the biometric information record (BIR). This can be an integer from 0 to 100 or one of the following values. For more information, see WINBIO_BIR_QUALITY Constants.

Value Meaning
WINBIO_DATA_QUALITY_NOT_SET
((WINBIO_BIR_QUALITY)-1)
Quality measurements are supported by the BIR creator but no value is set in the BIR.
WINBIO_DATA_QUALITY_NOT_SUPPORTED
((WINBIO_BIR_QUALITY)-2)
Quality measurements are not supported by the BIR creator.

CreationDate

The date and time, in Coordinated Universal Time (Greenwich Mean Time), that the BIR was created.

ValidityPeriod

The period for which the BIR is valid.

BeginDate

The date and time, in Coordinated Universal Time, that the validity period starts.

EndDate

The date and time, in Coordinated Universal Time, at which the BIR ceases to be valid.

BiometricDataFormat

A WINBIO_REGISTERED_FORMAT structure that specifies the data format of the standard data block in the WINBIO_BIR structure. The WINBIO_REGISTERED_FORMAT members cannot be zero. You can use the following constants to simplify error checking.

Value Meaning
WINBIO_NO_FORMAT_OWNER_AVAILABLE
((USHORT)0)
No IBIA (International Biometric Industry Association) assigned owner value has been specified.
WINBIO_NO_FORMAT_TYPE_AVAILABLE
((USHORT)0)
No format type has been specified.

ProductId

A WINBIO_REGISTERED_FORMAT structure that specifies the product ID of the component that generated the standard data block in the BIR. The WINBIO_REGISTERED_FORMAT members can be zero.

Remarks

The Subtype parameter specifies the sub-factor associated with the biometric data. Currently, the Windows Biometric Framework (WBF) supports only fingerprint capture and uses the following constants to represent sub-type information:

  • WINBIO_ANSI_381_POS_UNKNOWN
  • WINBIO_ANSI_381_POS_RH_THUMB
  • WINBIO_ANSI_381_POS_RH_INDEX_FINGER
  • WINBIO_ANSI_381_POS_RH_MIDDLE_FINGER
  • WINBIO_ANSI_381_POS_RH_RING_FINGER
  • WINBIO_ANSI_381_POS_RH_LITTLE_FINGER
  • WINBIO_ANSI_381_POS_LH_THUMB
  • WINBIO_ANSI_381_POS_LH_INDEX_FINGER
  • WINBIO_ANSI_381_POS_LH_MIDDLE_FINGER
  • WINBIO_ANSI_381_POS_LH_RING_FINGER
  • WINBIO_ANSI_381_POS_LH_LITTLE_FINGER
  • WINBIO_ANSI_381_POS_RH_FOUR_FINGERS
  • WINBIO_ANSI_381_POS_LH_FOUR_FINGERS
  • WINBIO_ANSI_381_POS_TWO_THUMBS

Important

Do not attempt to validate the value supplied for the Subtype parameter value. The Windows Biometrics Service will validate the supplied value before passing it through to your implementation. If the value is WINBIO_SUBTYPE_NO_INFORMATION or WINBIO_SUBTYPE_ANY, then validate where appropriate.

If any of the following bits are asserted, the WINBIO_BIR_HEADER structure is not correctly formed.

#define WINBIO_BIR_FIELD_NEVER_VALID    (WINBIO_BIR_FIELD_SUBHEAD_COUNT |   \
                                         WINBIO_BIR_FIELD_PATRON_ID |       \
                                         WINBIO_BIR_FIELD_INDEX |           \
                                         WINBIO_BIR_FIELD_CHALLENGE |       \
                                         WINBIO_BIR_FIELD_PAYLOAD )

Requirements

Requirement Value
Minimum supported client
Windows 7 [desktop apps only]
Minimum supported server
Windows Server 2008 R2 [desktop apps only]
Header
Winbio_types.h (include Winbio.h)

See also

Client Application Structures

WINBIO_BIOMETRIC_SUBTYPE Constants

WINBIO_BIR

WINBIO_BIR_DATA_FLAGS Constants

WINBIO_BIR_FIELD Constants

WINBIO_BIR_PURPOSE Constants

WINBIO_BIR_QUALITY Constants

WINBIO_BIR_VERSION Constants