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を返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。
リターン コード | 形容 |
---|---|
|
オブジェクト ハンドルが無効です。 |
|
呼び出し元には、参加オブジェクトへの適切なアクセス権がありません。 |
|
DesiredAccess パラメーターの値が 0 であるか、EnlistmentGuid パラメーターの値が NULL 。 |
|
EnlistmentGuid パラメーターが指定する参加リストは、RmHandle パラメーターが指定するリソース マネージャーには存在しません。 |
|
DesiredAccess パラメーターの値が無効です。 |
ルーチンは、他NTSTATUS 値を返す場合があります。
備考
通常、TPS コンポーネントは、以前に ZwCreateEnlistment 呼び出した別の TPS コンポーネントから参加 GUID を受け取った後、ZwOpenEnlistment を呼び出します。 ほとんどの TPS 設計では、ZwOpenEnlistment 呼び出す必要はありません。
ZwOpenEnlistment 呼び出すリソース マネージャーは、最終的に ZwClose 呼び出してオブジェクト ハンドルを閉じる必要があります。
ZwOpenEnlistment の詳細については、「参加オブジェクトを参照してください。
NtOpenEnlistment と ZwOpenEnlistment は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx と ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt および Zw バージョンの使用 を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のオペレーティング システム バージョンで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDIs、PowerIrpDDis |
関連項目
InitializeObjectAttributes の