次の方法で共有


ZwUnmapViewOfSection 関数 (wdm.h)

ZwUnmapViewOfSection ルーチンは、サブジェクト プロセスの仮想アドレス空間からセクションのビューのマップを解除します。

構文

NTSYSAPI NTSTATUS ZwUnmapViewOfSection(
  [in]           HANDLE ProcessHandle,
  [in, optional] PVOID  BaseAddress
);

パラメーター

[in] ProcessHandle

ZwMapViewOfSection に渡されたプロセス オブジェクトを処理します。

[in, optional] BaseAddress

マップ解除するビューのベース仮想アドレスへのポインター。 この値には、ビュー内の任意の仮想アドレスを指定できます。

戻り値

ZwUnmapViewOfSection は NTSTATUS 値を返します。 可能な戻り値は次のとおりです。

リターン コード 説明
STATUS_SUCCESS ルーチンは、要求された操作を正常に実行しました。
STATUS_ACCESS_DENIED 呼び出し元は、プロセス オブジェクトまたはビューのベース仮想アドレスに対するアクセス権を持っていません。

注釈

このルーチンは、 BaseAddress がビューの先頭を指していない場合でも、指定されたプロセスの仮想アドレス空間から BaseAddress を含むセクションのビュー全体のマップを解除します。

ZwUnmapViewOfSection から返されると、ビューが占有する仮想アドレス領域は予約されなくなり、他のビューまたはプライベート ページをマップできます。 ビューが基になるセクションへの最後の参照であった場合、セクション内のすべてのコミット済みページがコミット解除され、セクションが削除されます。

この関数の呼び出しがユーザー モードで行われる場合は、"ZwUnmapViewOfSection" ではなく"NtUnmapViewOfSection" という名前を使用する必要があります。

カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なります。 ルーチンの NtXxx バージョンと ZwXxx バージョン間の関係の詳細については、「Using Nt and Zw Versions of the Native System Services Routines」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

こちらもご覧ください

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

ZwMapViewOfSection

ZwOpenSection