次の方法で共有


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
ContainerObject パラメーターが NULL
STATUS_INVALID_PARAMETER_4
Parameter BufferLength は、InformationClass で指定された情報クラス小さすぎます。

備考

このルーチンは、さまざまな情報クラスのクエリをサポートする可能性があります。 Windows 7 では、このルーチンは、IoSessionStateInformation 情報 (ユーザー セッションに関する状態情報) のクエリのみをサポートします。

必要条件

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

関連項目

IO_CONTAINER_INFORMATION_CLASS

IO_CONTAINER_NOTIFICATION_CLASS

IO_SESSION_STATE_INFORMATION