2025年1月
 1234
567891011
12131415161718
19202122232425
262728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 103,623 アクセス


ADM 4.1.0.RLQ1 VirtulBox …

時々ある ことなので驚きはしないが…
ADM 4.1.0.RLQ1 にアップデートして VirtualBox の仮想マシンがうまく起動しなくなった.


Failed to open/create the internal network ‘HostInterfaceNetworking-eth0’ (VERR_SUPDRV_COMPONENT_NOT_FOUND). Failed to attach the network LUN (VERR_SUPDRV_COMPONENT_NOT_FOUND). One of the kernel modules was not successfully loaded. Make sure that VirtualBox is correctly installed, and if you are using EFI Secure Boot that the modules are signed if necessary in the right way for your host system. Then try to recompile and reload the kernel modules by executing ‘/sbin/vboxconfig’ as root (VERR_SUPDRV_COMPONENT_NOT_FOUND)
ADM 4.1.0.RLQ1 で VirtualBox の仮想マシンがうまく起動しなくなった?


設定があるのかもしれないが,検索してもちょっとわからない.
最近の ADM アップデートはあまり安定していない気がする.
それとも,数日仮想マシンを起動していなかったので,どこか弄ってしまったか?


2022/10/05
対応版が出たみたい.
ASUSTOR NAS VirtualBox 6.1.32.r3
うまく起動する様になった.

Is this 投稿 useful? Useful Useless 1 of 1 people say this 投稿 is useful.

Windows シンボリック リンク

何年か前から VC のビルドでの出力先を C:\Temp 以下に指定している.
c:\Temp\i_Tools\i3DV\Release.060
VC 6  出力ファイル設定
VC 7 以降では次の様な感じ.
c:\Temp\i_Tools\$(ProjectName)\$(ConfigurationName).070
c:\Temp\i_Tools\$(ProjectName)\$(Configuration).143\$(Platform)\
これで,どの環境でビルドしてもそれなりに動作する様にしている.
共通のソースは NAS でドライブとして割り当て,プロジェクトはローカルや NAS .
また,出来上がった exe は CopyNewF.exe でコピーしている.
新しいファイルのコピー


Win10 に VC 6 を入れているが,メイン環境に SP6 が当てられない.仮想環境ではうまく入ったマシンもある.
単体テストの範囲ではメイン環境の VC 6 RTM で問題ないが,リリースビルドでうまくない現象がある.
VS 6 RTM bug … ?


これらのことがあり VC 6 でビルドした結果を,メイン PC の C:\Temp\ 以下にまとめられないかと…
また,近いうちに PC が新しく入る予定だが,SSD の容量がそれほど多くないのでそれを含めてのもの.
仮想環境でホスト PC の \\Z170S0\C_Temp を o:\ として割り当てている.
次の様な指定で,仮想環境で o:\ を C:\Temp としてのシンボリック リンクを作成.
mklink /D c:\Temp o:\
これで意図した通りに動作する様にはなったが,デバッグ版では互換性がないみたいでうまくテストできない.


結局ホストの追加のドライブを指定することに.
mklink /D c:\Temp e:\C_Temp.VC6
mklink /d c:\Temp e:\C_Temp.VC6
これで暫く使ってみる.


今までショートカット lnk を使ってきたが,置き換えができそうな所がありテスト的に設定.

D:\Tmp_link>mklink /D .\D2_i_u \\DS220\web\i_Tools\upload\share
.\D2_i_u <<===>> \\DS220\web\i_Tools\upload\share のシンボリック リンクが作成されました

D:\Tmp_link>mklink /D .\D2_T_u \\DS220\web\Test\upload
.\D2_T_u <<===>> \\DS220\web\Test\upload のシンボリック リンクが作成されました

D:\Tmp_link>mklink /D .\D1_i_u \\DS116\web\i_Tools\upload\share
.\D1_i_u <<===>> \\DS116\web\i_Tools\upload\share のシンボリック リンクが作成されました

