SysAllocStringByteLen

ANSI 文字列を入力として受け取り、ANSI 文字列を含む BSTR を返す。ANSI から Unicode への変換は行わない。

SysAllocStringByteLen psz, len

psz : [str] コピーする文字列。文字列を未初期化のままにする場合は NULL。
len : [int] コピーするバイト数。後に null 文字が置かれ、合計で len と OLECHAR のサイズを加えたバイト数が割り当てられる。

(プラグイン / モジュール : oleaut32.dll)

解説

ANSI 文字列を入力として受け取り、ANSI 文字列を含む BSTR を返す。ANSI から Unicode への変換は行わない。

[戻り値]
文字列のコピー。操作を完了するためのメモリが不足している場合は NULL。

[備考]
この関数は、バイナリデータを含む BSTR を作成するために提供されている。この種の BSTR は、ANSI から Unicode へ
(またはその逆へ) 変換されない状況でのみ使用できる。例えば、32 ビット Windows システム上で動作する 16
ビットアプリケーションと 32 ビットアプリケーションの間でこれらの BSTR を使用してはならない。OLE の 16 ビットから 32
ビットへの (および 32 ビットから 16 ビットへの) 相互運用層は BSTR
を変換し、バイナリデータを破壊する。バイナリデータを渡すための推奨方法は、OLE によって変換されない VT_UI1 の
SAFEARRAY を使用することである。psz が Null の場合、要求された長さの文字列が割り当てられるが、初期化はされない。文字列
psz は埋め込み null 文字を含むことができ、Null で終わる必要はない。返される文字列は後で SysFreeString
で解放する。

情報

プラグイン / モジュールoleaut32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の oleaut32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_oleaut32_gen2.hs