次の方法で共有


OpenFileMappingFromApp 関数 (memoryapi.h)

名前付きファイル マッピング オブジェクトを開きます。

構文

HANDLE OpenFileMappingFromApp(
  [in] ULONG  DesiredAccess,
  [in] BOOL   InheritHandle,
  [in] PCWSTR Name
);

パラメーター

[in] DesiredAccess

ファイル マッピング オブジェクトへのアクセス。 このアクセスは、ターゲット ファイル マッピング オブジェクト上のセキュリティ記述子に対してチェックされます。 値の一覧については、「 ファイル マッピングのセキュリティとアクセス権」を参照してください。 アプリに codeGeneration 機能がある場合にのみ、FILE_MAP_EXECUTEアクセス用のファイル マッピング オブジェクトを開くことができます。

[in] InheritHandle

このパラメーターが TRUE の場合、 CreateProcess 関数によって作成されたプロセスはハンドルを継承できます。それ以外の場合は、ハンドルを継承できません。

[in] Name

開くファイル マッピング オブジェクトの名前。 この名前でファイル マッピング オブジェクトへのオープン ハンドルがあり、マッピング オブジェクトのセキュリティ記述子が DesiredAccess パラメーターと競合しない場合、開く操作は成功します。 名前には、グローバル名前空間またはセッション名前空間内のオブジェクトを明示的に開くために、"Global" または "Local" プレフィックスを付けることができます。 名前の残りの部分には、円記号 (\) を除く任意の文字を含めることができます。 詳細については、「 カーネル オブジェクトの名前空間」を参照してください。 高速ユーザー切り替えは、ターミナル サービス セッションを使用して実装されます。 最初にログオンするユーザーはセッション 0 を使用し、次にログオンするユーザーはセッション 1 を使用します。 カーネル オブジェクト名は、アプリケーションが複数のユーザーをサポートできるように、ターミナル サービスに関して説明されているガイドラインに従う必要があります。

戻り値

関数が成功した場合、戻り値は指定されたファイル マッピング オブジェクトへのオープン ハンドルです。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

Just-In-Time (JIT) 機能を備えた Windows ストア アプリから OpenFileMappingFromApp を呼び出して、JIT 機能を使用できます。 JIT 機能を使用するには、アプリマニフェスト ファイルに codeGeneration 機能を含める必要があります。 OpenFileMappingFromApp を使用すると、Windows ストア アプリは、.NET Frameworkの MemoryMappedFile クラスを使用できます。

OpenFileMappingFromApp から返されるハンドルは、ファイル マッピング オブジェクトへのハンドルを必要とする任意の関数で使用できます。

マップされたビューを使用してファイルを変更する場合、最後の変更タイムスタンプが自動的に更新されない場合があります。 必要に応じて、呼び出し元は SetFileTime を使用してタイムスタンプを設定する必要があります。

必要がなくなったら、呼び出し元は 、OpenFileMappingFromApp から返されたハンドルを CloseHandle の呼び出しで解放するように呼び出す必要があります。

要件

   
サポートされている最小のクライアント Windows 10 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー memoryapi.h (Windows.h を含む)
Library WindowsApp.lib
[DLL] Kernel32.dll

関連項目

CreateFileMapping

ファイル マッピング関数

メモリ管理関数

OpenFileMapping

ファイルとメモリの共有