次の方法で共有


GetMappedFileNameA 関数 (psapi.h)

指定したアドレスが、指定したプロセスのアドレス空間内のメモリ マップト ファイル内にあるかどうかを確認します。 その場合、関数はメモリ マップト ファイルの名前を返します。

構文

DWORD GetMappedFileNameA(
  [in]  HANDLE hProcess,
  [in]  LPVOID lpv,
  [out] LPSTR  lpFilename,
  [in]  DWORD  nSize
);

パラメーター

[in] hProcess

プロセスのハンドル。 ハンドルには、PROCESS_QUERY_INFORMATION アクセス権が必要です。 詳細については、「プロセス セキュリティとアクセス権の」を参照してください。

[in] lpv

確認するアドレス。

[out] lpFilename

lpv で指定されたアドレスが属するメモリ マップト ファイルの名前 受け取るバッファーへのポインター。

[in] nSize

lpFilename バッファーのサイズ (文字数)。

戻り値

関数が成功した場合、戻り値はバッファーにコピーされる文字列の長さを文字で指定します。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

Windows 7 および Windows Server 2008 R2 以降、Psapi.h は PSAPI 関数のバージョン番号を確立します。 PSAPI バージョン番号は、プログラムが読み込む必要がある関数とライブラリの呼び出しに使用される名前に影響します。

PSAPI_VERSION が 2 以上の場合、この関数は Psapi.h K32GetMappedFileName として定義され、Kernel32.lib および Kernel32.dllでエクスポートされます。 PSAPI_VERSION が 1 の場合、この関数は Psapi.h で GetMappedFileName として定義され、Psapi.lib でエクスポートされ、K32GetMappedFileName呼び出すラッパーとして Psapi.dll されます。

以前のバージョンの Windows および Windows 7 以降のバージョンで実行する必要があるプログラムは、常に GetMappedFileNameとしてこの関数を呼び出す必要があります。 シンボルを正しく解決するには、psapi.lib を TARGETLIBS マクロに追加し、-DPSAPI_VERSION=1でプログラムをコンパイルします。 実行時の動的リンクを使用するには、Psapi.dll読み込みます。

Windows Server 2012 では、この関数は次のテクノロジでサポートされています。

テクノロジー サポート
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 透過的フェールオーバー (TFO) はい
SMB 3.0 とスケールアウト ファイル共有 (SO) はい
クラスター共有ボリューム ファイル システム (CsvFS) はい
回復性のあるファイル システム (ReFS) はい
 

例については、「ファイル ハンドルからファイル名を取得する」を参照してください。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー psapi.h
ライブラリ Windows 7 および Windows Server 2008 R2 の Kernel32.lib。Windows 7 および Windows Server 2008 R2 の Psapi.lib (PSAPI_VERSION=1 の場合)。Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP の Psapi.lib
DLL Windows 7 および Windows Server 2008 R2 での Kernel32.dll。Windows 7 および Windows Server 2008 R2 で Psapi.dll (PSAPI_VERSION=1 の場合)。Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP での Psapi.dll

関連項目

EnumProcesses の

Memory-Mapped ファイル情報

PSAPI 関数 の