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を返します。 エラーの戻り値として考えられるのは、次のとおりです。

リターン コード 説明
STATUS_INVALID_PARAMETER_1
パラメーター InformationClass は、有効な IO_CONTAINER_INFORMATION_CLASS 列挙定数ではありません。
STATUS_INVALID_PARAMETER_2
Parameter ContainerObjectNULL です
STATUS_INVALID_PARAMETER_4
パラメーター 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

IO_CONTAINER_NOTIFICATION_CLASS

IO_SESSION_STATE_INFORMATION