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,請將此參數設定為 I/O 管理員在呼叫驅動程式IO_SESSION_NOTIFICATION_FUNCTION函式期間所提供的 SessionObject 參數值。

[in, out] Buffer

呼叫端配置的緩衝區指標,這個例程會將 InformationClass 所指定之事件類別的狀態資訊寫入其中。 針對 InformationClass = IoSessionStateInformation,例程會將 IO_SESSION_STATE_INFORMATION 結構寫入緩衝區。 緩衝區必須夠大,才能包含這個結構。

[in] BufferLength

Buffer 所指向緩衝區的大小,以位元組為單位。 針對 InformationClass = IoSessionStateInformation,BufferLength 至少必須是大小 (IO_SESSION_STATE_INFORMATION) 。

傳回值

如果呼叫成功,IoGetContainerInformation 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括:

傳回碼 Description
STATUS_INVALID_PARAMETER_1
Parameter InformationClass 不是有效的 IO_CONTAINER_INFORMATION_CLASS 列舉常數。
STATUS_INVALID_PARAMETER_2
參數 ContainerObjectNULL
STATUS_INVALID_PARAMETER_4
參數 BufferLength 對於 InformationClass 所指定的資訊類別而言太小。

備註

此例程可能支援各種資訊類別的查詢。 在 Windows 7 中,此例程僅支援 IoSessionStateInformation 資訊的查詢,也就是用戶會話的狀態資訊。

規格需求

需求
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 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