Windows 生体認証フレームワーク API 関数の以前の呼び出しによって、クライアント アプリケーションに割り当てられたメモリを解放します。 Windows 10 ビルド 1607 以降では、この関数はモバイル イメージで使用できます。
構文
HRESULT WinBioFree(
[in] PVOID Address
);
パラメーター
[in] Address
削除するメモリ ブロックのアドレス。
戻り値
関数が成功すると、S_OKが返されます。 関数が失敗した場合は、エラーを示す HRESULT 値を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
| リターン コード | Description |
|---|---|
|
Address パラメーターを NULL にすることはできません。 |
注釈
Windows 生体認証フレームワーク API の複数の関数は、クライアント アプリケーションのメモリを割り当て、そのメモリのアドレスをクライアントに渡します。 メモリ リークを防ぐには、 WinBioFree を呼び出して、含まれている情報を使用してブロックを削除する必要があります。 メモリを削除するには、そのアドレスを WinBioFree に渡します。 アドレスを見つけるには、次の各関数で適切なパラメーターで指定されたポインターを参照解除します。
| 機能 | パラメーター | 割り当てられたブロックの種類 |
|---|---|---|
| WinBioCaptureSample | サンプル | 構造 |
| WinBioEnumBiometricUnits | UnitSchemaArray | 構造体の配列 |
| WinBioEnumDatabases | StorageSchemaArray | 構造体の配列 |
| WinBioEnumEnrollments | SubFactorArray | 整数の配列 |
| WinBioEnumServiceProviders | BspSchemaArray | 構造体の配列 |
| EventCallBack | イベント | 構造 |
| CaptureCallback | サンプル | 構造 |
例示
次の関数は 、WinBioEnumBiometricUnits を呼び出して、インストールされている生体認証センサーを列挙し、 WinBioFree を呼び出して 、WinBioEnumBiometricUnits によって作成されたメモリを解放します。 Winbio.lib スタティック ライブラリにリンクし、次のヘッダー ファイルを含めます。
- Windows.h
- Stdio.h
- Conio.h
- Winbio.h
HRESULT EnumerateSensors( )
{
HRESULT hr = S_OK;
PWINBIO_UNIT_SCHEMA unitSchema = NULL;
SIZE_T unitCount = 0;
// Enumerate the installed biometric units.
hr = WinBioEnumBiometricUnits(
WINBIO_TYPE_FINGERPRINT, // Type of biometric unit
&unitSchema, // Array of unit schemas
&unitCount ); // Count of unit schemas
if (FAILED(hr))
{
wprintf_s(L"\nWinBioEnumBiometricUnits failed. hr = 0x%x\n", hr);
goto e_Exit;
}
e_Exit:
// Free memory.
if (unitSchema != NULL)
{
WinBioFree(unitSchema);
unitSchema = NULL;
}
return hr;
}
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 7 [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | winbio.h (Winbio.h を含む) |
| Library | Winbio.lib |
| DLL | Winbio.dll |