D:\Tmp_link>mklink /D .\D1_T_u \\DS116\web\Test\upload
.\D1_T_u <<===>> \\DS116\web\Test\upload のシンボリック リンクが作成されました

D:\Tmp_link>dir
 ドライブ D のボリューム ラベルは ボリューム です
 ボリューム シリアル番号は B630-F57A です

 D:\Tmp_link のディレクトリ

2022/09/28  17:31    <DIR>          .
2022/09/28  17:31    <DIR>          ..
2022/09/28  17:30    <SYMLINKD>     D1_i_u [\\DS116\web\i_Tools\upload\share]
2022/09/28  17:31    <SYMLINKD>     D1_T_u [\\DS116\web\Test\upload]
2022/09/28  17:30    <SYMLINKD>     D2_i_u [\\DS220\web\i_Tools\upload\share]
2022/09/28  17:30    <SYMLINKD>     D2_T_u [\\DS220\web\Test\upload]
               0 個のファイル                   0 バイト
               6 個のディレクトリ  435,247,796,224 バイトの空き領域

D:\Tmp_link>

mklink /D .\D2_i_u \\DS220\web\...
エクスプローラでは次の様に見える.
エクスプローラ  D:\Tmp_link\
ジャンクション名をクリックした時の動作が,微妙に異なることがある様に感じる.
リンク先に切替わったり,そのまま展開されたりする.
ある程度意図したことができる様なので,これもこのまま使用してみる.


2022/10/21
新しい Win11 PC の C ドライブを圧迫しないため,次の様にして NAS 上に置くことにした.
mklink /D C:\Temp \\AS5202T\Temp\C_Temp
NAS の再起動などを意識する必要はあるが,速度なども含め,今の所問題はなさそう.
それでちょっとした違いを見つけた.
シンボリックリンクでエクスプローラの表示が異なる

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC 14 以降の CCheckListBox で…

何年か前,幾つかのプロジェクトを VC 14 に対応しようとして CCheckListBox の表示がうまくなかった.
CCheckListBox  VC 2015 スタティックリンク
CCheckListBox を使っているプロジェクトは限られているので,~MFC 12 にしていた.


今回 いろいろとあり VC 2017 ~ 2022 に対応することに.
MFC が更新されているのかわからないが,以前のものより少し動作は良くなっている?
相変わらず,表示直後にずれているのと,高さが MFC 12 以前に比べ詰まっている.
CCheckListBox VC 2015 でビルドし直したもの


MFC CCheckListBox ずれる」で検索すると,OnInitDialog() などで 高さを指定 すれば良いとあった.

{
	CRect	rect ;
	m_CtrlSExtDllNow.GetWindowRect(&rect) ;		//	他のコントロールの高さを利用
	m_CtrlListSExt.SetItemHeight(0,rect.Height()) ;
	}

面倒だったのでエディットボックスの高さを利用している.
これで MFC 12 などで作成したものと同じ様な表示になった.
CCheckListBox  SetItemHeight を追加

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

ADM DataSync Center

久しぶりに ASUSTOR NAS 上で C++ のコードを試そうと思い見ていると…
共通のコードが古い.丁度 1 年前の更新で止まっている.
他の QNAP NAS などは,正しく更新されている.
ある程度区切りの良い状態で「Google ドライブ」に更新して,それぞれの NAS の同期機能でコピーしている.
この様にすることで,自動バックアップと NAS 上の共通コードの更新を行っている.
QNAP NAS HBS 3


今まで ASUSTOR NAS では「DataSync for GoogleDrive」を使用してきた.
ADM DataSync for GoogleDrive
が,起動しようとすると「ロード中」となって,表示が変わらなくなりうまく動作しない.
App Central を見ても,なさそう.DataSync Center になったみたい.


