次の方法で共有


NtOpenEnlistment 関数 (wdm.h)

ZwOpenEnlistment ルーチンは、既存の 参加オブジェクトへのハンドルを取得します。

構文

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenEnlistment(
  [out]          PHANDLE            EnlistmentHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             ResourceManagerHandle,
  [in]           LPGUID             EnlistmentGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

パラメーター

[out] EnlistmentHandle

ZwOpenEnlistment への呼び出しが成功した場合に、参加オブジェクトへのハンドルを受け取る呼び出し元によって割り当てられた変数へのポインター

[in] DesiredAccess

参加オブジェクトへの要求されたアクセスを指定する ACCESS_MASK型指定された値。 このパラメーターを指定する方法の詳細については、ZwCreateEnlistment DesiredAccess パラメーター参照してください。 このパラメーターを 0 にすることはできません。

[in] ResourceManagerHandle

ZwCreateResourceManager または ZwOpenResourceManager 以前の呼び出しによって取得されたリソース マネージャー オブジェクトへのハンドル。

[in] EnlistmentGuid

参加リストを識別する GUID へのポインター。 詳細については、次の「解説」セクションを参照してください。

[in, optional] ObjectAttributes

オブジェクトの属性を指定する OBJECT_ATTRIBUTES 構造体へのポインター。 InitializeObjectAttributes ルーチンを使用してこの構造体を初期化しますが、そのルーチンの InitializeAttributes および Attributes パラメーターのみを指定します。 呼び出し元がシステム スレッド コンテキストで実行されていない場合は、Attributes パラメーターでOBJ_KERNEL_HANDLE フラグを設定する必要があります。 このパラメーターは省略可能であり、NULL できます。

戻り値

ZwOpenEnlistment は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。

リターン コード 形容
STATUS_INVALID_HANDLE
オブジェクト ハンドルが無効です。
STATUS_ACCESS_DENIED
呼び出し元には、参加オブジェクトへの適切なアクセス権がありません。
STATUS_INVALID_PARAMETER
DesiredAccess パラメーターの値が 0 であるか、EnlistmentGuid パラメーターの値が NULL
STATUS_ENLISTMENT_NOT_FOUND
EnlistmentGuid パラメーターが指定する参加リストは、RmHandle パラメーターが指定するリソース マネージャーには存在しません。
STATUS_ACCESS_DENIED
DesiredAccess パラメーターの値が無効です。
 

ルーチンは、NTSTATUS 値を返す場合があります。

備考

通常、TPS コンポーネントは、以前に ZwCreateEnlistment 呼び出した別の TPS コンポーネントから参加 GUID を受け取った後、ZwOpenEnlistment を呼び出します。 ほとんどの TPS 設計では、ZwOpenEnlistment 呼び出す必要はありません。

ZwOpenEnlistment 呼び出すリソース マネージャーは、最終的に ZwClose 呼び出してオブジェクト ハンドルを閉じる必要があります。

ZwOpenEnlistment の詳細については、「参加オブジェクトを参照してください。

NtOpenEnlistment ZwOpenEnlistment は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のオペレーティング システム バージョンで使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDIs、PowerIrpDDis

関連項目

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンを使用した

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment