IoGetContainerInformation 関数 (wdm.h)
IoGetContainerInformation ルーチンは、ユーザー セッションの現在の状態に関する情報を提供します。
構文
NTSTATUS IoGetContainerInformation(
[in] IO_CONTAINER_INFORMATION_CLASS InformationClass,
[in, optional] PVOID ContainerObject,
[in, out] PVOID Buffer,
[in] ULONG BufferLength
);
パラメーター
[in] InformationClass
呼び出し元 (ドライバー) が情報を要求するイベントのクラスを指定します。 このパラメーターを次のIO_CONTAINER_INFORMATION_CLASS列挙値 に 設定します。
- IoSessionStateInformation
[in, optional] ContainerObject
I/O マネージャーによって提供される不透明なシステム オブジェクトへのポインター。 InformationClass = IoSessionStateInformation では、ドライバーの IO_SESSION_NOTIFICATION_FUNCTION 関数の呼び出し中に I/O マネージャーによって提供される SessionObject パラメーター値にこのパラメーターを設定します。
[in, out] Buffer
このルーチンが InformationClass で指定されたイベント クラスの状態情報を書き込む呼び出し元によって割り当てられたバッファーへのポインター。 InformationClass = IoSessionStateInformation の場合、ルーチンはバッファーにIO_SESSION_STATE_INFORMATION構造体を書き込みます。 バッファーは、この構造体を格納するのに十分な大きさである必要があります。
[in] BufferLength
Buffer が指すバッファーのサイズ (バイト単位)。 InformationClass = IoSessionStateInformation の場合、BufferLength は少なくとも sizeof(IO_SESSION_STATE_INFORMATION) である必要があります。
戻り値
呼び出しが成功した場合、IoGetContainerInformation はSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次のとおりです。
リターン コード | 説明 |
---|---|
|
パラメーター InformationClass は、有効な IO_CONTAINER_INFORMATION_CLASS 列挙定数ではありません。 |
|
Parameter ContainerObject は NULL です。 |
|
パラメーター BufferLength が、 InformationClass で指定された情報クラスに対して小さすぎます。 |
注釈
このルーチンは、さまざまな情報クラスのクエリをサポートする可能性があります。 Windows 7 では、このルーチンは、ユーザー セッションに関する状態情報である IoSessionStateInformation 情報のクエリのみをサポートします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Fltkernel.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
こちらもご覧ください
IO_CONTAINER_INFORMATION_CLASS