/// <summary> /// 鍵無し領域への書込み /// </summary> /// <param name="svCode">サービスコード</param> /// <param name="idm">Idm</param> /// <param name="block">ブロックリスト</param> /// <param name="buffer">書込みデータバッファ</param> /// <param name="offset">バッファ内のデータ開始位置</param> /// <param name="length">データの長さ</param> public static void WriteBlockData(ushort svCode, byte[] idm, int[] block, byte[] buffer, int offset, int length) { if (!FelicaHelper.WriteBlockData(svCode, idm, block, buffer, offset, length)) { RaiseException(typeof(FelicaErrorType)); } }
/// <summary> /// 生成 /// </summary> /// <param name="error">FelicaErrorType or FalpErrorType</param> public FelicaException(Object error) : base(FelicaHelper.GetErrorDescription(error)) { if (error is FelicaErrorType) { FelicaError = (FelicaErrorType)error; } else if (error is FalpErrorType) { FalpError = (FalpErrorType)error; } }
/// <summary> /// 鍵無し領域からの読み出し /// </summary> /// <param name="svCode">サービスコード</param> /// <param name="idm">Idm</param> /// <param name="block">ブロックリスト</param> /// <param name="buffer">取得データバッファ</param> /// <param name="offset">保存開始位置</param> public static void ReadBlockData(ushort svCode, byte[] idm, int[] block, byte[] buffer, int offset) { int len; if (!FelicaHelper.ReadBlockData(svCode, idm, block, buffer, offset, out len)) { RaiseException(typeof(FelicaErrorType)); } //読み取りサイズ異常 if (len != BLOCK_LENGTH * block.Length) { throw new FelicaException(FelicaErrorType.FELICA_READ_BLOCK_WITHOUT_ENCRYPTION_ERROR); } }
/// <summary> /// Pollingの実行 /// </summary> /// <param name="sysCode">システムコード</param> /// <param name="idm">Idm</param> /// <returns>T:捕捉, F:捕捉なし</returns> public static bool Polling(ushort sysCode, byte[] idm) { return(FelicaHelper.ReadIdm(sysCode, idm)); }