PC側 API

ELドングルを PC から操作するための API

ドングルに変更を加える API を呼び出す前に開発者 PINで S4VerifyPin が成功していなければなりません。ドングル内のプログラムを呼び出すにはユーザ PIN でS4VerifyPin が成功していなければなりません

ファイル転送、ディレクトリ作成、PIN変更などは付属ユーティリティプログラムでも行えますが、 ドングル設定を自動化するには、これらの API を呼び出すプログラムを作成しなければなりません。

DWORD S4Enum(SENSE4_CONTEXT* pCtx, DWORD *pdwSize) 接続されているELをすべて列挙して pCtxに返します
DWORD S4Open(SENSE4_CONTEXT* pCtx) pCtx で指定された ELドングルに接続します
DWORD S4OpenEx(SENSE4_CONTEXT* pCtx,
               S4OPENINFO *pInfo)
S4Openと同じですが、接続の共有モードを指定できます
DWORD S4Close(SENSE4_CONTEXT* pCtx) pCtxで指定したドングルの接続を閉じます
DWORD S4Control(SENSE4_CONTEXT* pCtx, 
		DWOD dwCtlCode,
		VOID *pInBuff,
		DWORD dwInBuffLen,
		DWORD *pOutBuff,
		DWORD dwOutBuffLen,
		DWORD *pdwBytesReturned)
pCtxで指定したドングルに制御コードを送ります
  • S4_LED_UP
  • S4_LED_DOWN
  • S4_LED_WINK
  • S4_GET_SERIAL_NUMBER
  • S4_SET_DEVICE_ID
  • S4_RESET_DEVICE
  • S4_SET_HID_MODE
  • S4_GET_CURRENT_TIME 等
DWORD S4CreateDir(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszDirID,
		  DWORD dwDirSize,
		  DWORD dwFlag)
ELのストレージにディレクトリを作成します
DWORD S4CreateDirEx(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszDirID,
		  DWORD dwDirSize,
		  DWORD dwFlag,
		  S4CREATEDIRINFO *pDirInfo)
S4CreateDirと同じですが属性ファイルの指定を行えます
DWORD S4ChangeDir(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszPath)
指定パスをカレントディレクトリにします
DWORD S4EraseDir(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszPath)
指定ディレクトリを削除します
DWORD S4VerifyPin(SENSE4_CONTEXT* pCtx, 
		  BYTE *pbPin,
                  DWORD dwPinLen,
                  DWORD dwPinType)
カレントディレクトリの PIN を確認します
DWORD S4ChangePin(SENSE4_CONTEXT* pCtx, 
		  BYTE *pbOldPin,
                  DWORD dwOldPinLen,
		  BYTE *pbNewPin,
                  DWORD dwNewPinLen,
                  DWORD dwPinType)
カレントディレクトリの PIN を変更します
DWORD S4WriteFile(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszFileID,
                  DWORD  dwOffset,
		  LPVOID lpBuffer,
                  DWORD  dwBufferSize,
                  DWORD  dwFileSize,
                  DWORD  *pdwBytesWritten,
                  DWORD  dwFlag,
                  BYTE   bFileType)
カレントディレクトリのファイルを更新します
DWORD PS4WriteFile(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszFileID,
                  LPCSTR lpszPCFilePath,
                  DWORD  *dwFileSize,
                  DWORD  dwFlag,
                  DWORD  dwFileType,
                  DWORD  *pdwBytesWritten)
S4WriteFileを使ってファイルをELに書き込みます
DWORD S4Execute(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszFileID,
                  LPVOID lpInBuffer,
                  DWORD  dwInBufferSize,
                  LPVOID lpOutBuffer,
                  DWORD  dwOutBufferSize,
                  DWORD  *pdwBytesReturned)
カレントディレクトリの指定 Exfを実行します
DWORD S4ExecuteEx(SENSE4_CONTEXT* pCtx, 
		  LPCSTR lpszFileID,
                  DWORD  dwFlag,
                  LPVOID lpInBuffer,
                  DWORD  dwInBufferSize,
                  LPVOID lpOutBuffer,
                  DWORD  dwOutBufferSize,
                  DWORD  *pdwBytesReturned)
S4Executeと同じですが、実行ファイルの型を指定できます