ZwOpenResourceManager 関数 (wdm.h)
ZwOpenResourceManager ルーチンは、既存のリソース マネージャー オブジェクトへのハンドルを返します。
構文
NTSYSCALLAPI NTSTATUS ZwOpenResourceManager(
[out] PHANDLE ResourceManagerHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE TmHandle,
[in] LPGUID ResourceManagerGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);
パラメーター
[out] ResourceManagerHandle
ZwOpenResourceManager の呼び出しが成功した場合にリソース マネージャー ハンドルを受け取る呼び出し元によって割り当てられた変数へのポインター。
[in] DesiredAccess
リソース マネージャー オブジェクトへの呼び出し元の要求されたアクセス権を指定する ACCESS_MASK 値。 このパラメーターを指定する方法の詳細については、ZwCreateResourceManager の DesiredAccess パラメーターを参照してください。 このパラメーターを 0 にすることはできません。
[in] TmHandle
ZwCreateTransactionManager または ZwOpenTransactionManager の以前の呼び出しによって取得されたトランザクション マネージャー オブジェクトへのハンドル。
[in] ResourceManagerGuid
開くリソース マネージャーを識別する GUID へのポインター。
[in, optional] ObjectAttributes
オブジェクトの属性を指定する OBJECT_ATTRIBUTES 構造体へのポインター。 InitializeObjectAttributes ルーチンを使用してこの構造体を初期化しますが、そのルーチンの InitializeAttributes パラメーターと Attributes パラメーターのみを指定します。 呼び出し元がシステム スレッド コンテキストで実行されていない場合は、 Attributes パラメーターで OBJ_KERNEL_HANDLE フラグを設定する必要があります。 このパラメーターは省略可能であり、 NULL にすることができます。
戻り値
操作が成功した場合、ZwOpenResourceManager はSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
TmHandle が指定するハンドルは、トランザクション オブジェクトへのハンドルではありません。 |
|
TmHandle が指定するハンドルが無効です。 |
|
呼び出し元には、指定されたトランザクション マネージャー オブジェクトへの適切なアクセス権がありません。 |
|
DesiredAccess パラメーターが 0 であるか、ResourceManagerGuid パラメーターが無効です。 |
|
指定したリソース マネージャーが見つかりませんでした。 |
|
指定されたトランザクション マネージャーがオンラインではありません。 |
ルーチンは、他の NTSTATUS 値を返す場合があります。
注釈
通常、TPS コンポーネントは、 以前に ZwCreateResourceManager を呼び出した別の TPS コンポーネントから参加 GUID を受信した後、 ZwOpenResourceManager を呼び出します。 ほとんどの TPS 設計では 、ZwOpenResourceManager を呼び出す必要はありません。
ZwOpenResourceManager を呼び出すリソース マネージャーは、オブジェクト ハンドルを閉じるには、最終的に ZwClose を呼び出す必要があります。
ZwOpenResourceManager の詳細については、「KTM オブジェクト」を参照してください。
NtOpenResourceManager と ZwOpenResourceManager は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のオペレーティング システム バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |