Guia de Desenvolvimento eNBSP CSharp
Guia de Desenvolvimento eNBSP CSharp
Guia de Desenvolvimento eNBSP CSharp
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 1
Capítulo 5. Programação em C#(.NET)
Este capítulo descreve como se faz um programa com NBioBsP Class Library,
“NITGEN.SDK.NBioBSP.dll”, que nos dá suporte a ambientes Microsoft .NET com base em C#,
VB.NET, ASP.NET, J# e outros. O NBioBSP Class Library também usa o NBioBSP.dll e provê um
nível mais alto de interfaces. NBioBSP Class Library suporta quase todas as funções do NBioBSP.
Enquanto várias linguagens suportam o .NET Programming, este capítulo irá introduzir o uso
da programação em C# a linguagem mais popular em .NET. O que veremos também é aplicado a
outras linguagens .NET, pois grande parte dessas linguagens são parecidas.
using NITGEN.SDK.NBioBSP;
…
m_NBioAPI = new NBioAPI();
Nenhum código específico é necessário para fechar ou limpar a memória na linguagem .NET.
O dispositivo deve ser aberto antes de poder usá-lo. Use o método Enumerate para
determinar qual dispositivo está ligado no sistema.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 2
Se existe apenas um dispositivo para cada sistema, o número de exemplo será “0”. Neste
caso, o nome do dispositivo terá o mesmo valor que o ID do dispositivo. Para mais informação,
consulte o NBioBSP SDK Programmer’s Manual.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 3
5.2.2 Inicializando o dispositivo
m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
O método CloseDevice deve ser usado para fechar o dispositivo. O mesmo DeviceID utilizado
para chamar o método Open deve ser usado novamente para chamar o método CloseDevice.
O método Enroll é usado para registrar as impressões digitais. Todos os dados das
impressões digitais são usados no formato binário ou um texto codificado encontrado no módulo
NBioBSP Class Library. Os dados da impressão digital serão inseridos no FIR, no qual será
registrado, e que possui o valor em binário ou texto codificado. O NBioBSP Class Library provem de
vários formatos do método Enroll que pode ser usado de modo específico. Segue o exemplo abaixo.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 5
Em ambientes Client/Server, o enrollment das impressões digitais e os matchings se
encontram em diferentes locais. As impressões digitais são geralmente registradas pelo cliente e
depois encaminhadas para o Server.
O método Enroll registra as impressões digitais enquanto método Capture verifica as digitais.
O método VerifyMatch encaminha as impressões digitais capturadas no Server.
O método Enroll possibilita registrar e transferir no FIR inúmeras impressões digitais, enquanto
o método Capture só nos permite cadastrar uma impressão. O método Capture tem o propósito de
capturar a impressão digital e utilizar o NBioAPI.Type.FIR_PURPOSE.VERIFY somente como
parâmetro.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 6
m_NBioAPI = new NBioAPI();
...
// Pega um FIR previamente capturado e lê um FIR cadastrado no DB.
...
uint ret;
bool result;
NBioAPI.Type.FIR_PAYLOAD myPayload = new NBioAPI.Type.FIR_PAYLOAD();
ret = m_NBioAPI.VerifyMatch(hCapturedFIR, hStoredFIR, out result, myPayload);
if (ret != NBioAPI.Error.NONE)
{
// Verificado com sucesso
// Payload checado
if (myPayload.Data != null)
{
textPayload.Text = myPayload.Data;
}
}
else
// Falha ao verificar
O ato de incluir outros dados nos dados gerados pela impressão digital chama-se payload.
No momento em que a impressão digital é registrada, use o método Enroll para incluir o
payload no FIR. O método CreatTemplate pode ser usado para inserir um payload em um FIR já
existente.
O método Enroll irá usar o dado da impressão digital e o payload para prover uma futura
comparação.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 7
myPayload.Data = “Your Payload Data”;
ret = m_NBioAPI.CreateTemplate(null, hStoredFIR, out hNewFIR, myPayload);
if (ret == NBioAPI.Error.NONE)
// CreateTemplate success ...
else
// CreateTemplate failed ...
O módulo NBioBSP Class Library oferece recursos para customização básica do UI. Use o
método SetSkinResource para carregar os recursos UI.
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 8
{
szSkinFileName = openFileDialog.FileName;
if (szSkinFileName.Length != 0)
{
// Set skin resource
bool bRet = m_NBioAPI.SetSkinResource(szSkinFileName);
if (bRet)
labStatus.Text = "Set skin resource Success!";
else
labStatus.Text = "Set skin resource failed!";
}
}
Para que o mesmo Skin (Pop-UP) seja utilizado, incluía somente a linha abaixo no código
especificando o local da DLL.
Adicionando no IndexSearch :
Identificando:
objDevice.Open(NBioBSPType.DEVICE_ID.AUTO);
objExtraction.Capture((int)NBioBSPType.FIR_PURPOSE.VERIFY);
objDevice.Close(NBioBSPType.DEVICE_ID.AUTO);
szTextEncodeFIR = objExtraction.TextEncodeFIR;
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 9
objIndexSearch.IdentifyUser(szTextEncodeFIR, 6); //Faz a identificação do usuário. 1º
Parametro: String capturada a identificar. 2º Parametro: Nível de segurança (Varia de 1 à 9).
if (objIndexSearch.ErrorCode == 0)
{
//User identificado com sucesso
User_id = Convert.ToString(objIndexSearch.UserID); // objIndexSearch.UserID irá
retornar o ID do user identificado. Com este valor deve-se fazer a busca no Database
dos demais dados do usuário.
}
else
{
//User não identificado.
}
N i t g e n d o B r a s i l – w w w . n i t g e n . c o m . b r P á g i n a 1 0