CreateMailslotW

指定された名前でメールスロットを作成し、メールスロットサーバーが操作に使用できるハンドルを返す。(Unicode)

CreateMailslotW lpName, nMaxMessageSize, lReadTimeout, lpSecurityAttributes

lpName : [wstr] メールスロットの名前。この名前は次の形式でなければならない: \\\\.\mailslot\\[path]name。name フィールドは一意である必要がある。name には、バックスラッシュで区切られた疑似ディレクトリの複数階層を含めてもよい。例えば、\\\\.\mailslot\example_mailslot_name や \\\\.\mailslot\abc\def\ghi はいずれも有効な名前である。
nMaxMessageSize : [int] メールスロットに書き込める 1 メッセージの最大サイズ(バイト単位)。メッセージを任意のサイズにするには、この値をゼロに設定する。
lReadTimeout : [int] タイムアウトが発生する前に、読み取り操作がメールスロットへのメッセージ書き込みを待機できる時間(ミリ秒単位)。以下の値には特別な意味がある。
lpSecurityAttributes : [var] SECURITY_ATTRIBUTES 構造体へのポインタ。構造体の bInheritHandle メンバーが、返されるハンドルを子プロセスが継承できるかどうかを決定する。lpSecurityAttributes が NULL の場合、ハンドルは継承できない。

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

解説

指定された名前でメールスロットを作成し、メールスロットサーバーが操作に使用できるハンドルを返す。(Unicode)

[戻り値]

関数が成功した場合、戻り値はメールスロットへのハンドルで、サーバー側のメールスロット操作で使用する。この関数が返すハンドルは非同期(オーバーラップ)である。関数が失敗した場合、戻り値は
INVALID_HANDLE_VALUE。拡張エラー情報を取得するには GetLastError を呼ぶ。

[備考]
メールスロットは、以下のいずれかの条件が真になるまで存在する:
(以下省略)

情報

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