Copyright Digital Equipment Corp. All rights reserved.

HRS_IdentifyMatch

NAME
  CSSM_HRS_IdentifyMatch, HRS_IdentifyMatch

SYNOPSIS

#include <hrs.h>

API
  CSSM_RETURN CSSMAPI CSSM_HRS_IdentifyMatch(
                      CSSM_HRS_HANDLE ModuleHandle,
                      const CSSM_HRS_FAR *MaxFARRequested,
                      const CSSM_HRS_FRR *MaxFRRRequested,
                      const CSSM_BOOL *FARPrecedence,
                      const CSSM_HRS_INPUT_BIR *ProcessedBIR,
                      const CSSM_HRS_IDENTIFY_POPULATION *Population,
                      CSSM_BOOL Binning,
                      uint32 MaxNumberOfResults,
                      uint32 *NumberOfResults,
                      CSSM_HRS_CANDIDATE_ARRAY_PTR *Candidates,
                      sint32 Timeout);
SPI
  CSSM_RETURN CSSMHRI HRS_IdentifyMatch(
                      CSSM_HRS_HANDLE ModuleHandle,
                      const CSSM_HRS_FAR *MaxFARRequested,
                      const CSSM_HRS_FRR *MaxFRRRequested,
                      const CSSM_BOOL *FARPrecedence,
                      const CSSM_HRS_INPUT_BIR *ProcessedBIR,
                      const CSSM_HRS_IDENTIFY_POPULATION *Population,
                      CSSM_BOOL Binning,
                      uint32 MaxNumberOfResults,
                      uint32 *NumberOfResults,
                      CSSM_HRS_CANDIDATE_ARRAY_PTR *Candidates,
                      sint32 Timeout);

LIBRARY
  HRS Extensible Module Manager (CDSA$INHRSEMM_SHR.EXE)

PARAMETERS
  The parameter definitions are the same for the API and the SPI.

  ModuleHandle (input)             The handle of the attached HRS
                                   service provider.
  MaxFARRequested (input)          The requested FAR criterion for
                                   successful verification.
  MaxFRRRequested (input/optional) The requested FRR criterion for
                                   successful verification. A NULL
                                   pointer indicates that this
                                   criterion is not provided.
  FARPrecedence (input)            If both criteria are provided,
                                   this parameter indicates which
                                   takes precedence: CSSM_TRUE for
                                   FAR, CSSM_FALSE for FRR.
  ProcessedBIR (input)             The BIR to be identified.
  Population (input)               The population of BIRs against
                                   which the Identify match is performed.
  Binning (input)                  A Boolean indicating whether
                                   Binning is on or off. Binning is a
                                   search-optimization technique that
                                   the service provider may employ. It
                                   is based on searching the population
                                   according to the intrinsic
                                   characteristics of the biometric
                                   data. While it may improve the speed
                                   of the Match operation, it may also
                                   increase the probability of missing
                                   a candidate.
  MaxNumberOfResults (input)       Specifies the maximum number of match
                                   candidates to be returned as a
                                   result of the 1:N match. A value of
                                   zero is a request for all candidates.
  NumberOfResults (output)         Specifies the number of candidates
                                   returned in the Candidates array as
                                   a result of the 1:N match.
  Candidates (output)              A pointer to an array of
                                   CSSM_HRS_CANDIDATE_PTRs
                                   corresponding to the BIRs identified
                                   as a result of the match process
                                   (that is, indices associated with
                                   BIRs found to exceed the match
                                   threshold). This list is in rank
                                   order, with the highest scoring
                                   record being first. If no matches
                                   are found, this pointer will be set
                                   to NULL. If the Population was
                                   presented in a database, the IDs are
                                   database IDs; if the set was
                                   presented in an in-memory array, the
                                   IDs are indexes into the array.
  Timeout (input)                  An integer specifying the timeout
                                   value (in milliseconds) for the
                                   operation. If this timeout is
                                   reached, the function returns an
                                   error, and no candidate list. This
                                   value can be any positive number.
                                   A -1 value means the service
                                   provider's default timeout value
                                   will be used.

DESCRIPTION
  This function performs an identification (1-to-many) match between
  a ProcessedBIR and a set of stored BIRs. The ProcessedBIR is the
  "processed" BIR captured specifically for this identification.
  The population that the match takes place against can be presented
  in one of three ways:

  1. In a database identified by an open database handle
  2. Input in an array of BIRs
  3. In the "default" database of the BSP (possibly stored
     in the biometric device)

  The application must request a maximum FAR value criterion for
  a successful match, and may also (optionally) request a maximum
  FRR criterion for a successful match. If a maximum FRR value is
  provided, the application must also indicate, via the FARPrecedence
  parameter, which criteria takes precedence. The FARAchieved and,
  optionally, the FRRAchieved are returned for each result in the
  Candidate array.

NOTES
  Not all service providers support 1:N identification.

  Depending on the service provider and the location and size of the
  database to be searched, this operation can take a significant
  amount of time to perform

  The number of match candidates found by the service provider is
  dependent on the actual FAR used.

RETURN VALUE
  A CSSM_RETURN value indicating success or specifying a particular
  error condition. The value CSSM_OK indicates success. All other
  values represent an error condition.

ERRORS
  Errors are described in the CDSA Technical Standard.  See CDSA.

  CSSMERR_CSSM_NOT_INITIALIZED
  CSSMERR_CSSM_FUNCTION_FAILED
  CSSMERR_CSSM_FUNCTION_NOT_IMPLEMENTED
  CSSMERR_CSSM_FUNCTION_INTEGRITY_FAIL
  CSSMERR_HRS_BIR_NOT_FULLY_PROCESSED
  CSSMERR_HRS_BIR_SIGNATURE_FAILURE
  CSSMERR_HRS_FUNCTION_NOT_SUPPORTED
  CSSMERR_HRS_INCONSISTENT_PURPOSE
  CSSMERR_HRS_NO_INPUT_BIRS
  CSSMERR_HRS_RECORD_NOT_FOUND
  CSSMERR_HRS_TIMEOUT_EXPIRED