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 以降。 ユーザーの取り消し以外のエラーが発生し、 hwndNULL でない場合に表示される "アクセス不可" エラー メッセージ ボックスを非表示にします。

戻り値

型: 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 以降)