SAFER_CODE_PROPERTIES_V2 構造体 (winsafer.h)
SAFER_CODE_PROPERTIES構造体には、コード イメージの情報と、コード イメージで確認する条件が含まれています。 SAFER_CODE_PROPERTIES構造体の配列が SaferIdentifyLevel 関数に渡されます。
SAFER_CODE_PROPERTIES_V2は SAFER_CODE_PROPERTIES の再定義であり、Windows ストア アプリ パッケージの新しいメンバーが含まれているため 、SAFER_CODE_PROPERTIES_V1 の拡張バージョンです。 既存のバイナリ呼び出し元は、 cbSize メンバーを確認することで、どのバージョンを区別できます。
構文
typedef struct _SAFER_CODE_PROPERTIES_V2 {
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;
LPCWSTR PackageMoniker;
LPCWSTR PackagePublisher;
LPCWSTR PackageName;
ULONG64 PackageVersion;
BOOL PackageIsFramework;
} SAFER_CODE_PROPERTIES_V2, *PSAFER_CODE_PROPERTIES_V2;
メンバー
cbSize
この構造体のバイト単位のサイズ。 これは、将来および下位互換性のために使用されます。
dwCheckFlags
この構造を評価するときに考慮される条件の種類。 関連付けられている構造体要素の一部またはすべてが指定されていない場合、一部のフラグは自動的に無視されることがあります。 このパラメーターに 0 を指定すると、構造体の内容全体が無視されます。
次の表に、それぞれの値を示します。 これらの値は、ビットごとの OR 演算を使用して組み合わせることができます。
ImagePath
パスに基づく識別チェックに使用する完全修飾パスとファイル名を指定する文字列。 イメージ パスは、ファイルを開いて読み取り、この構造で指定されていない他の判別基準を識別するためにも使用されます。 このメンバーには NULL を指定できます。ただし、 dwCheckFlags メンバーに SAFER_CRITERIA_AUTHENTICODEが含まれている場合は、このメンバーまたは hImageFileHandle メンバーを設定する必要があります。
hImageFileHandle
少なくともGENERIC_READアクセス権を持つコード イメージへのファイル ハンドル。 ハンドルは、この構造体で指定されていない識別基準を計算するためにファイルを明示的に再度開く代わりに使用されます。 このメンバーには NULL を指定できます。ただし、dwCheckFlags にSAFER_CRITERIA_AUTHENTICODEが含まれている場合は、このメンバーまたは ImagePath メンバーを設定する必要があります。
UrlZoneId
事前に定義されたインターネット エクスプローラーセキュリティ ゾーン。 次のゾーンが定義されています。
- URLZONE_LOCAL_MACHINE
- URLZONE_INTRANET
- URLZONE_TRUSTED
- URLZONE_INTERNET
- URLZONE_UNTRUSTED
ImageHash[SAFER_MAX_HASH_SIZE]
イメージの事前計算済みハッシュ。 ImageSize メンバーと dwImageHashSize メンバーの両方が 0 以外で、HashAlgorithm メンバーに Wincrypt.h の有効なハッシュ アルゴリズムが含まれている場合、指定されたハッシュは有効と解釈されます。
指定されたハッシュがこれらの条件を満たさなければ、ハッシュは自動的に次の方法で再計算されます。
- ImageSize メンバーと pByteBlock メンバーの両方が 0 以外の場合に使用します。
- hImageFileHandle メンバーが NULL でない場合は、そのメンバーを使用します。
- ImagePath メンバーが NULL でない場合は、そのメンバーを開いて使用します。
dwImageHashSize
ImageHash メンバーのサイズ (バイト単位)。
ImageSize
pByteBlock メンバーのサイズ (バイト単位)。 pByteBlock メンバーが NULL の場合、このメンバーは使用されません。
HashAlgorithm
ImageHash メンバーの作成に使用されるハッシュ アルゴリズム。
pByteBlock
チェック対象のコードのイメージを含むメモリ ブロック。 このメンバーは省略可能です。 このメンバーを指定する場合は、 ImageSize メンバーも指定する必要があります。
hWndParent
Authenticode 署名者証明書の検証に使用される引数。 これらの引数は WinVerifyTrust 関数に渡され、ユーザーに委任された証明書の受け入れまたは拒否を求めるユーザー インターフェイス (UI) を制御します。
dwWVTUIChoice
使用される UI の種類を示します。 次の表に、それぞれの値を示します。
[値] | 意味 |
---|---|
|
すべての UI を表示します。 |
|
UI を表示しません。 |
|
エラーがない場合にのみ UI を表示します。 |
|
エラーが発生した場合にのみ UI を表示します。 |
PackageMoniker
パッケージ モニカー プロパティ。 Windows ストア アプリで使用する場合。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このメンバーは使用できません。
PackagePublisher
パッケージの発行元プロパティ。 Windows ストア アプリで使用する場合。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このメンバーは使用できません。
PackageName
パッケージ名プロパティ。 Windows ストア アプリで使用する場合。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このメンバーは使用できません。
PackageVersion
パッケージ バージョン プロパティ。 Windows ストア アプリで使用する場合。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このメンバーは使用できません。
PackageIsFramework
パッケージはフレームワーク パッケージです。 Windows ストア アプリで使用する場合。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このメンバーは使用できません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winsafer.h |