DefineDosDeviceW

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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs