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。 否則,此例程可能會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
TransactionInformationClass 參數的值無效。 |
|
TransactionInformationLength 參數所指定的緩衝區長度不正確。 |
|
TransactionHandle 參數指定的句柄不是交易物件的句柄。 |
|
物件句柄無效。 |
|
呼叫端沒有交易對象的適當存取權。 |
|
TransactionInformation 參數指定的緩衝區太小。 |
例程可能會 傳回其他NTSTATUS 值。
言論
如需如何使用 ZwQueryInformationTransaction的詳細資訊,請參閱 建立交易式用戶端。
NtQueryInformationTransaction 和 ZwQueryInformationTransaction 是相同 Windows 原生系統服務例程的兩個版本。
對於內核模式驅動程式的呼叫,NtXxx 和 ZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxx 與 ZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的作系統版本。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs, PowerIrpDDis |
另請參閱
TRANSACTION_ENLISTMENTS_INFORMATION