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 パラメーターとして後続の呼び出しで渡して、最後の形式を繰り返すことができます。
リターン コード | 説明 |
---|---|
|
最後の形式でエラーが発生しました。 これは、ドライブがフォーマット不可能であることを示すものではありません。 |
|
最後の形式が取り消されました。 |
|
ドライブをフォーマットできません。 |
注釈
形式は、ダイアログ ボックス インターフェイスによって制御されます。 つまり、ユーザーは [ 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 以降) |