SHFormatDrive 関数 (shlobj_core.h)

[SHFormatDrive は、[要件] セクションで指定したオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]

シェルの [書式 ] ダイアログ ボックスを開きます。

構文

DWORD SHFormatDrive(
  [in] HWND hwnd,
       UINT drive,
       UINT fmtID,
       UINT options
);

パラメーター

[in] hwnd

型: HWND

ダイアログ ボックスの親ウィンドウのハンドル。 [ 書式 ] ダイアログ ボックスには親ウィンドウが必要です。そのため、このパラメーターを NULL にすることはできません。

drive

型: UINT

フォーマットするドライブ。 このパラメーターの値は、A: ドライブの 0 から始まる文字ドライブを表します。 たとえば、値 2 は C: ドライブを表します。

fmtID

型: UINT

物理形式の ID。 現在、次のフラグのみが定義されています。

SHFMT_ID_DEFAULT (0xFFFF)

既定の形式 ID。

options

型: UINT

この値は、ダイアログ ボックスの既定の書式オプションを変更する 0 または次のいずれかの値である必要があります。 この値はビットフィールドと見なされ、それに応じて処理する必要があります。

SHFMT_OPT_FULL (0x0001)

0x001。 このフラグが設定されている場合は、[ クイック形式 ] オプションが選択されます。

この関数は、SP1 以降の Windows XP でのみ Shlobj.h に含まれています。

Windows XP: SP1 を使用する Windows XP より前のバージョンでは、この関数には Shell32.lib を使用してアクセスできます。

SHFMT_OPT_SYSONLY (0x0002)

0x002。 [ MS-DOS スタートアップ ディスクの作成 ] オプションを選択し、システム ブート ディスクを作成します。

戻り値

型: DWORD

最後に成功した形式の形式 ID または次のいずれかの値を返します。 この値の LOWORD は、 fmtID パラメーターとして後続の呼び出しで渡して、最後の形式を繰り返すことができます。

リターン コード 説明
SHFMT_ERROR
最後の形式でエラーが発生しました。 これは、ドライブがフォーマット不可能であることを示すものではありません。
SHFMT_CANCEL
最後の形式が取り消されました。
SHFMT_NOFORMAT
ドライブをフォーマットできません。

注釈

形式は、ダイアログ ボックス インターフェイスによって制御されます。 つまり、ユーザーは [ OK] ボタンをクリックして実際に形式を開始する必要があります。形式をプログラムで開始することはできません。

SHFormatDrive を呼び出すと、ドライブ A のディスクに対するシェルの [形式] ダイアログ ボックスが表示され、既定の書式設定オプションが選択されます。

SHFormatDrive(hMainWnd, 0, SHFMT_ID_DEFAULT, 0);

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlobj_core.h (Shlobj.h を含む)
Library Shell32.lib
[DLL] Shell32.dll (バージョン 5.0 以降)