登錄回呼測試
此自動化測試會練習登錄篩選驅動程式的基本測試案例。
測試詳細資料
規格 |
|
平台 |
|
支援的版本 |
|
預期的執行時間 (以分鐘為單位) | 30 |
類別 | 部署 |
以分鐘為單位的逾時 () | 1800 |
需要重新開機 | false |
需要特殊設定 | false |
類型 | automatic |
其他檔
此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :
執行測試
執行測試之前,請先完成測試設定,如測試需求: 檔案系統測試必要條件中所述。
疑難排解
如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解。
如需疑難排解資訊,請參閱 針對檔案系統測試進行疑難排解。
所有測試案例都會傳回 Pass 或 Fail。 若要檢閱測試詳細資料,請檢閱 Windows Hardware Lab Kit (Windows HLK) Studio 的測試記錄。 若為測試失敗,請在記錄中搜尋 「+sev」 一詞。
詳細資訊
此測試包含下列測試案例:
高度衝突
CreateKey 區塊
CreateKey 略過
CreateKey 覆寫拒絕存取
CreateKey 覆寫區塊
SetKeySecurity Bypass
Transacted CreateKey Bypass
Transacted CreateKey Bypass (No Commit)
取消註冊關閉競爭
儲存還原取代
若要手動執行每個測試案例,請使用下列程式。
手動執行高度衝突測試案例
在高度 1000 註冊回呼。
在相同的高度註冊另一個回呼,然後確認其失敗。
CreateKey the Monitor test.
在高度 1000、2000 和 3000 註冊相同回呼的三個。 將所有三個回呼設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
建立金鑰,然後確認金鑰成功。
取消註冊回呼。
請根據回呼的高度,確認已適當地叫用每個回呼。
手動執行 CreateKey 區塊測試案例
在高度 1000、2000 和 3000 註冊相同回呼的三個。
將回呼 1000 和 3000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「封鎖」模式。 這表示回呼會傳回錯誤狀態。
建立金鑰,然後確認金鑰失敗。
取消註冊回呼。
請根據回呼的高度,確認已適當地叫用每個回呼。
手動執行 CreateKey Bypass 測試案例
在高度 1000、2000 和 3000 註冊相同回呼的三個。
將回呼 1000 和 3000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「略過」模式。 這表示回呼會傳回STATUS_CALLBACK_BYPASS,並代表登錄執行作業。
建立金鑰,然後確認金鑰成功。
取消註冊回呼。
請根據回呼的高度,確認已適當地叫用每個回呼。
手動執行 CreateKey 覆寫拒絕存取測試案例
建立金鑰 K1,然後設定其任意存取控制清單 (DACL) ,以提供唯讀存取權。
在 K1 下建立金鑰。 這應該會因為唯讀 DACL 而失敗。
在高度 1000、2000 和 3000 註冊相同回呼的三個。 STATUS_CALLBACK_BYPASS。
將回呼 1000 和 3000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「拒絕存取略過」模式。 這表示回呼會從使用者模式執行作業,而不是由唯讀 DACL 封鎖,並傳回。
在 K1 下建立金鑰,然後確認金鑰成功。
取消註冊回呼。
確認每個回呼都根據其高度適當地叫用。
手動執行 CreateKey Override Block 測試案例
在高度 1000、2000、3000 和 4000 註冊四個相同的回呼。
將回呼 1000 和 4000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「封鎖」模式。 這表示回呼會傳回STATUS_UNSUCCESSFUL。
將回呼 3000 設定為「覆寫失敗」模式。 這表示,如果回呼在作業後回呼中識別STATUS_UNSUCCESSFUL,它仍會執行作業並傳回成功。
建立金鑰,然後確認它是否成功。
取消註冊回呼。
確認每個回呼都根據其高度適當地叫用。
手動執行 SetKeySecurity Bypass 測試案例
在高度 1000、2000 和 3000 註冊相同回呼的三個。
將回呼 1000 和 3000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「略過」模式。 這表示回呼會傳回STATUS_CALLBACK_BYPASS,並代表登錄執行作業。
呼叫 RegSetKeySecurity 來設定金鑰的安全性描述元,然後確認其成功。
取消註冊回呼。
確認每個回呼都根據其高度適當地叫用。
手動執行 Transacted CreateKey Bypass 測試案例
建立交易 T1。
在交易 T1 的內容中建立索引鍵。
確認金鑰成功,然後加以刪除。
在高度 1000、2000 和 3000 註冊相同回呼的三個。
將回呼 1000 和 3000 設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
將回呼 2000 設定為「略過」模式。 這表示回呼會傳回STATUS_CALLBACK_BYPASS,並代表登錄執行作業。
在交易 T1 的內容中建立金鑰,然後確認它是否成功。
認可交易。
取消註冊回呼。
手動執行 Transacted CreateKey Bypass (No Commit) 測試案例
- 完成與 Transacted CreateKey Bypass 測試案例相同的步驟,但不要在結尾認可交易。
手動執行取消註冊關閉競爭測試案例
啟動開啟測試金鑰的執行緒,然後關閉迴圈中的控制碼。
在原始執行緒中,註冊並取消註冊回呼 100 次。
發出其他執行緒結束的訊號。
手動執行儲存還原取代測試案例
在軟體 Hive 下建立金鑰。
在高度 1000 註冊回呼,並將其設定為「監視」模式。 這表示回呼不會執行任何動作,但會傳回STATUS_SUCCESS。
在建立的金鑰上呼叫 RegSaveKey ,然後確認它是否成功。
使用 RegSaveKey 所建立的 Hive 檔案,在建立的金鑰上呼叫 RegRestoreKey ,然後確認它是否成功。
製作 Hive 檔案的複本。
在 [HKEY_LOCAL_MACHINE] 底下載入原始 Hive 檔案,然後確認它是否成功。
使用 Hive 檔案的複本呼叫 RegReplaceKey 。 這應該會因為共用違規而失敗,但仍會觸發此作業的回呼。
取消註冊回呼,然後確認已適當地叫用回呼。
命令語法
命令選項 | 描述 |
---|---|
RegCbTestctrl.exe -regr |
執行測試。 |
注意
針對此測試二進位檔的命令列說明,請輸入 /h。
檔案清單
檔案 | 位置 |
---|---|
RegCbTestCtrl.exe |
[WTT\TestBinRoot]\NTTEST\BASETEST\kernel\cm |
RegCbTest.sys |
[WTT\TestBinRoot]\NTTEST\BASETEST\kernel\cm |
Ntlog.dll |
參數
參數名稱 | 參數描述 |
---|---|
LLU_LclAdminUser | LLU for Execute |
LLU_NetAccessOnly | 用於複製的 LLU |