次の方法で共有


ZwOpenSection 関数 (wdm.h)

ZwOpenSection ルーチンは、既存のセクション オブジェクトのハンドルを開きます。

構文

NTSYSAPI NTSTATUS ZwOpenSection(
  [out] PHANDLE            SectionHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

パラメーター

[out] SectionHandle

セクション オブジェクトへのハンドルを受け取る HANDLE 変数へのポインター。

[in] DesiredAccess

オブジェクトへの要求されたアクセスを決定する ACCESS_MASK 値を指定します。 詳細については、ZwCreateSectionDesiredAccess パラメーターを参照してください。

[in] ObjectAttributes

オブジェクト名とその他の属性を指定する OBJECT_ATTRIBUTES 構造体へのポインター。 InitializeObjectAttributes を使用して、この構造体を初期化します。 呼び出し元がシステム スレッド コンテキストで実行されていない場合は、 InitializeObjectAttributes を呼び出すときにOBJ_KERNEL_HANDLE属性を設定する必要があります。

戻り値

ZwOpenSection は、成功した場合はSTATUS_SUCCESS、失敗した場合は適切なエラー コードを返します。 可能な戻り値は次のとおりです。

注釈

セクションが存在しないか、システムが要求されたアクセスを許可しなかった場合、操作は失敗します。

SectionHandle が指すハンドルが使用されなくなったら、ドライバーは ZwClose を呼び出して閉じる必要があります。

呼び出し元がシステム スレッド コンテキストで実行されていない場合は、作成するハンドルがプライベート ハンドルであることを確認する必要があります。 それ以外の場合は、ドライバーが実行されているコンテキスト内のプロセスによってハンドルにアクセスできます。 詳細については、「 オブジェクト ハンドル」を参照してください。

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

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

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

こちらもご覧ください

ACCESS_MASK

InitializeObjectAttributes

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

ZwCreateSection

ZwMapViewOfSection

ZwUnmapViewOfSection