Я новичок C++ и вам необходимо сохранить изображение captured by Biometric fingerprint sensor в качестве файла изображения BMP. Я обнаружил, что this примером может быть подходит для моих требований, но пока я бегу приложение (как администратор), я получил сообщение об ошибке при попытке получить указатель &sample
говорит 'Unable to read from memory'
WinBio Save Capture Sample as Image - Невозможно прочитать из памяти
HRESULT CaptureSample()
{
HRESULT hr = S_OK;
WINBIO_SESSION_HANDLE sessionHandle = NULL;
WINBIO_UNIT_ID unitId = 0;
WINBIO_REJECT_DETAIL rejectDetail = 0;
PWINBIO_BIR sample = NULL;
SIZE_T sampleSize = 0;
// Connect to the system pool & opening session code done successfully.
// Capture a biometric sample.
std::cout << "Calling WinBioCaptureSample - Swipe sensor...\n";
hr = WinBioCaptureSample(
sessionHandle,
WINBIO_NO_PURPOSE_AVAILABLE,
WINBIO_DATA_FLAG_RAW,
&unitId,
&sample, // Here Application crashes and error is 'Unable to read from memory'
&sampleSize,
&rejectDetail
);
std::cout << "Swipe processed - Unit ID: " << unitId << "\n";
if(FAILED(hr))
{
if(hr == WINBIO_E_BAD_CAPTURE)
std:: cout << "Bad capture; reason: " << rejectDetail << "\n";
else
std::cout << "WinBioCaptureSample failed.hr = 0x" << std::hex << hr << std::dec << "\n";
if(sample != NULL)
{
WinBioFree(sample);
sample = NULL;
}
if(sessionHandle != NULL)
{
WinBioCloseSession(sessionHandle);
sessionHandle = NULL;
}
return hr;
}
}
Вы не открыли сеанс с помощью WinBioOpenSession – alangab
Он уже открыт, но только для того, чтобы сделать код короче, я его не добавил. –
Я использую тот же код в этом примере: https://github.com/djbozkosz/Windows-Biometric-Framework-FingerPrint-Example –