NtQueryInformationTransaction 函式 (wdm.h)
ZwQueryInformationTransaction 例程會擷取指定交易的相關信息。
語法
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationTransaction(
[in] HANDLE TransactionHandle,
[in] TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
[out] PVOID TransactionInformation,
[in] ULONG TransactionInformationLength,
[out, optional] PULONG ReturnLength
);
參數
[in] TransactionHandle
先前呼叫 ZwCreateTransaction 或 ZwOpenTransaction 所取得之交易物件的句柄。 句柄必須具有物件的TRANSACTION_QUERY_INFORMATION存取權。
[in] TransactionInformationClass
指定要取得之資訊的 TRANSACTION_INFORMATION_CLASS型別值。 此值必須是下列其中一個值:
- TransactionBasicInformation
- TransactionPropertiesInformation
- TransactionEnlistmentInformation
[out] TransactionInformation
呼叫端配置的緩衝區指標,可接收 TransactionInformationClass 參數所指定的資訊。 緩衝區的結構類型必須是 TRANSACTION_BASIC_INFORMATION、 TRANSACTION_PROPERTIES_INFORMATION或 TRANSACTION_ENLISTMENTS_INFORMATION。
[in] TransactionInformationLength
TransactionInformation 參數指向之緩衝區的長度,以位元組為單位,包括呼叫端配置以接收資訊之任何其他數位元素的長度。
[out, optional] ReturnLength
呼叫端配置的變數指標,可接收 KTM 寫入 TransactionInformation 緩衝區之資訊的長度,以位元組為單位。 此參數是選擇性的,可以是 NULL。
傳回值
如果作業成功,ZwQueryInformationTransaction 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
TransactionInformationClass 參數的值無效。 |
|
TransactionInformationLength 參數所指定的緩衝區長度不正確。 |
|
TransactionHandle 參數指定的句柄不是交易物件的句柄。 |
|
物件句柄無效。 |
|
呼叫端沒有交易對象的適當存取權。 |
|
TransactionInformation 參數指定的緩衝區太小。 |
例程可能會傳回其他 NTSTATUS值。
備註
如需如何使用 ZwQueryInformationTransaction 的詳細資訊,請參閱 建立交易式用戶端。
NtQueryInformationTransaction 和 ZwQueryInformationTransaction 是相同 Windows 原生系統服務例程的兩個版本。
對於核心模式驅動程式的呼叫,Windows 原生系統服務例程的 NtXxx 和 ZwXxx 版本在處理和解譯輸入參數的方式可能會有不同的行為。 如需例程 NtXxx 和 ZwXxx 版本之間的關聯性詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的作業系統版本。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS、 PowerIrpDDis |
另請參閱
TRANSACTION_ENLISTMENTS_INFORMATION