「DataSync Center」のインストール.
ASUSTOR NAS  DataSync Center インストール
「DataSync Center 」を起動して「Googleドライブ」に「チェック」.
「同期設定をインポートします」にカーソルを合わせると,
DataSync for GoogleDrive からの同期データは,DataSync Center にインポートすることができます.
「Googleドライブ から NAS へ」を指定.
Googleドライブ から NAS へ
同期するパスの指定.ここでは Public なども指定できるので,Home への依存はなくなったみたい.
ASUSTOR NAS DataSync Center 同期パスの指定
あとはそのまま受け入れると同期が始まる.
DataSync Center 「同期中」


同期には 4 時間程度かかった.
また,Synology NAS と同様で,SmpTxt.zip などはコピーされない.
SmpTxt.zip などがダウンロードできない
原因は Release.060/SmpTxt.exe によるもの.
このあと,これらのファイルを更新予定.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

error LNK2019 : … _GdiplusStartup

VC 6 で作成したプロジェクトを VC 8 に上げてビルドすると…

------ ビルド開始: プロジェクト: DocTh, 構成: Debug Win32 ------
リンクしています...
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipCreateSolidFill@8 が関数 "public: __thiscall Gdiplus::SolidBrush::SolidBrush(class Gdiplus::Color const &)" (??0SolidBrush@Gdiplus@@QAE@ABVColor@1@@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipDeleteBrush@4 が関数 "public: virtual __thiscall Gdiplus::Brush::~Brush(void)" (??1Brush@Gdiplus@@UAE@XZ) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipCloneBrush@8 が関数 "public: virtual class Gdiplus::Brush * __thiscall Gdiplus::Brush::Clone(void)const " (?Clone@Brush@Gdiplus@@UBEPAV12@XZ) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipFree@4 が関数 "public: static void __cdecl Gdiplus::GdiplusBase::operator delete(void *)" (??3GdiplusBase@Gdiplus@@SAXPAX@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipAlloc@4 が関数 "public: static void * __cdecl Gdiplus::GdiplusBase::operator new(unsigned int)" (??2GdiplusBase@Gdiplus@@SAPAXI@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipCreateLineBrushI@24 が関数 "public: __thiscall Gdiplus::LinearGradientBrush::LinearGradientBrush(class Gdiplus::Point const &,class Gdiplus::Point const &,class Gdiplus::Color const &,class Gdiplus::Color const &)" (??0LinearGradientBrush@Gdiplus@@QAE@ABVPoint@1@0ABVColor@1@1@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipCreateFromHDC@8 が関数 "public: __thiscall Gdiplus::Graphics::Graphics(struct HDC__ *)" (??0Graphics@Gdiplus@@QAE@PAUHDC__@@@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipDeleteGraphics@4 が関数 "public: __thiscall Gdiplus::Graphics::~Graphics(void)" (??1Graphics@Gdiplus@@QAE@XZ) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipSetSmoothingMode@8 が関数 "public: enum Gdiplus::Status __thiscall Gdiplus::Graphics::SetSmoothingMode(enum Gdiplus::SmoothingMode)" (?SetSmoothingMode@Graphics@Gdiplus@@QAE?AW4Status@2@W4SmoothingMode@2@@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipFillRectangle@24 が関数 "public: enum Gdiplus::Status __thiscall Gdiplus::Graphics::FillRectangle(class Gdiplus::Brush const *,float,float,float,float)" (?FillRectangle@Graphics@Gdiplus@@QAE?AW4Status@2@PBVBrush@2@MMMM@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipFillRectangleI@24 が関数 "public: enum Gdiplus::Status __thiscall Gdiplus::Graphics::FillRectangle(class Gdiplus::Brush const *,int,int,int,int)" (?FillRectangle@Graphics@Gdiplus@@QAE?AW4Status@2@PBVBrush@2@HHHH@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdipFillPie@32 が関数 "public: enum Gdiplus::Status __thiscall Gdiplus::Graphics::FillPie(class Gdiplus::Brush const *,float,float,float,float,float,float)" (?FillPie@Graphics@Gdiplus@@QAE?AW4Status@2@PBVBrush@2@MMMMMM@Z) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdiplusStartup@12 が関数 "public: static int __cdecl UseGdiPlus::Startup(void)" (?Startup@UseGdiPlus@@SAHXZ) で参照されました。
ComNGP01.obj : error LNK2019: 未解決の外部シンボル _GdiplusShutdown@4 が関数 "public: static int __cdecl UseGdiPlus::Shutdown(void)" (?Shutdown@UseGdiPlus@@SAHXZ) で参照されました。
c:\Temp\iShellE\DocTh\Debug.080/DocTh.exe : fatal error LNK1120: 外部参照 14 が未解決です。
DocTh - エラー 15、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

ドキュメントに対する EMF  VC 8
リンク対象に Gdiplus.lib を追加して対応.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VirusTotal SmpTxt.exe

Synology NAS の Cloud Sync のログに,ダウンロードできないファイルが幾つかあった.
対象のファイルは SmpTxt.zip で,その中の SmpTxt.exe がうまくない様子.
VC 6 でビルドしたものがマルウェアなどとして検出されている.VC 8 でビルドしたものは問題ない.
VirusTotal  SmpTxt.exe
Vector に登録できているので誤検出だろうと思うが,どうしたものか.
i_ShellExt 未定義ドキュメントのサムネイルを表示可能に


2022/09/22
VC のバージョンをあげて対応することに.また SmpTxt.zip 内の VC 6 版は削除予定.


2022/09/26
SmpTxt_2022_09.zip

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

SSD の温度が高くなった?

昨日の午後になって,SSD の温度がいつもより高いことに気づいた.
SSD の温度
今まで,使っていない時は 50~60℃位だったのが,70℃以上になっている.


最近の更新は,SSD のファームのアップデートと,月齢の Windows Update .
どちらかが影響しているものと思われるが,何とも言えない?
表示だけの問題であれば良いが…


PC の電源を落として,朝,再起動.
今の所,50℃台で安定している.何だったのだろう?

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

NAS ファイアウォール設定

以前から phpMyAdmin を狙ったアクセスが多い.
見つけると IP の範囲で Synology NAS のファイアウォールに追加してきた.
その影響かどうかわからないが WordPress などへのアクセスが減った気がする.
日本からの 443 を許可する設定を追加してみた.
Synology NAS ファイアウォール設定 日本を「許可」
これでアクセスが増えると良いが…

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

WebGL Three.js r144

久しぶりに Three.js を更新しようかと…
いつものデータを r144 に書き換えて…

r131 と比べると,オブジェクトが暗い.


サンプルのデータを見ると mtl が変更されている.


ライブラリの変更履歴 を見ると 136 → 137 で変更されている.
r136 までにして,この辺りが更新された時に見直すこととするか?

three.js   r144 と r131

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

CHttpFile Read

何年か前に Web 上の html読み取るコード を書いた.
それを 今回書き直し


これらのコードでは「シフトJIS」で書かれたページ以外ではうまく処理できない?
以前利用した時は IIS のサーバで,html 内の一部のコードを読み取るだけなので,特に問題にはならかなった.
今回も,単純に html が更新されたかどうかだったので,それなりに処理できていた.


今度は,html だけでなく画像などバイナリにも対応したくなった.
favicon.ico
CInternetFile::ReadString の部分を

	{
		CString	buf ;
		while	(pFile->ReadString(buf)) {
			tstring	tmp = ::To_tstring(LPCSTR(LPCTSTR(buf))) ;
			r_buf.push_back(tmp) ;
			}
		read_dt = ::String_Join_Line(r_buf) ;
		}

CInternetFile::Read に変更.

	{
		FILE*	ofp = ::Open_File(dt_file.c_str(),_T("wb")) ;
		v_char	readBuf ;	readBuf.resize(1024) ;
		while	(true) {
			UINT	r_size = pFile->Read(&readBuf[0],1024) ;
			::fwrite(&readBuf[0],1,r_size,ofp) ;
		//	if (r_size < 1024)
			if (r_size < 1)
			{
				break ;
				}
			}
		::fclose(ofp) ;
		}

I_Read.hxx

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

QNAP NAS に接続できなくなった

QNAP NAS からのメール.


[Warning][QuFirewall] Notification from your device: TS253D
NAS Name: TS253D
Severity: Warning
Date/Time: 2022/09/06 18:51:01
App Name: QuFirewall
Category: Firewall Events
Message: [QuFirewall] Reached alert message threshold. Threshold value: 300, Time interval: 2022-09-06 18:20:01 ~ 2022-09-06 18:51:01.
©2022 QNAP Systems, Inc.


IPv6 でのアクセス拒否が増えたみたいで,LAN 内など通すもの以外を「拒否」に設定変更.
これがいけなかった.設定を間違えてしまったみたいで,IPv6 側の先頭にすべてを拒否する様に指定してしまった.
実際は下の方に登録したつもりだったが,間違って上の方にも入力してしまった.


すると,QTS を含むすべてのアクセスができなくなってしまった.
スマートフォンの Qmanager もつながらない.Qfinder でも見つからない.SSH 接続も不可.


対応方法を検索すると次の様なものが見つかった.
After install QuFirewall i am not able to access the NAS
QNAP FinderでTurbo NASを検出できません。IPアドレスをブラウザに直接入力してもアクセスできません。


が,異なる方法で試してみた.
電源ボタンを 1.5 秒押して,一度シャットダウン.
しばらくおいて,電源 ON .
30 秒程度すると,Qfinder で見える様になった.
Qfinder Pro 7.8.1
ブラウザで QTS を起動し「QuFirewall」を起動.
間違って登録してしまったガードを一時的に無効にして「適用」.
ここまでを QuFirewall の動作が始まる前に完了しなければならない.
あとは,幾つかの設定を見直し.


実際は,うまくタイミングが合わず,3 回位やり直しています.
うまくできない場合は「AppCenter」で「QuFirewall」を「削除」して,最初から設定し直す必要があります.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

[Error][Multimedia Console]

メールをチェックしていると,QNAP NAS からのメール…
[Error][Multimedia Console] デバイスからの通知: TS253D
NAS 名: TS253D
重大度: Error
日付/時刻: 2022/09/05 02:10:53
アプリ名: Multimedia Console
カテゴリー: データベース
メッセージ: [Multimedia Console] データベースの修復に失敗しました。データベースが破損しており、修復できません。[Multimedia Console] > [インデックス] > [再インデックス化] でマルチメディアコンテンツデータベースを再構築してください。
[Error][Multimedia Console] デバイスからの通知: TS253D
「QuLog Center」にエラーログは残っているが「Multimedia Console」には特にそれらしい表示はない.
「QuMagie」などでも特に問題と思われる現象はなさそう.
「再起動」をスケジュール しているので,その影響か?


2022/09/07
NAS を再起動したら,また同じメッセージが送られてきた.
メッセージにある様に「再インデックス化」することに.


2022/09/08
インデックスはできていると思うが,NAS の再起動時また記録されてしまう.


2022/09/09
「Multimedia Console」の更新版(2.0.1)があったので更新.
これで状況はよくなるか?


2022/09/16
Multimedia Console 2.0.0 が原因だったものと思われる.
QuLog Center  Multimedia Console

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

GetActiveView

いつも面倒と思う CView の取得.
https://dev.mish.work/wordpress/2022/05/20/drop-lnk-on-mdi-exe/
普通は,CDocument から CView を操作することはあまりないものと思う.
が,今回はテスト用のコードで CView での表示情報を更新したくなった.

	{
		CFrameWnd*	pFrameWnd    = (CFrameWnd*)AfxGetMainWnd() ;
		CFrameWnd*	pActiveFrame = pFrameWnd->GetActiveFrame() ;
		{
			CXxxView*	pView = (CXxxView*)pFrameWnd->GetActiveView() ;
			if (pActiveFrame != NULL) {
					pView = (CXxxView*)pActiveFrame->GetActiveView() ;
				}
			if (pView != NULL) {
				PartsA	sel_pa = *(pView->GetSelectP()) ;
				{
					PartsA	err_pa = ::xx_get_error_xx(...) ;
					sel_pa += err_pa ;
					}
				*(pView->GetSelectP()) = sel_pa ;
				}
			}
		UpdateAllViews(NULL) ;
		}

それを関数に.

CView*	Get_active_view	(void)
{
	CFrameWnd*	pFrameWnd    = (CFrameWnd*)AfxGetMainWnd() ;
	CFrameWnd*	pActiveFrame = pFrameWnd->GetActiveFrame() ;
	{
		CView*	pView = pFrameWnd->GetActiveView() ;
		if (pActiveFrame != NULL) {
				pView = pActiveFrame->GetActiveView() ;
				}
		return	pView ;
		}
	return	NULL ;
	}

Get_active_view

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

クリップボード ビューア

以前まとめたもの.
ClipView.doc


MSDNのドキュメントは,”Creating a Clipboard Viewer Window” で見つかる.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms649016.aspx
mk:@MSITStore:j:\MSDN\ipc.chm::/hh/winbase/clipbrd_47ok.htm

WM_CREATE ビューアとしての登録
NextWnd = ::SetClipboardViewer(hWnd) ;

WM_DESTORY ビューアの登録解除
::ChangeClipboardChain(hWnd,NextWnd) ;

WM_CHANGECBCHAIN 他のビューアが登録解除された
if ((HWND)wParam == NextWnd) { NextWnd = (HWND)lParam ; }
else if (NextWnd != NULL) { ::SendMessage(NextWnd,uMsg,wParam,lParam) ; }

WM_DRAWCLIPBOARD クリップボードの内容が更新された
// 描画または相当の動作
if (NextWnd != NULL) { ::SendMessage(NextWnd,uMsg,wParam,lParam) ; }


Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Authentication for … failed.

ASUSTOR NAS からのメール.
This is a system event notification sent from AS5202T.
Event Level: WARNING
Date: 2022/08/13 00:00
User: SYSTEM
Event: [Certificate Manager] Authentication for mish.myasustor.com failed.
Event: [Certificate Manager] Authentication for mish.myasustor.com failed.


NAS の ADM に入って「設定」-「証明書管理者」.
「mish.myasustor.com」を選んで「編集」.「証明書を更新」.
ASUSTOR NAS  手動での「証明書を更新」
何故かうまく更新できない.QNAP NAS の方はうまく更新されている.


回数制限に引っ掛かってしまったので後日.
ポートフォワーディングの設定?
それとも,他ユーザによる myasustor.com での制限


2022/08/19
回数制限が解除された?みたいで,再度「証明書を更新」.
設定を適用できません。 再試行してください。 (Ref. 5401)
うまく更新できない.
そのうち,また回数制限に.


ASUSTOR のコミュニティサイトで,同様の投稿があった.
設定を適用できません。 再試行してください。 (Ref. 5401)
ひょっとして,どこかの不具合?


2022/08/23
Let’s Encrypt から次のメールが届いた.
Let’s Encrypt certificate expiration notice for domain “as.mish.work” (and 1 more)
Let’s Encrypt Expiry Bot
Hello,
Your certificate (or certificates) for the names listed below will expire in 17 days (on 10 Sep 22 07:26 +0000). Please make sure to renew your certificate before then, or visitors to your web site will encounter errors.
We recommend renewing certificates automatically when they have a third of their total lifetime left. For Let’s Encrypt’s current 90-day certificates, that means renewing 30 days before expiration. See https://letsencrypt.org/docs/integration-guide/ for details.
as.mish.work
mish.myasustor.com
For details about when we send these emails, please visit: https://letsencrypt.org/docs/expiration-emails/ In particular, note that this reminder email is still sent if you’ve obtained a slightly different certificate by adding or removing names. If you’ve replaced this certificate with a newer one that covers more or fewer names than the list above, you may be able to ignore this message.
For any questions or support, please visit: https://community.letsencrypt.org/ Unfortunately, we can’t provide support by email.
If you are receiving this email in error, unsubscribe at:
http://delivery.letsencrypt.org/track/unsub.php?u=30850198&id=82858f9794a44c0f8e72a5c25c74eb4d.WZdjCQO96%2FOPKKnNcXSSJq4c5Ck%3D&r=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3Di%252A%252A%252A%252A%2540a%252A%252A%252A%252A.%252A%252A%252A
Please note that this would also unsubscribe you from other Let’s Encrypt service notices, including expiration reminders for any other certificates.
Regards,
The Let’s Encrypt Team


2022/08/28
今日も「証明書を更新」が押せるようになったが,また回数制限に.
それで,いろいろと調べていて,LAN 内であれば mish.myasustor.com にアクセスできることは確認した.
WAN から(スマートフォンの回線で現状は IPv4 接続)はアクセスできない.
nslookup で見ると IPv4 のアドレスが表示されない.
先日の ADM のアップデートで IPv6 がサポートされるようになり,その影響か?
一度「設定」-「ネットワーク」-「一般」の「IPv6を有効にする」のチェックを外して,付け直し.
それにより,IPv4 での接続ができるようにはなった.
nslookup mish.myasustor.com


2022/09/05
IPv4 で外から接続できることを確認して「証明書を更新」してみたが,これでもうまくいかない.
「ポートフォワーディング」を設定して NAS に転送する様にしても特に変わらず.


2022/09/12
今度は「新しい証明書を作成する」でやってみた.
すると「サブジェクトの別名」を指定しなければうまくいく.
「サブジェクトの別名」で「as.mish.work」を指定した場合に,うまくたどり着けない?
別の証明書として,as.mish.work を登録することにした.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

CWinApp::m_pszAppName

今更の内容ではあるが…
MFC の SDI や MDI で,アプリケーション名は,作成したプロジェクト名?になる.
ダイアログベースで作成した場合は exe 名になってしまう.
困ることがあるのが exe 名を変更した場合のレジストリキー.


CWinApp::m_pszAppName はヘルプにある様に,AFX_IDS_APP_TITLE がなければ exe 名となる.
CWinApp:: m_pszAppName
コードは MFC 6 のものだが,MFC 14.3 でも同様.
CWinApp::SetRegistryKey で m_pszAppName を利用している.
exe 名と異なるものを使用する場合,リソースの AFX_IDS_APP_TITLE を変更するか,なければ追加すれば良い.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC 2022 ビルドでエラー

VC 2022 でビルドしようとすると,次の様なエラー.
—————————
Microsoft Visual Studio
—————————
オブジェクト参照がオブジェクト インスタンスに設定されていません。
—————————
OK
—————————
オブジェクト参照がオブジェクト インスタンスに設定されていません。
プロジェクトの設定などを見直しても特に怪しい部分はなさそう.
ビルド時に生成される幾つかのファイルを手動で削除しても特に変わらない.


さっきまで動作していた VC 2019 も同様のエラーに.
以前うまく動作しているはずのプロジェクトをコピーして,ビルドしようとしても同様.
こうなると,プロジェクトの設定ではなく,環境っぽい.


PC を再起動してうまく動作する様になった.

Is this 投稿 useful? Useful Useless 1 of 1 people say this 投稿 is useful.

…\System32\MicrosoftEdgeCP.exe

…\System32\MicrosoftEdgeCP.exe が存在するのに,stat などでうまく読み取れない.


ファイルが存在しているかどうかをチェックするために,CFileStatus などを利用している.
CFileStatus::GetStatus() で,幾つかのファイルが正しくチェックできない.
コードをデバッガで追いかけていくと,::FindFirstFile で INVALID_HANDLE_VALUE となってしまう.
検索 すると次の様なものがあった.
FindFirstFile関数はx64環境においてシステムファイルが検索できない?
x86 の場合次のものを呼出して切替える必要があるみたい.
Wow64DisableWow64FsRedirection
Wow64RevertWow64FsRedirection
File System Redirector
FindFirstFile ... INVALID_HANDLE_VALUE


今回 ::GetFileVersionInfo から始まって いろいろとあったのでメモ.

Is this 投稿 useful? Useful Useless 0 of 1 people say this 投稿 is useful.

VC 14 以降での stat.c の場所

VC 14 以降,<sys/stat.h> 関係が大きく変更されている?
CFileStatus でアサート


今回 stat 関数内をデバッグしようとしていて,ソースの場所がすぐにわからなかった.

#ifdef		_MSC_VER
#define		s_stat		struct	_stati64
#define		TSTAT		_tstati64
#else
#define		s_stat		struct	stat
#define		TSTAT		stat
#endif

VC 12 以前は,(VS)\VC\crt\src\ 以下に存在する.


VC で,#include <sys/stat.h> としている所を「右クリック」-「ドキュメント<sys/stat.h>を開く」.
その位置を幾つか上に行って,Include の並びに Source があり,その対応する所に存在する.
VC 14 以降の C ランタイムのソースの場所
VC 2015 以降のどれかで対応がつくと,それ以外でも対応したもの(10.0.?????.0)が開かれる?


Is this 投稿 useful? Useful Useless 1 of 1 people say this 投稿 is useful.

NAS OpenVPN サーバ設定

以前 ASUS ルータ設定 したが,最近安定しないので NAS で設定した.
OpenVPN の設定手順は次の様なもの.
1. VPN サーバで OpenVPN の有効化と設定.
2. .ovpn ファイルの出力.
3. .ovpn ファイルの編集.
4. OpenVPN が NAS に到達できる様に,ルータやファイアウォールを設定.
5. OpenVPN クライアント で .ovpn ファイルを取り込み.
6. クライアントから「接続」.


Synology NAS
「パッケージセンター」で「VPN Server」を「インストール」.
Synology NAS VPN Server
追加された「VPN Server」を起動.
「OpenVPN」を選んで「OpenVPN サーバーを有効にする」にチェック.
この時「ポート」は「1194」から変更(例えば 51234 )して,「適用」.
Synology NAS OpenVPN 設定
これで「エクスポート設定」が押せるようになる.
出力した .ovpn を「メモ帳」などで開いて編集.
先頭の方にある次の行の「YOUR_SERVER_IP」を変更.
remote YOUR_SERVER_IP 51234
remote 27.92.xxx.xxx 51234
DDNS を使用している場合は xxx.myds.me などの指定も可能.
Synology NAS  .ovpn ファイル
私の場合,動作確認のために 192.168.0.xxx の .ovpn も用意している.
OpenVPN  スマートフォンで .ovpn の取り込み
OpenVPN クライアントでの接続時の「ユーザ名」などは,NAS のユーザ情報が利用される.
ルータのポートの設定は次の様なものを追加.
Synology NAS  OpenVPN  ポートマッピング


ASUSTOR NAS
「App Central」で「VPN Server」を「インストール」.
ASUSTOR NAS  VPN Server
「VPN Server」を起動して「OpenVPN」を「ON」に.
「権限」で「ユーザー」を「追加」,「適用」.
「設定」-「OpenVPN」で「ポート」などを変更し「構成ファイルのダウンロード」.
ASUSTOR NAS  OpenVPN 設定
.ovpn 内の OPENVPN_SERVER_IP を変更.
後は同様に OpenVPN クライアントで取り込めば良い.


QNAP NAS
「App Center」で「QVPN Service」を「インストール」.
QNAP NAS  QVPN Service
「QVPN Service 3」を開いて「OpenVPN」の設定.
QNAP NAS OpenVPN 設定
「設定ファイルのダウンロード」したファイルを OpenVPN クライアントへ.


2023/01/29
Synology NAS で「サーバーCNを認証」にチェックを入れているとエラーになることがある様です.
Android から Synology VPN Server に接続できない

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.