MS-DOS デバイス名を定義、再定義、または削除する。(DefineDosDeviceW)
DefineDosDeviceW dwFlags, lpDeviceName, lpTargetPath
dwFlags : [int] DefineDosDevice 関数の制御可能な側面。このパラメータ lpDeviceName : [wstr] 関数が定義、再定義、または削除するデバイスを指定する MS-DOS デバイス名文字列へのポインタ。デバイス名文字列は、ドライブ文字を定義、再定義、または削除する場合を除き、最後の文字としてコロンを持ってはならない。たとえばドライブ C なら文字列 "C:" となる。末尾のバックスラッシュ (\\) はいかなる場合も許されない。 lpTargetPath : [wstr] このデバイスを実装するパス文字列へのポインタ。DDD_RAW_TARGET_PATH フラグが指定されていない限り、文字列は MS-DOS パス文字列である。指定されている場合は単なるパス文字列となる。
(プラグイン / モジュール : kernel32.dll)
MS-DOS デバイス名を定義、再定義、または削除する。(DefineDosDeviceW) [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] MS-DOS デバイス名はオブジェクト名前空間内のジャンクションとして格納される。MS-DOS パスを対応するパスに変換するコードは、これらのジャンクションを使って MS-DOS デバイスとドライブ文字をマップする。DefineDosDevice 関数は、MS-DOS デバイス名前空間を実装するために使われるジャンクションをアプリケーションが変更できるようにする。特定の MS-DOS デバイス名の現在のマッピングを取得したり、システムが認識しているすべての MS-DOS デバイスのリストを取得するには、QueryDosDevice 関数を使用する。ブートをまたいで永続的かつネットワーク共有ではないドライブ文字割り当てを定義するには、SetVolumeMountPoint 関数を使用する。マウントするボリュームに既にドライブ文字が割り当てられている場合は、DeleteVolumeMountPoint 関数を使って割り当てを削除する。システムブート時に定義されたドライブ文字とデバイス名は、ユーザーが管理者でない限り再定義および削除から保護される。Windows XP 以降、この関数は "LocalSystem" コンテキストで実行されていない呼び出し側用に、自身の Local MS-DOS デバイス名前空間にデバイス名を作成する。呼び出し側が "LocalSystem" コンテキストで実行されている場合、関数は Global MS-DOS デバイス名前空間にデバイス名を作成する。詳細は Defining an MS DOS Device Name と File Names, Paths, and Namespaces を参照。Windows 8 および Windows Server 2012 では、この関数は次の技術でサポートされる。 (以下省略)
| プラグイン / モジュール | 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 |