SHPathPrepareForWriteW 関数 (shlobj_core.h)

パスが存在するかどうかを確認します。 これには、マップされたネットワーク ドライブの再マウント、取り出し可能なメディアの再挿入の要求、パスの作成、メディアの書式設定のプロンプト、必要に応じて適切なユーザー インターフェイスの提供が含まれます。 メディアの読み取り/書き込みアクセス許可はチェックされません。

構文

SHSTDAPI SHPathPrepareForWriteW(
  [in, optional] HWND     hwnd,
  [in, optional] IUnknown *punkEnableModless,
  [in]           LPCWSTR  pszPath,
                 DWORD    dwFlags
);

パラメーター

[in, optional] hwnd

型: HWND

作成する必要があるユーザー インターフェイス ウィンドウに使用する親ウィンドウを指定するウィンドウへのハンドル。 NULL に設定すると、ユーザー インターフェイス ウィンドウは作成されません。

[in, optional] punkEnableModless

種類: IUnknown*

EnableModeless メソッドを実装する IOleInPlaceActiveObject オブジェクトを指定する IUnknown インターフェイスへのポインター。

[in] pszPath

型: LPCTSTR

書き込みに有効なパスを指定する最大長MAX_PATHの null で終わる文字列へのポインター。 UNC またはファイル ドライブ パスを指定できます。

dwFlags

型: DWORD

動作オプションを決定するフラグ。 このパラメーターは、次の値と組み合わせて使用できます。

SHPPFW_NONE

新しいディレクトリは作成しないでください。

SHPPFW_DEFAULT

既定値。 ディレクトリを作成する必要がある場合は、ユーザーにメッセージを表示しないでください。 これは 、SHPPFW_DIRCREATEと同じです。 SHPPFW_ASKDIRCREATEで渡さないでください。

SHPPFW_DIRCREATE

ユーザーにメッセージを表示せずにディレクトリを作成します。 SHPPFW_ASKDIRCREATEで渡さないでください。

SHPPFW_ASKDIRCREATE

ディレクトリを作成する前に、ユーザーにプロンプトを表示します。 SHPPFW_DIRCREATEで渡さないでください。

SHPPFW_IGNOREFILENAME

pszPath の最後の項目はファイル名であるため、無視します。 たとえば、 pszPath="C:\MyDir\MyFile.doc"の場合は、"C:\MyDir" のみを使用します。 pszPath="C:\MyFirDir\MySecDir" の場合は、"C:\MyFirDir" のみを使用します。

SHPPFW_NOWRITECHECK

現在、実装されていません。

SHPPFW_MEDIACHECKONLY

Windows XP 以降。 ユーザーの取り消し以外のエラーが発生し、 hwnd が NULL でない場合に表示される "アクセス不可" エラー メッセージ ボックスを抑制 します

戻り値

種類: HRESULT

パスが使用可能な場合はS_OKを返し、それ以外の場合はエラー コードを返します。 S_OKの戻り値は、メディアが書き込み可能であることを意味しないことに注意してください。これは、パスが使用可能であることを意味します。

注釈

この関数の主な用途は、プログラムがパスを使用する前にパスをチェックし、ユーザーにプロンプトを表示するために必要なユーザー インターフェイスを表示することです。 たとえば、ドライブ A: のディスクが見つからない場合、ディスクの挿入をユーザーに求めるウィンドウが表示されます。

注意

shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHPathPrepareForWrite を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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