ソース文字列からバッファに指定数の文字をコピーする。警告 使用しないこと。(Unicode)
lstrcpynW lpString1, lpString2, iMaxLength
lpString1 : [wstr] 型: LPTSTR コピーされた文字を受け取る宛先バッファ。終端 NULL の領域も含めて iMaxLength で指定された TCHAR 値を格納するのに十分な大きさが必要。 lpString2 : [wstr] 型: LPCTSTR コピー元の文字列。 iMaxLength : [int] 型: int 終端 NULL を含めて、lpString2 が指す文字列から lpString1 が指すバッファにコピーする TCHAR 値の数。
(プラグイン / モジュール : kernel32.dll)
ソース文字列からバッファに指定数の文字をコピーする。警告 使用しないこと。(Unicode) [戻り値] 型: LPTSTR 関数が成功した場合、戻り値はバッファへのポインタ。ソース文字列が iMaxLength より長くても成功する。関数が失敗した場合、戻り値は NULL で、lpString1 は NULL 終端されていない可能性がある。 [備考] lpString1 が指すバッファは終端 NULL を含むのに十分な大きさが必要で、iMaxLength で指定された文字列長値には終端 NULL の領域が含まれる。lstrcpyn はソースバッファと宛先バッファが重なる場合の動作が未定義。セキュリティ警告: 本関数を誤って使うとアプリケーションのセキュリティが損なわれる可能性がある。本関数は SEH でアクセス違反などのエラーを捕捉する。SEH エラーを捕捉した場合、NULL 終端せず呼び出し側に通知せずに NULL を返す。lpString1 が指すバッファがコピー文字列を格納するのに十分でない場合、バッファオーバーランが発生し得る。文字列全体をコピーする際、sizeof はバイト数を返すことに注意。たとえば lpString1 が TCHAR szString[100] と宣言された szString1 を指す場合、sizeof(szString1) はバイト単位のサイズとなり、Unicode 版でバッファオーバーフローを引き起こす可能性がある。sizeof(szString1)/sizeof(szString1[0]) を使うと適切なサイズが得られる。代わりに StringCchCopy の使用を検討する。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |