SHPathPrepareForWriteA 関数 (shlobj_core.h)
パスが存在するかどうかを確認します。 これには、マップされたネットワーク ドライブの再マウント、取り出し可能なメディアの再挿入のプロンプト、パスの作成、メディアのフォーマットの要求、必要に応じて適切なユーザー インターフェイスの提供が含まれます。 メディアの読み取り/書き込みアクセス許可はチェックされません。
構文
SHSTDAPI SHPathPrepareForWriteA(
[in, optional] HWND hwnd,
[in, optional] IUnknown *punkEnableModless,
[in] LPCSTR 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 を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlobj_core.h (Shlobj.h、Shlobj_core.h を含む) |
Library | Shell32.lib |
[DLL] | Shell32.dll (バージョン 5.0 以降) |