6-1. アプリケーション API
OmniPassSE 認証ダイアログ
Main Title 表示位置
■API 呼び出し方法
アプリケーションから OmniPassSE の指紋認証機能を呼び出すための準備として、
(1) OmniPassSE をインストールします。
ダイナミックリンクライブラリ OP3INTC.DLL は、OmniPassSE をインストールすると自動 的にコピーされます。
(2) OPINT.LIB ライブラリモジュールをアプリケーションのプロジェクトに追加
スタッティックライブラリ OPINT.LIB は製品添付 CD-ROM の「SDK\Lib」フォルダーに格 納されています。OPINT.LIB をアプリケーションのプロジェクトにコピーし、プロジェクトの 設定より「リンク」ページを開いて、「オブジェクト/ライブラリモジュール(L)」に追加します。
(3) 製品添付 CD-ROM の「SDK\Include」フォルダーに格納されている「OmniPass.h」をアプ リケーションのプロジェクトにコピーし、アプリケーションにインクルードします。
(4) ア プ リ ケ ー シ ョ ン の 初 期 化 部 分 で OP3INTC.DLL が 提 供 す る OPGetChallenge() 、 OPResponse()と OPValidateUser()ファンクションのアドレスを取得します。
以上で、アプリケーションから各 API を呼び出すための準備は完了です。OPValidateUser()の呼び 出しを行うまでのプログラミングフローを次ページに示します。エラー処理等の詳細に関しては、添付 のサンプルソースコード「OPValidate」を参照してください。
ユーザーアプリケーション
BuildResponse() OPGetChallenge() OPResponse() OPValidateUser()
OmniPassSE Static Library OPINIT.LIB
OmniPassSE Dynamic Link Library
OP3INTC.DLL
OmniPassSE Application Kernel
■OmniPassSE インターフェイスアーキテクチャ
終了 認証呼出
OPGetChallenge(NULL, &AllocSize)
pBuf=(PBYTE)malloc(AllocSize)
OPGetChallenge(pBuf, &AllocSize)
BuildResponse(pBuf, &AllocSize)
OPResponse(pBuf, AllocSize)
free(pBuf);
OmniPassSE インストールパス取得
OP3Intc.dll ファンクションアドレス取得 OPValidateUser() OPGetChallenge()
OPResponse()
終了 初期化
■プログラミングフロー
OPValidateUser()
■API インターフェイス仕様
OPValidateUser OmniPassSE 認証ダイアログ表示
DWORD OPValidateUser ( PCHAR UserName, PCHAR authTitle, PCHAR authSubTitle )
認証ユーザー名
認証ダイアログに表示するメインタイトル
-
引数
UserName OmniPassSE 認証を行うユーザー名が格納されているバッファのアドレスを 指定します。ASCII 文字列の終端は NULL ターミネートとしてください。
authTitle OmniPassSE 認証ダイアログのメインタイトルに表示する文字列が格納され ているバッファのアドレスを指定します。
authSubTitle 必ず、NULL を指定してください。
戻り値 この関数は下記の DWORD 値を返します。
OP_RET_USER_VALIDATION_SUCCESSFUL(0) ユーザーが正常に認証されました。
OP_RET_VALIDATE_CALLINGAPP_FAILED(1) 呼び出しアプリケーションが認証されていません。
OPGetChallenge()/OPResponse()でエラーがないか確 認してください。
OP_RET_NOT_INSTALLED(2) OmniPassSE がインストールされていません。
OP_RET_INSTALLATION_CORRUPT(3) OmniPassSE が正しくインストールされていません。
OP_RET_USER_NOT_ENROLLED(4) 指定されたユーザーは OmniPassSE に登録されていま せん。
OP_RET_USER_VALIDATION_FAILED(5) ユーザー認証に失敗しました。
OP_RET_GENERIC_ERROR(6) その他のエラーが発生しました。
解説 OmniPassSE は指定されたユーザーの認証を行います。ユーザー名格納バッファが NULL の場合は、現 在 Windows にログオンしているユーザーの認証を行います。
ユーザー名をセットする場合は、下記のフォーマットで認証を行うユーザーの名前を指定してくだ さい。
ローカルユーザの場合:“.\\ユーザー名”
ドメインユーザの場合:“ドメイン名\\ユーザー名”
OPGetChallenge OmniPassSE 認証初期化Ⅰ
ULONG OPGetChallenge ( PBYTE pBuffer, PULONG pLength )
引数 pBuffer
pLength
アプリケーションでアロケーションしたバッファへのポインタをセットします。
NULL 以外の値がセットされた場合は、格納されるデータの場所を示します。
ULONG データへのポインタをセットします。pBuffer に NULL がセットされている 場合は、このパラメータは無視されます。pBuffer に有効な値がセットされてい る場合は、pBuffer が示すバッファのサイズをセットしてください。関数が正常 に終了した場合は、pBuffer に返されたデータのサイズがセットされます。
戻り値 この関数は下記の ULONG 値を返します。
ERROR_NONE (0x0000) 正常終了したことを示します。
ERROR_INTERNAL (0x00F1) OmniPassSE で内部エラーが発生したことを示します。
ERROR_INVALID_PARAM (0x00F2) 無効なパラメータがセットされたことを示します。
ERROR_INVALID_SIZE (0x00F3) 指定のパラメータが無効であるか、必要となるサイズ を満足していないことを示します。
解説 この関数は OmniPassSE の認証関数 OPValidateUser()を使用する前に、手順に従って 2 回呼び出す必 要があります(API 呼び出しフロー図を参照してください)。初回の呼び出しでは、pBuffer に NULL をセットして呼び出しを行い、pLength に返される必要バッファのサイズを取得します。その後、
pLength で指定された大きさのバッファを確保し、pBuffer に確保したバッファへのポインタ、
pLength には確保したバッファサイズをセットし、再度この関数を呼び出します。関数が正常に終了 した場合は、このバッファに BuildResponse()に引き渡すデータがセットされます。
OPResponse OmniPassSE 認証初期化Ⅱ
ULONG OPResponse ( PBYTE pBuffer, PULONG pLength )
引数
pBuffer
pLength
アプリケーションでアロケーションしたバッファへのポインタをセットします。この バッファには BuildResponse()で返されたデータが格納されている必要があります。
pBuffer に格納された有効データのサイズをセットします。
戻り値 この関数は下記の ULONG 値を返します。
ERROR_NONE (0x0000) 正常終了したことを示します。
ERROR_INTERNAL (0x00F1) OmniPassSE で内部エラーが発生したことを示します。
ERROR_INVALID_PARAM (0x00F2) 無効なパラメータがセットされたことを示します。
ERROR_INVALID_SIZE (0x00F3) 指定のパラメータが無効であるか、必要となるサイズ を満足していないことを示します。
解説 この関数は OmniPassSE 認証関数 OPValidateUser()の初期化処理として使用します。この関数の戻り 値が ERROR_NONE の場合は、OPValidateUser()の呼び出しの準備が整ったことを意味します。
ERROR_NONE 以外の場合は、OPValidateUser()を呼び出すことはできません。
BuildResponse OmniPassSE 認証初期化Ⅲ
ULONG BuildResponse ( PBYTE pBuffer, PULONG pLength )
引数
pBuffer
pLength
アプリケーションでアロケーションしたバッファへのポインタをセットします。この バッファには OPGetChallenge ()で返されたデータが格納されている必要があります。
pBuffer に格納された有効データのサイズをセットします。OPGetChallenge ()で返さ れたデータ長をセットしてください。
戻り値 この関数は下記の ULONG 値を返します。
ERROR_NONE (0x0000) 正常終了したことを示します。
ERROR_INTERNAL (0x00F1) OmniPassSE で内部エラーが発生したことを示します。
ERROR_INVALID_PARAM (0x00F2) 無効なパラメータがセットされたことを示します。
ERROR_INVALID_SIZE (0x00F3) 指定のパラメータが無効であるか、必要となるサイズ を満足していないことを示します。
解説 この関数は OmniPassSE 認証関数 OPValidateUser()の初期化処理として使用します。この関数の戻り 値が ERROR_NONE の場合は、レスポンスバッファ pBuffer が正常にビルドされたことを意味します。
このバッファは、OPResponse()に引き渡してください。
FAX:06-6633-8285
●下記情報をご記入願います。
法 人 登 録 の 方のみ
会社名・学校名 所属部署 ご担当者名
住所 〒
TEL FAX
製品型番 シリアル№
ご購入情報 販売店名 購入日
●下記運用環境情報とお問い合わせ内容をご記入願います。
【パソコン/マザーボードのメーカ名と機種名】
【ご利用の OS】
【OmniPassSE バージョン】
【お問合せ内容】
【添付資料】
個人情報取り扱いについて
ご連絡いただいた氏名、住所、電話番号、メールアドレス、その他の個人情報は、お客様への回答など本件に関わる業務 のみに利用し、他の目的では利用致しません。