SAFER_CODE_PROPERTIES_V1 結構 (winsafer.h)
SAFER_CODE_PROPERTIES_V1 結構包含程式代碼影像資訊,以及程式代碼映像上要檢查的準則。 SAFER_CODE_PROPERTIES_V1 結構的陣列會傳遞至 SaferIdentifyLevel 函式。
SAFER_CODE_PROPERTIES_V1不包含 Windows 市集應用程式套件的新成員。 現有的二進位呼叫端可以藉由檢查 cbSize 成員來區別哪個版本。
語法
typedef struct _SAFER_CODE_PROPERTIES_V1 {
DWORD cbSize;
DWORD dwCheckFlags;
LPCWSTR ImagePath;
HANDLE hImageFileHandle;
DWORD UrlZoneId;
BYTE ImageHash[SAFER_MAX_HASH_SIZE];
DWORD dwImageHashSize;
LARGE_INTEGER ImageSize;
ALG_ID HashAlgorithm;
LPBYTE pByteBlock;
HWND hWndParent;
DWORD dwWVTUIChoice;
} SAFER_CODE_PROPERTIES_V1, *PSAFER_CODE_PROPERTIES_V1;
成員
cbSize
這個結構的大小,以位元組為單位。 這用於未來和回溯相容性。
dwCheckFlags
評估此結構時所考慮的準則類型。 如果未提供部分或所有相關聯的結構專案,某些旗標可能會以無訊息方式忽略。 為此參數指定零會導致忽略整個結構的內容。
下表顯示可能的值。 您可以使用位 OR 運算來結合這些值。
ImagePath
字串,指定要根據路徑進行辨識檢查的完整路徑和檔名。 影像路徑也可用來開啟和讀取檔案,以識別此結構中未提供的任何其他辨識準則。 此成員可以是 NULL;不過,如果 dwCheckFlags 成員包含 SAFER_CRITERIA_AUTHENTICODE,則必須設定此成員或 hImageFileHandle 成員。
hImageFileHandle
至少GENERIC_READ存取程式代碼映像的檔案句柄。 使用句柄,而不是明確地重新開啟檔案,以計算此結構中未提供的辨識準則。 此成員可以是 NULL;不過,如果 dwCheckFlags 包含 SAFER_CRITERIA_AUTHENTICODE,則必須設定此成員或 ImagePath 成員。
UrlZoneId
預先決定的 Internet Explorer 安全性區域。 定義下列區域:
- URLZONE_LOCAL_MACHINE
- URLZONE_INTRANET
- URLZONE_TRUSTED
- URLZONE_INTERNET
- URLZONE_UNTRUSTED
ImageHash[SAFER_MAX_HASH_SIZE]
映像的預先計算哈希。 如果 ImageSize 成員和 dwImageHashSize 成員都是非零的,而且 HashAlgorithm 成員包含 Wincrypt.h 的有效哈希演算法,則提供的哈希會解譯為有效。
如果提供的哈希不符合這些條件,則哈希會自動由下列方式重新計算:
- 如果兩者都是非零,請使用 ImageSize 成員和 pByteBlock 成員。
- 如果不是 NULL,請使用 hImageFileHandle 成員。
- 如果 ImagePath 成員不是 NULL,請開啟和使用 ImagePath 成員。
dwImageHashSize
ImageHash 成員的大小,以位元組為單位。
ImageSize
pByteBlock 成員的大小,以位元組為單位。 如果 pByteBlock 成員為 NULL,則不會使用此成員。
HashAlgorithm
用來建立 ImageHash 成員的哈希演算法。
pByteBlock
記憶體區塊,其中包含所檢查程序代碼的影像。 這個成員是選擇性的。 如果指定這個成員,也必須提供 ImageSize 成員。
hWndParent
用於 Authenticode 簽署者憑證驗證的自變數。 這些自變數會傳遞至 WinVerifyTrust 函式,並控制提示使用者接受或拒絕委派憑證的 UI。
dwWVTUIChoice
指出使用的UI類型。 下表顯示可能的值。
值 | 意義 |
---|---|
|
顯示所有UI。 |
|
不顯示任何UI。 |
|
只有在沒有錯誤時,才會顯示UI。 |
|
只有在發生錯誤時,才會顯示UI。 |
備註
已 重新定義SAFER_CODE_PROPERTIES,以包含允許 Windows 市集應用程式使用 結構的其他成員。 檢查 cbSize 成員是否有適當的結構大小,以及您是否應該使用 SAFER_CODE_PROPERTIES 結構或 SAFER_CODE_PROPERTIES_V1 結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | winsafer.h |