のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

ipad(第6世代) 9.7インチ ペーパーライクシート比較

第6世代のipadを買ったので、保護フィルムをペーパーライクシートにしてみた。

2つのペーパーライクシートを試してみた。
エレコムの方が、なれてない人には、貼りやすいかもしれない。

書き心地は、どちらも良かった。
Webや写真をみたとき、どちらも、少し滲んだように見える。

エレコム iPad Pro 9.7インチ 液晶保護フィルム ペーパーライク 反射・指紋防止 TB-A16FLAPL

書き味向上ペーパーライク 保護フィルム
iPad (第6世代)
Air OverLay Paper OKIPADA/2

www2.elecom.co.jp
www.miyavix.co.jp

_stprintf_s

_stprintf_sでエラー、0xc0000005

tchar.h
Unicodeのとき。
#define _stprintf_s     swprintf_s
swprintf_s
correct_wstdio.h

    #if __STDC_WANT_SECURE_LIB__

        _Success_(return >= 0)
        _CRT_STDIO_INLINE int __CRTDECL swprintf_s(
            _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t*       const _Buffer,
            _In_                                          size_t         const _BufferCount,
            _In_z_ _Printf_format_string_                 wchar_t const* const _Format,
            ...)
        {
            int _Result;
            va_list _ArgList;
            __crt_va_start(_ArgList, _Format);
            _Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
            __crt_va_end(_ArgList);
            return _Result;
        }
    #endif

sizeを引数に渡さないと、UnitTestの関数として動く。

		void LogRtn(const unsigned int rtn, const tstring filename)
		{
			const int BUFFER_SIZE = 256;
			size_t size = BUFFER_SIZE * sizeof(TCHAR);

			TCHAR buf2[BUFFER_SIZE];
			_stprintf_s(buf2, _T("FileName=%s"), filename.c_str());

			TCHAR buf[BUFFER_SIZE];
			_stprintf_s(buf, _T("Rtn=%08X"), rtn);


			Logger::WriteMessage(buf);
		}

sizeをつけると、吹っ飛ぶ。アクセス違反0xC0000005。

		void LogRtn(const unsigned int rtn, const tstring filename)
		{
			const int BUFFER_SIZE = 256;
			size_t size = BUFFER_SIZE * sizeof(TCHAR);

			TCHAR buf2[BUFFER_SIZE];
			_stprintf_s(buf2,size, _T("FileName=%s"), filename.c_str());

			TCHAR buf[BUFFER_SIZE];
			_stprintf_s(buf, size, _T("Rtn=%08X"), rtn);

			Logger::WriteMessage(buf);
		}

よくわからない。
使っている関数と、引数が、あっていないようにみえる。

Windows API Code Pack

PM> Install-Package WindowsAPICodePack-DirectX -Version 1.1.2


'.NETFramework,Version=v4.5' を対象とするプロジェクトに関して、
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' の依存関係情報の収集を試行しています
DependencyBehavior 'Lowest' で
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' の依存関係の解決を試行しています
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' をインストールするアクションを解決しています
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' をインストールするアクションが解決されました
'nuget.org' からパッケージ 'WindowsAPICodePack-DirectX 1.1.2' を取得しています。
  GET https://api.nuget.org/v3-flatcontainer/windowsapicodepack-directx/1.1.2/windowsapicodepack-directx.1.1.2.nupkg
  OK https://api.nuget.org/v3-flatcontainer/windowsapicodepack-directx/1.1.2/windowsapicodepack-directx.1.1.2.nupkg 964 ミリ秒
WindowsAPICodePack-DirectX 1.1.2 をインストールしています。
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' をフォルダー '\packages' に追加しています
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' をフォルダー '\packages' に追加しました
パッケージ 'WindowsAPICodePack-DirectX.1.1.2' を 'packages.config' に追加しました
'WindowsAPICodePack-DirectX 1.1.2' が Viewer に正常にインストールされました
NuGet の操作の実行に 4.6 sec かかりました
経過した時間: 00:00:04.8470212