From 5478bda8bc37f6ec000524041d091005df2cd651 Mon Sep 17 00:00:00 2001 From: Clement Rouault Date: Mon, 5 Dec 2016 17:41:12 +0100 Subject: [PATCH] Working on CryptoAPI --- ctypes_generation/def_parser.py | 2 +- ctypes_generation/definitions/winstruct.txt | 28 +- .../definitions/wintrust_crypt_def.txt | 215 +- .../definitions/wintrust_crypt_func.txt | 39 + ctypes_generation/generate.py | 18 + windows/generated_def/windef.py | 2369 +++++++++-------- windows/generated_def/winfuncs.py | 27 +- windows/generated_def/winstructs.py | 33 + windows/winobject/service.py | 2 +- windows/winproxy.py | 97 + 10 files changed, 1750 insertions(+), 1080 deletions(-) diff --git a/ctypes_generation/def_parser.py b/ctypes_generation/def_parser.py index e019f8b..7117d6c 100644 --- a/ctypes_generation/def_parser.py +++ b/ctypes_generation/def_parser.py @@ -9,7 +9,7 @@ class WinDef(object): self.code = code def generate_ctypes(self): - return """{0} = Flag("{0}", {1})""".format(self.name, self.code) + return """{0} = make_flag("{0}", {1})""".format(self.name, self.code) class WinDefParser(Parser): diff --git a/ctypes_generation/definitions/winstruct.txt b/ctypes_generation/definitions/winstruct.txt index 92341e1..c29f0c5 100644 --- a/ctypes_generation/definitions/winstruct.txt +++ b/ctypes_generation/definitions/winstruct.txt @@ -2759,4 +2759,30 @@ typedef struct _CRYPT_KEY_PROV_INFO { DWORD cProvParam; PCRYPT_KEY_PROV_PARAM rgProvParam; DWORD dwKeySpec; -} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO; \ No newline at end of file +} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO; + +typedef struct _CRYPT_ENCRYPT_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgEncodingType; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + VOID *pvEncryptionAuxInfo; + DWORD dwFlags; + DWORD dwInnerContentType; +} CRYPT_ENCRYPT_MESSAGE_PARA, *PCRYPT_ENCRYPT_MESSAGE_PARA; + + +typedef struct _CRYPT_DECRYPT_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgAndCertEncodingType; + DWORD cCertStore; + HCERTSTORE *rghCertStore; + DWORD dwFlags; +} CRYPT_DECRYPT_MESSAGE_PARA, *PCRYPT_DECRYPT_MESSAGE_PARA; + + +typedef struct _CERT_KEY_CONTEXT { + DWORD cbSize; + HCRYPTPROV hCryptProv; + DWORD dwKeySpec; +} CERT_KEY_CONTEXT, *PCERT_KEY_CONTEXT; \ No newline at end of file diff --git a/ctypes_generation/definitions/wintrust_crypt_def.txt b/ctypes_generation/definitions/wintrust_crypt_def.txt index 940bbf8..c9e81b8 100644 --- a/ctypes_generation/definitions/wintrust_crypt_def.txt +++ b/ctypes_generation/definitions/wintrust_crypt_def.txt @@ -247,4 +247,217 @@ #define CERT_NAME_FRIENDLY_DISPLAY_TYPE 5 #define CERT_NAME_DNS_TYPE 6 #define CERT_NAME_URL_TYPE 7 -#define CERT_NAME_UPN_TYPE 8 \ No newline at end of file +#define CERT_NAME_UPN_TYPE 8 + + + +#define CERT_KEY_PROV_HANDLE_PROP_ID 1 +#define CERT_KEY_PROV_INFO_PROP_ID 2 +#define CERT_SHA1_HASH_PROP_ID 3 +#define CERT_MD5_HASH_PROP_ID 4 +#define CERT_HASH_PROP_ID CERT_SHA1_HASH_PROP_ID +#define CERT_KEY_CONTEXT_PROP_ID 5 +#define CERT_KEY_SPEC_PROP_ID 6 +#define CERT_IE30_RESERVED_PROP_ID 7 +#define CERT_PUBKEY_HASH_RESERVED_PROP_ID 8 +#define CERT_ENHKEY_USAGE_PROP_ID 9 +#define CERT_CTL_USAGE_PROP_ID CERT_ENHKEY_USAGE_PROP_ID +#define CERT_NEXT_UPDATE_LOCATION_PROP_ID 10 +#define CERT_FRIENDLY_NAME_PROP_ID 11 +#define CERT_PVK_FILE_PROP_ID 12 +#define CERT_DESCRIPTION_PROP_ID 13 +#define CERT_ACCESS_STATE_PROP_ID 14 +#define CERT_SIGNATURE_HASH_PROP_ID 15 +#define CERT_SMART_CARD_DATA_PROP_ID 16 +#define CERT_EFS_PROP_ID 17 +#define CERT_FORTEZZA_DATA_PROP_ID 18 +#define CERT_ARCHIVED_PROP_ID 19 +#define CERT_KEY_IDENTIFIER_PROP_ID 20 +#define CERT_AUTO_ENROLL_PROP_ID 21 +#define CERT_PUBKEY_ALG_PARA_PROP_ID 22 +#define CERT_CROSS_CERT_DIST_POINTS_PROP_ID 23 +#define CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID 24 +#define CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID 25 +#define CERT_ENROLLMENT_PROP_ID 26 +#define CERT_DATE_STAMP_PROP_ID 27 +#define CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID 28 +#define CERT_SUBJECT_NAME_MD5_HASH_PROP_ID 29 +#define CERT_EXTENDED_ERROR_INFO_PROP_ID 30 +#define CERT_RENEWAL_PROP_ID 64 +#define CERT_ARCHIVED_KEY_HASH_PROP_ID 65 +#define CERT_AUTO_ENROLL_RETRY_PROP_ID 66 +#define CERT_AIA_URL_RETRIEVED_PROP_ID 67 +#define CERT_AUTHORITY_INFO_ACCESS_PROP_ID 68 +#define CERT_BACKED_UP_PROP_ID 69 +#define CERT_OCSP_RESPONSE_PROP_ID 70 +#define CERT_REQUEST_ORIGINATOR_PROP_ID 71 +#define CERT_SOURCE_LOCATION_PROP_ID 72 + + + +#define CRYPT_ACQUIRE_CACHE_FLAG 0x00000001 +#define CRYPT_ACQUIRE_USE_PROV_INFO_FLAG 0x00000002 +#define CRYPT_ACQUIRE_COMPARE_KEY_FLAG 0x00000004 +#define CRYPT_ACQUIRE_NO_HEALING 0x00000008 +#define CRYPT_ACQUIRE_SILENT_FLAG 0x00000040 +#define CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK 0x00070000 +#define CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG 0x00010000 +#define CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG 0x00020000 +#define CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG 0x00040000 + + + +#define szOID_RSA "1.2.840.113549" +#define szOID_PKCS "1.2.840.113549.1" +#define szOID_RSA_HASH "1.2.840.113549.2" +#define szOID_RSA_ENCRYPT "1.2.840.113549.3" +#define szOID_PKCS_1 "1.2.840.113549.1.1" +#define szOID_PKCS_2 "1.2.840.113549.1.2" +#define szOID_PKCS_3 "1.2.840.113549.1.3" +#define szOID_PKCS_4 "1.2.840.113549.1.4" +#define szOID_PKCS_5 "1.2.840.113549.1.5" +#define szOID_PKCS_6 "1.2.840.113549.1.6" +#define szOID_PKCS_7 "1.2.840.113549.1.7" +#define szOID_PKCS_8 "1.2.840.113549.1.8" +#define szOID_PKCS_9 "1.2.840.113549.1.9" +#define szOID_PKCS_10 "1.2.840.113549.1.10" +#define szOID_PKCS_12 "1.2.840.113549.1.12" +#define szOID_RSA_RSA "1.2.840.113549.1.1.1" +#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2" +#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3" +#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4" +#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5" +#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6" +#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7" +#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8" +#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9" +#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10" +#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11" +#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12" +#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13" +#define szOID_RSA_DH "1.2.840.113549.1.3.1" +#define szOID_RSA_data "1.2.840.113549.1.7.1" +#define szOID_RSA_signedData "1.2.840.113549.1.7.2" +#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3" +#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4" +#define szOID_RSA_digestedData "1.2.840.113549.1.7.5" +#define szOID_RSA_hashedData "1.2.840.113549.1.7.5" +#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6" +#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1" +#define szOID_RSA_unstructName "1.2.840.113549.1.9.2" +#define szOID_RSA_contentType "1.2.840.113549.1.9.3" +#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4" +#define szOID_RSA_signingTime "1.2.840.113549.1.9.5" +#define szOID_RSA_counterSign "1.2.840.113549.1.9.6" +#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7" +#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8" +#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9" +#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14" +#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15" +#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1" +#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4" +#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1" +#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3" +#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5" +#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6" +#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7" + +#define szOID_RSA_MD2 "1.2.840.113549.2.2" +#define szOID_RSA_MD4 "1.2.840.113549.2.4" +#define szOID_RSA_MD5 "1.2.840.113549.2.5" +#define szOID_RSA_RC2CBC "1.2.840.113549.3.2" +#define szOID_RSA_RC4 "1.2.840.113549.3.4" +#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7" +#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9" +#define szOID_ANSI_X942 "1.2.840.10046" +#define szOID_ANSI_X942_DH "1.2.840.10046.2.1" +#define szOID_X957 "1.2.840.10040" +#define szOID_X957_DSA "1.2.840.10040.4.1" +#define szOID_X957_SHA1DSA "1.2.840.10040.4.3" +#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1" +#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7" +#define szOID_ECC_CURVE_P384 "1.3.132.0.34" +#define szOID_ECC_CURVE_P521 "1.3.132.0.35" +#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1" +#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3" +#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2" +#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3" +#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4" +#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2" +#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22" +#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42" +#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5" +#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25" +#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45" +#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2" +#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1" +#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2" +#define szOID_DS "2.5" +#define szOID_DSALG "2.5.8" +#define szOID_DSALG_CRPT "2.5.8.1" +#define szOID_DSALG_HASH "2.5.8.2" +#define szOID_DSALG_SIGN "2.5.8.3" +#define szOID_DSALG_RSA "2.5.8.1.1" +#define szOID_OIW "1.3.14" +#define szOID_OIWSEC "1.3.14.3.2" +#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2" +#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3" +#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4" +#define szOID_OIWSEC_desECB "1.3.14.3.2.6" +#define szOID_OIWSEC_desCBC "1.3.14.3.2.7" +#define szOID_OIWSEC_desOFB "1.3.14.3.2.8" +#define szOID_OIWSEC_desCFB "1.3.14.3.2.9" +#define szOID_OIWSEC_desMAC "1.3.14.3.2.10" +#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11" +#define szOID_OIWSEC_dsa "1.3.14.3.2.12" +#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13" +#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14" +#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15" +#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16" +#define szOID_OIWSEC_desEDE "1.3.14.3.2.17" +#define szOID_OIWSEC_sha "1.3.14.3.2.18" +#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19" +#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20" +#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21" +#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22" +#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23" +#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24" +#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25" +#define szOID_OIWSEC_sha1 "1.3.14.3.2.26" +#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27" +#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28" +#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29" +#define szOID_OIWDIR "1.3.14.7.2" +#define szOID_OIWDIR_CRPT "1.3.14.7.2.1" +#define szOID_OIWDIR_HASH "1.3.14.7.2.2" +#define szOID_OIWDIR_SIGN "1.3.14.7.2.3" +#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1" +#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1" +#define szOID_INFOSEC "2.16.840.1.101.2.1" +#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1" +#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2" +#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3" +#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4" +#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5" +#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6" +#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7" +#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8" +#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9" +#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10" +#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11" +#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12" +#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13" +#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14" +#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15" +#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16" +#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17" +#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18" +#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19" +#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20" +#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21" +#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1" +#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2" +#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3" + + +#define CRYPT_E_NOT_FOUND (0x80092004L) diff --git a/ctypes_generation/definitions/wintrust_crypt_func.txt b/ctypes_generation/definitions/wintrust_crypt_func.txt index 159a1ca..70652a6 100644 --- a/ctypes_generation/definitions/wintrust_crypt_func.txt +++ b/ctypes_generation/definitions/wintrust_crypt_func.txt @@ -178,4 +178,43 @@ BOOL WINAPI CertGetCertificateContextProperty( DWORD WINAPI CertEnumCertificateContextProperties( _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwPropId +); + +BOOL WINAPI CryptEncryptMessage( + _In_ PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, + _In_ DWORD cRecipientCert, + _In_ PCCERT_CONTEXT *rgpRecipientCert, + _In_ BYTE *pbToBeEncrypted, + _In_ DWORD cbToBeEncrypted, + _Out_ BYTE *pbEncryptedBlob, + _Inout_ DWORD *pcbEncryptedBlob +); + +BOOL WINAPI CryptDecryptMessage( + _In_ PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, + _In_ BYTE *pbEncryptedBlob, + _In_ DWORD cbEncryptedBlob, + _Out_opt_ BYTE *pbDecrypted, + _Inout_opt_ DWORD *pcbDecrypted, + _Out_opt_ PCCERT_CONTEXT *ppXchgCert +); + +BOOL WINAPI CryptAcquireCertificatePrivateKey( + _In_ PCCERT_CONTEXT pCert, + _In_ DWORD dwFlags, + _In_opt_ VOID *pvParameters, + _Out_ HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *phCryptProvOrNCryptKey, + _Out_ DWORD *pdwKeySpec, + _Out_ BOOL *pfCallerFreeProvOrNCryptKey +); + + +PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext( + _In_ PCCERT_CONTEXT pCertContext +); + + +PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore( + _In_ HCERTSTORE hCertStore, + _In_ PCCERT_CONTEXT pPrevCertContext ); \ No newline at end of file diff --git a/ctypes_generation/generate.py b/ctypes_generation/generate.py index 3a548d3..d11706f 100644 --- a/ctypes_generation/generate.py +++ b/ctypes_generation/generate.py @@ -193,6 +193,24 @@ class InitialDefGenerator(CtypesGenerator): return "{0}({1})".format(self.name, hex(self)) __str__ = __repr__ + + class StrFlags(str): + def __new__(cls, name, value): + return super(StrFlags, cls).__new__(cls, value) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, str.__repr__(self)) + + __str__ = __repr__ + + def make_flag(name, value): + if isinstance(value, (int, long)): + return Flag(name, value) + return StrFlags(name, value) + """) diff --git a/windows/generated_def/windef.py b/windows/generated_def/windef.py index 171a6e6..e766daa 100644 --- a/windows/generated_def/windef.py +++ b/windows/generated_def/windef.py @@ -23,1080 +23,1299 @@ class Flag(long): __str__ = __repr__ +class StrFlags(str): + def __new__(cls, name, value): + return super(StrFlags, cls).__new__(cls, value) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, str.__repr__(self)) + + __str__ = __repr__ + +def make_flag(name, value): + if isinstance(value, (int, long)): + return Flag(name, value) + return StrFlags(name, value) + + from ntstatus import * -INVALID_HANDLE_VALUE = Flag("INVALID_HANDLE_VALUE", ( ( -1 ) & NATIVE_WORD_MAX_VALUE )) -NULL = Flag("NULL", 0) -MAX_PATH = Flag("MAX_PATH", 260) -ANYSIZE_ARRAY = Flag("ANYSIZE_ARRAY", 1) -ANY_SIZE = Flag("ANY_SIZE", 1) -IMAGE_SIZEOF_SHORT_NAME = Flag("IMAGE_SIZEOF_SHORT_NAME", 8) -IMAGE_NUMBEROF_DIRECTORY_ENTRIES = Flag("IMAGE_NUMBEROF_DIRECTORY_ENTRIES", 16) -INFINITE = Flag("INFINITE", 0xFFFFFFFF) -STD_INPUT_HANDLE = Flag("STD_INPUT_HANDLE", -10) -STD_OUTPUT_HANDLE = Flag("STD_OUTPUT_HANDLE", -11) -STD_ERROR_HANDLE = Flag("STD_ERROR_HANDLE", -12) -WARMING_NOT_SAME_FLAG_FOR_WINXP = Flag("WARMING_NOT_SAME_FLAG_FOR_WINXP", 0) -PROCESS_TERMINATE = Flag("PROCESS_TERMINATE", ( 0x0001 )) -PROCESS_CREATE_THREAD = Flag("PROCESS_CREATE_THREAD", ( 0x0002 )) -PROCESS_SET_SESSIONID = Flag("PROCESS_SET_SESSIONID", ( 0x0004 )) -PROCESS_VM_OPERATION = Flag("PROCESS_VM_OPERATION", ( 0x0008 )) -PROCESS_VM_READ = Flag("PROCESS_VM_READ", ( 0x0010 )) -PROCESS_VM_WRITE = Flag("PROCESS_VM_WRITE", ( 0x0020 )) -PROCESS_DUP_HANDLE = Flag("PROCESS_DUP_HANDLE", ( 0x0040 )) -PROCESS_CREATE_PROCESS = Flag("PROCESS_CREATE_PROCESS", ( 0x0080 )) -PROCESS_SET_QUOTA = Flag("PROCESS_SET_QUOTA", ( 0x0100 )) -PROCESS_SET_INFORMATION = Flag("PROCESS_SET_INFORMATION", ( 0x0200 )) -PROCESS_QUERY_INFORMATION = Flag("PROCESS_QUERY_INFORMATION", ( 0x0400 )) -PROCESS_SUSPEND_RESUME = Flag("PROCESS_SUSPEND_RESUME", ( 0x0800 )) -PROCESS_QUERY_LIMITED_INFORMATION = Flag("PROCESS_QUERY_LIMITED_INFORMATION", ( 0x1000 )) -THREAD_TERMINATE = Flag("THREAD_TERMINATE", ( 0x0001 )) -THREAD_SUSPEND_RESUME = Flag("THREAD_SUSPEND_RESUME", ( 0x0002 )) -THREAD_GET_CONTEXT = Flag("THREAD_GET_CONTEXT", ( 0x0008 )) -THREAD_SET_CONTEXT = Flag("THREAD_SET_CONTEXT", ( 0x0010 )) -THREAD_QUERY_INFORMATION = Flag("THREAD_QUERY_INFORMATION", ( 0x0040 )) -THREAD_SET_INFORMATION = Flag("THREAD_SET_INFORMATION", ( 0x0020 )) -THREAD_SET_THREAD_TOKEN = Flag("THREAD_SET_THREAD_TOKEN", ( 0x0080 )) -THREAD_IMPERSONATE = Flag("THREAD_IMPERSONATE", ( 0x0100 )) -THREAD_DIRECT_IMPERSONATION = Flag("THREAD_DIRECT_IMPERSONATION", ( 0x0200 )) -PROCESS_ALL_ACCESS = Flag("PROCESS_ALL_ACCESS", 0x001F0FFF) -THREAD_ALL_ACCESS = Flag("THREAD_ALL_ACCESS", 0x001F03FF) -STARTF_USESHOWWINDOW = Flag("STARTF_USESHOWWINDOW", 0x00000001) -STARTF_USESIZE = Flag("STARTF_USESIZE", 0x00000002) -STARTF_USEPOSITION = Flag("STARTF_USEPOSITION", 0x00000004) -STARTF_USECOUNTCHARS = Flag("STARTF_USECOUNTCHARS", 0x00000008) -STARTF_USEFILLATTRIBUTE = Flag("STARTF_USEFILLATTRIBUTE", 0x00000010) -STARTF_RUNFULLSCREEN = Flag("STARTF_RUNFULLSCREEN", 0x00000020) -STARTF_FORCEONFEEDBACK = Flag("STARTF_FORCEONFEEDBACK", 0x00000040) -STARTF_FORCEOFFFEEDBACK = Flag("STARTF_FORCEOFFFEEDBACK", 0x00000080) -STARTF_USESTDHANDLES = Flag("STARTF_USESTDHANDLES", 0x00000100) -SW_HIDE = Flag("SW_HIDE", 0) -SW_SHOWNORMAL = Flag("SW_SHOWNORMAL", 1) -SW_NORMAL = Flag("SW_NORMAL", 1) -SW_SHOWMINIMIZED = Flag("SW_SHOWMINIMIZED", 2) -SW_SHOWMAXIMIZED = Flag("SW_SHOWMAXIMIZED", 3) -SW_MAXIMIZE = Flag("SW_MAXIMIZE", 3) -SW_SHOWNOACTIVATE = Flag("SW_SHOWNOACTIVATE", 4) -SW_SHOW = Flag("SW_SHOW", 5) -SW_MINIMIZE = Flag("SW_MINIMIZE", 6) -SW_SHOWMINNOACTIVE = Flag("SW_SHOWMINNOACTIVE", 7) -SW_SHOWNA = Flag("SW_SHOWNA", 8) -SW_RESTORE = Flag("SW_RESTORE", 9) -SW_SHOWDEFAULT = Flag("SW_SHOWDEFAULT", 10) -SW_FORCEMINIMIZE = Flag("SW_FORCEMINIMIZE", 11) -SW_MAX = Flag("SW_MAX", 11) -DEBUG_PROCESS = Flag("DEBUG_PROCESS", 0x00000001) -DEBUG_ONLY_THIS_PROCESS = Flag("DEBUG_ONLY_THIS_PROCESS", 0x00000002) -CREATE_SUSPENDED = Flag("CREATE_SUSPENDED", 0x00000004) -DETACHED_PROCESS = Flag("DETACHED_PROCESS", 0x00000008) -CREATE_NEW_CONSOLE = Flag("CREATE_NEW_CONSOLE", 0x00000010) -NORMAL_PRIORITY_CLASS = Flag("NORMAL_PRIORITY_CLASS", 0x00000020) -IDLE_PRIORITY_CLASS = Flag("IDLE_PRIORITY_CLASS", 0x00000040) -HIGH_PRIORITY_CLASS = Flag("HIGH_PRIORITY_CLASS", 0x00000080) -REALTIME_PRIORITY_CLASS = Flag("REALTIME_PRIORITY_CLASS", 0x00000100) -CREATE_NEW_PROCESS_GROUP = Flag("CREATE_NEW_PROCESS_GROUP", 0x00000200) -CREATE_UNICODE_ENVIRONMENT = Flag("CREATE_UNICODE_ENVIRONMENT", 0x00000400) -CREATE_SEPARATE_WOW_VDM = Flag("CREATE_SEPARATE_WOW_VDM", 0x00000800) -CREATE_SHARED_WOW_VDM = Flag("CREATE_SHARED_WOW_VDM", 0x00001000) -CREATE_FORCEDOS = Flag("CREATE_FORCEDOS", 0x00002000) -BELOW_NORMAL_PRIORITY_CLASS = Flag("BELOW_NORMAL_PRIORITY_CLASS", 0x00004000) -ABOVE_NORMAL_PRIORITY_CLASS = Flag("ABOVE_NORMAL_PRIORITY_CLASS", 0x00008000) -INHERIT_PARENT_AFFINITY = Flag("INHERIT_PARENT_AFFINITY", 0x00010000) -INHERIT_CALLER_PRIORITY = Flag("INHERIT_CALLER_PRIORITY", 0x00020000) -CREATE_PROTECTED_PROCESS = Flag("CREATE_PROTECTED_PROCESS", 0x00040000) -EXTENDED_STARTUPINFO_PRESENT = Flag("EXTENDED_STARTUPINFO_PRESENT", 0x00080000) -PROCESS_MODE_BACKGROUND_BEGIN = Flag("PROCESS_MODE_BACKGROUND_BEGIN", 0x00100000) -PROCESS_MODE_BACKGROUND_END = Flag("PROCESS_MODE_BACKGROUND_END", 0x00200000) -CREATE_BREAKAWAY_FROM_JOB = Flag("CREATE_BREAKAWAY_FROM_JOB", 0x01000000) -CREATE_PRESERVE_CODE_AUTHZ_LEVEL = Flag("CREATE_PRESERVE_CODE_AUTHZ_LEVEL", 0x02000000) -CREATE_DEFAULT_ERROR_MODE = Flag("CREATE_DEFAULT_ERROR_MODE", 0x04000000) -CREATE_NO_WINDOW = Flag("CREATE_NO_WINDOW", 0x08000000) -PROFILE_USER = Flag("PROFILE_USER", 0x10000000) -PROFILE_KERNEL = Flag("PROFILE_KERNEL", 0x20000000) -PROFILE_SERVER = Flag("PROFILE_SERVER", 0x40000000) -CREATE_IGNORE_SYSTEM_DEFAULT = Flag("CREATE_IGNORE_SYSTEM_DEFAULT", 0x80000000) -STATUS_WAIT_0 = Flag("STATUS_WAIT_0", ( 0x00000000 )) -STATUS_ABANDONED_WAIT_0 = Flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 )) -STATUS_USER_APC = Flag("STATUS_USER_APC", ( 0x000000C0 )) -STATUS_TIMEOUT = Flag("STATUS_TIMEOUT", ( 0x00000102 )) -STATUS_PENDING = Flag("STATUS_PENDING", ( 0x00000103 )) -DBG_EXCEPTION_HANDLED = Flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 )) -DBG_CONTINUE = Flag("DBG_CONTINUE", ( 0x00010002 )) -STATUS_SEGMENT_NOTIFICATION = Flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 )) -DBG_TERMINATE_THREAD = Flag("DBG_TERMINATE_THREAD", ( 0x40010003 )) -DBG_TERMINATE_PROCESS = Flag("DBG_TERMINATE_PROCESS", ( 0x40010004 )) -DBG_CONTROL_C = Flag("DBG_CONTROL_C", ( 0x40010005 )) -DBG_PRINTEXCEPTION_C = Flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 )) -DBG_RIPEXCEPTION = Flag("DBG_RIPEXCEPTION", ( 0x40010007 )) -DBG_CONTROL_BREAK = Flag("DBG_CONTROL_BREAK", ( 0x40010008 )) -DBG_COMMAND_EXCEPTION = Flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 )) -STATUS_GUARD_PAGE_VIOLATION = Flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 )) -STATUS_DATATYPE_MISALIGNMENT = Flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 )) -STATUS_BREAKPOINT = Flag("STATUS_BREAKPOINT", ( 0x80000003 )) -STATUS_SINGLE_STEP = Flag("STATUS_SINGLE_STEP", ( 0x80000004 )) -STATUS_LONGJUMP = Flag("STATUS_LONGJUMP", ( 0x80000026 )) -STATUS_UNWIND_CONSOLIDATE = Flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 )) -DBG_EXCEPTION_NOT_HANDLED = Flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 )) -STATUS_ACCESS_VIOLATION = Flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 )) -STATUS_IN_PAGE_ERROR = Flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 )) -STATUS_INVALID_HANDLE = Flag("STATUS_INVALID_HANDLE", ( 0xC0000008 )) -STATUS_INVALID_PARAMETER = Flag("STATUS_INVALID_PARAMETER", ( 0xC000000D )) -STATUS_NO_MEMORY = Flag("STATUS_NO_MEMORY", ( 0xC0000017 )) -STATUS_ILLEGAL_INSTRUCTION = Flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D )) -STATUS_NONCONTINUABLE_EXCEPTION = Flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 )) -STATUS_INVALID_DISPOSITION = Flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 )) -STATUS_ARRAY_BOUNDS_EXCEEDED = Flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C )) -STATUS_FLOAT_DENORMAL_OPERAND = Flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D )) -STATUS_FLOAT_DIVIDE_BY_ZERO = Flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E )) -STATUS_FLOAT_INEXACT_RESULT = Flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F )) -STATUS_FLOAT_INVALID_OPERATION = Flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 )) -STATUS_FLOAT_OVERFLOW = Flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 )) -STATUS_FLOAT_STACK_CHECK = Flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 )) -STATUS_FLOAT_UNDERFLOW = Flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 )) -STATUS_INTEGER_DIVIDE_BY_ZERO = Flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 )) -STATUS_INTEGER_OVERFLOW = Flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 )) -STATUS_PRIVILEGED_INSTRUCTION = Flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 )) -STATUS_STACK_OVERFLOW = Flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD )) -STATUS_DLL_NOT_FOUND = Flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 )) -STATUS_ORDINAL_NOT_FOUND = Flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 )) -STATUS_ENTRYPOINT_NOT_FOUND = Flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 )) -STATUS_CONTROL_C_EXIT = Flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A )) -STATUS_DLL_INIT_FAILED = Flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 )) -STATUS_FLOAT_MULTIPLE_FAULTS = Flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 )) -STATUS_FLOAT_MULTIPLE_TRAPS = Flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 )) -STATUS_REG_NAT_CONSUMPTION = Flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 )) -STATUS_STACK_BUFFER_OVERRUN = Flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 )) -STATUS_INVALID_CRUNTIME_PARAMETER = Flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 )) -STATUS_ASSERTION_FAILURE = Flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 )) -STATUS_POSSIBLE_DEADLOCK = Flag("STATUS_POSSIBLE_DEADLOCK", ( 0xC0000194 )) -WAIT_IO_COMPLETION = Flag("WAIT_IO_COMPLETION", STATUS_USER_APC) -STILL_ACTIVE = Flag("STILL_ACTIVE", STATUS_PENDING) -EXCEPTION_ACCESS_VIOLATION = Flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION) -EXCEPTION_DATATYPE_MISALIGNMENT = Flag("EXCEPTION_DATATYPE_MISALIGNMENT", STATUS_DATATYPE_MISALIGNMENT) -EXCEPTION_BREAKPOINT = Flag("EXCEPTION_BREAKPOINT", STATUS_BREAKPOINT) -EXCEPTION_SINGLE_STEP = Flag("EXCEPTION_SINGLE_STEP", STATUS_SINGLE_STEP) -EXCEPTION_ARRAY_BOUNDS_EXCEEDED = Flag("EXCEPTION_ARRAY_BOUNDS_EXCEEDED", STATUS_ARRAY_BOUNDS_EXCEEDED) -EXCEPTION_FLT_DENORMAL_OPERAND = Flag("EXCEPTION_FLT_DENORMAL_OPERAND", STATUS_FLOAT_DENORMAL_OPERAND) -EXCEPTION_FLT_DIVIDE_BY_ZERO = Flag("EXCEPTION_FLT_DIVIDE_BY_ZERO", STATUS_FLOAT_DIVIDE_BY_ZERO) -EXCEPTION_FLT_INEXACT_RESULT = Flag("EXCEPTION_FLT_INEXACT_RESULT", STATUS_FLOAT_INEXACT_RESULT) -EXCEPTION_FLT_INVALID_OPERATION = Flag("EXCEPTION_FLT_INVALID_OPERATION", STATUS_FLOAT_INVALID_OPERATION) -EXCEPTION_FLT_OVERFLOW = Flag("EXCEPTION_FLT_OVERFLOW", STATUS_FLOAT_OVERFLOW) -EXCEPTION_FLT_STACK_CHECK = Flag("EXCEPTION_FLT_STACK_CHECK", STATUS_FLOAT_STACK_CHECK) -EXCEPTION_FLT_UNDERFLOW = Flag("EXCEPTION_FLT_UNDERFLOW", STATUS_FLOAT_UNDERFLOW) -EXCEPTION_INT_DIVIDE_BY_ZERO = Flag("EXCEPTION_INT_DIVIDE_BY_ZERO", STATUS_INTEGER_DIVIDE_BY_ZERO) -EXCEPTION_INT_OVERFLOW = Flag("EXCEPTION_INT_OVERFLOW", STATUS_INTEGER_OVERFLOW) -EXCEPTION_PRIV_INSTRUCTION = Flag("EXCEPTION_PRIV_INSTRUCTION", STATUS_PRIVILEGED_INSTRUCTION) -EXCEPTION_IN_PAGE_ERROR = Flag("EXCEPTION_IN_PAGE_ERROR", STATUS_IN_PAGE_ERROR) -EXCEPTION_ILLEGAL_INSTRUCTION = Flag("EXCEPTION_ILLEGAL_INSTRUCTION", STATUS_ILLEGAL_INSTRUCTION) -EXCEPTION_NONCONTINUABLE_EXCEPTION = Flag("EXCEPTION_NONCONTINUABLE_EXCEPTION", STATUS_NONCONTINUABLE_EXCEPTION) -EXCEPTION_STACK_OVERFLOW = Flag("EXCEPTION_STACK_OVERFLOW", STATUS_STACK_OVERFLOW) -EXCEPTION_INVALID_DISPOSITION = Flag("EXCEPTION_INVALID_DISPOSITION", STATUS_INVALID_DISPOSITION) -EXCEPTION_GUARD_PAGE = Flag("EXCEPTION_GUARD_PAGE", STATUS_GUARD_PAGE_VIOLATION) -EXCEPTION_INVALID_HANDLE = Flag("EXCEPTION_INVALID_HANDLE", STATUS_INVALID_HANDLE) -EXCEPTION_POSSIBLE_DEADLOCK = Flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBLE_DEADLOCK) -CONTROL_C_EXIT = Flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT) -EXCEPTION_DEBUG_EVENT = Flag("EXCEPTION_DEBUG_EVENT", 1) -CREATE_THREAD_DEBUG_EVENT = Flag("CREATE_THREAD_DEBUG_EVENT", 2) -CREATE_PROCESS_DEBUG_EVENT = Flag("CREATE_PROCESS_DEBUG_EVENT", 3) -EXIT_THREAD_DEBUG_EVENT = Flag("EXIT_THREAD_DEBUG_EVENT", 4) -EXIT_PROCESS_DEBUG_EVENT = Flag("EXIT_PROCESS_DEBUG_EVENT", 5) -LOAD_DLL_DEBUG_EVENT = Flag("LOAD_DLL_DEBUG_EVENT", 6) -UNLOAD_DLL_DEBUG_EVENT = Flag("UNLOAD_DLL_DEBUG_EVENT", 7) -OUTPUT_DEBUG_STRING_EVENT = Flag("OUTPUT_DEBUG_STRING_EVENT", 8) -RIP_EVENT = Flag("RIP_EVENT", 9) -TH32CS_SNAPHEAPLIST = Flag("TH32CS_SNAPHEAPLIST", 0x00000001) -TH32CS_SNAPPROCESS = Flag("TH32CS_SNAPPROCESS", 0x00000002) -TH32CS_SNAPTHREAD = Flag("TH32CS_SNAPTHREAD", 0x00000004) -TH32CS_SNAPMODULE = Flag("TH32CS_SNAPMODULE", 0x00000008) -TH32CS_SNAPMODULE32 = Flag("TH32CS_SNAPMODULE32", 0x00000010) -TH32CS_SNAPALL = Flag("TH32CS_SNAPALL", ( TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE )) -TH32CS_INHERIT = Flag("TH32CS_INHERIT", 0x80000000) -CONTEXT_I386 = Flag("CONTEXT_I386", 0x00010000) -CONTEXT_CONTROL = Flag("CONTEXT_CONTROL", 0x00000001) -CONTEXT_INTEGER = Flag("CONTEXT_INTEGER", 0x00000002) -CONTEXT_SEGMENTS = Flag("CONTEXT_SEGMENTS", 0x00000004) -CONTEXT_FLOATING_POINT = Flag("CONTEXT_FLOATING_POINT", 0x00000008) -CONTEXT_DEBUG_REGISTERS = Flag("CONTEXT_DEBUG_REGISTERS", 0x00000010) -CONTEXT_EXTENDED_REGISTERS = Flag("CONTEXT_EXTENDED_REGISTERS", 0x00000020) -CONTEXT_FULL = Flag("CONTEXT_FULL", ( CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS )) -CONTEXT_ALL = Flag("CONTEXT_ALL", ( CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS )) -CONTEXT_FULL = Flag("CONTEXT_FULL", CONTEXT_I386 | CONTEXT_FULL) -CONTEXT_ALL = Flag("CONTEXT_ALL", CONTEXT_I386 | CONTEXT_ALL) -CONTEXT_XSTATE = Flag("CONTEXT_XSTATE", ( CONTEXT_I386 | 0x00000040 )) -PAGE_NOACCESS = Flag("PAGE_NOACCESS", 0x01) -PAGE_READONLY = Flag("PAGE_READONLY", 0x02) -PAGE_READWRITE = Flag("PAGE_READWRITE", 0x04) -PAGE_WRITECOPY = Flag("PAGE_WRITECOPY", 0x08) -PAGE_EXECUTE = Flag("PAGE_EXECUTE", 0x10) -PAGE_EXECUTE_READ = Flag("PAGE_EXECUTE_READ", 0x20) -PAGE_EXECUTE_READWRITE = Flag("PAGE_EXECUTE_READWRITE", 0x40) -PAGE_EXECUTE_WRITECOPY = Flag("PAGE_EXECUTE_WRITECOPY", 0x80) -PAGE_GUARD = Flag("PAGE_GUARD", 0x100) -PAGE_NOCACHE = Flag("PAGE_NOCACHE", 0x200) -PAGE_WRITECOMBINE = Flag("PAGE_WRITECOMBINE", 0x400) -MEM_COMMIT = Flag("MEM_COMMIT", 0x1000) -MEM_RESERVE = Flag("MEM_RESERVE", 0x2000) -MEM_DECOMMIT = Flag("MEM_DECOMMIT", 0x4000) -MEM_RELEASE = Flag("MEM_RELEASE", 0x8000) -MEM_FREE = Flag("MEM_FREE", 0x10000) -MEM_PRIVATE = Flag("MEM_PRIVATE", 0x20000) -MEM_MAPPED = Flag("MEM_MAPPED", 0x40000) -MEM_RESET = Flag("MEM_RESET", 0x80000) -MEM_TOP_DOWN = Flag("MEM_TOP_DOWN", 0x100000) -MEM_WRITE_WATCH = Flag("MEM_WRITE_WATCH", 0x200000) -MEM_PHYSICAL = Flag("MEM_PHYSICAL", 0x400000) -MEM_ROTATE = Flag("MEM_ROTATE", 0x800000) -MEM_LARGE_PAGES = Flag("MEM_LARGE_PAGES", 0x20000000) -MEM_4MB_PAGES = Flag("MEM_4MB_PAGES", 0x80000000) -SEC_FILE = Flag("SEC_FILE", 0x800000) -SEC_IMAGE = Flag("SEC_IMAGE", 0x1000000) -SEC_PROTECTED_IMAGE = Flag("SEC_PROTECTED_IMAGE", 0x2000000) -SEC_RESERVE = Flag("SEC_RESERVE", 0x4000000) -SEC_COMMIT = Flag("SEC_COMMIT", 0x8000000) -SEC_NOCACHE = Flag("SEC_NOCACHE", 0x10000000) -SEC_WRITECOMBINE = Flag("SEC_WRITECOMBINE", 0x40000000) -SEC_LARGE_PAGES = Flag("SEC_LARGE_PAGES", 0x80000000) -MEM_IMAGE = Flag("MEM_IMAGE", SEC_IMAGE) -WRITE_WATCH_FLAG_RESET = Flag("WRITE_WATCH_FLAG_RESET", 0x01) -DELETE = Flag("DELETE", ( 0x00010000 )) -READ_CONTROL = Flag("READ_CONTROL", ( 0x00020000 )) -WRITE_DAC = Flag("WRITE_DAC", ( 0x00040000 )) -WRITE_OWNER = Flag("WRITE_OWNER", ( 0x00080000 )) -SYNCHRONIZE = Flag("SYNCHRONIZE", ( 0x00100000 )) -STANDARD_RIGHTS_REQUIRED = Flag("STANDARD_RIGHTS_REQUIRED", ( 0x000F0000 )) -STANDARD_RIGHTS_READ = Flag("STANDARD_RIGHTS_READ", ( READ_CONTROL )) -STANDARD_RIGHTS_WRITE = Flag("STANDARD_RIGHTS_WRITE", ( READ_CONTROL )) -STANDARD_RIGHTS_EXECUTE = Flag("STANDARD_RIGHTS_EXECUTE", ( READ_CONTROL )) -STANDARD_RIGHTS_ALL = Flag("STANDARD_RIGHTS_ALL", ( 0x001F0000 )) -SPECIFIC_RIGHTS_ALL = Flag("SPECIFIC_RIGHTS_ALL", ( 0x0000FFFF )) -TOKEN_ASSIGN_PRIMARY = Flag("TOKEN_ASSIGN_PRIMARY", ( 0x0001 )) -TOKEN_DUPLICATE = Flag("TOKEN_DUPLICATE", ( 0x0002 )) -TOKEN_IMPERSONATE = Flag("TOKEN_IMPERSONATE", ( 0x0004 )) -TOKEN_QUERY = Flag("TOKEN_QUERY", ( 0x0008 )) -TOKEN_QUERY_SOURCE = Flag("TOKEN_QUERY_SOURCE", ( 0x0010 )) -TOKEN_ADJUST_PRIVILEGES = Flag("TOKEN_ADJUST_PRIVILEGES", ( 0x0020 )) -TOKEN_ADJUST_GROUPS = Flag("TOKEN_ADJUST_GROUPS", ( 0x0040 )) -TOKEN_ADJUST_DEFAULT = Flag("TOKEN_ADJUST_DEFAULT", ( 0x0080 )) -TOKEN_ADJUST_SESSIONID = Flag("TOKEN_ADJUST_SESSIONID", ( 0x0100 )) -TOKEN_ALL_ACCESS_P = Flag("TOKEN_ALL_ACCESS_P", ( STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT )) -TOKEN_ALL_ACCESS = Flag("TOKEN_ALL_ACCESS", ( TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID )) -SE_PRIVILEGE_ENABLED_BY_DEFAULT = Flag("SE_PRIVILEGE_ENABLED_BY_DEFAULT", ( 0x00000001 )) -SE_PRIVILEGE_ENABLED = Flag("SE_PRIVILEGE_ENABLED", ( 0x00000002 )) -SE_PRIVILEGE_REMOVED = Flag("SE_PRIVILEGE_REMOVED", ( 0X00000004 )) -SE_PRIVILEGE_USED_FOR_ACCESS = Flag("SE_PRIVILEGE_USED_FOR_ACCESS", ( 0x80000000 )) -AF_UNSPEC = Flag("AF_UNSPEC", 0) -AF_UNIX = Flag("AF_UNIX", 1) -AF_INET = Flag("AF_INET", 2) -AF_IMPLINK = Flag("AF_IMPLINK", 3) -AF_PUP = Flag("AF_PUP", 4) -AF_CHAOS = Flag("AF_CHAOS", 5) -AF_NS = Flag("AF_NS", 6) -AF_IPX = Flag("AF_IPX", AF_NS) -AF_ISO = Flag("AF_ISO", 7) -AF_OSI = Flag("AF_OSI", AF_ISO) -AF_ECMA = Flag("AF_ECMA", 8) -AF_DATAKIT = Flag("AF_DATAKIT", 9) -AF_CCITT = Flag("AF_CCITT", 10) -AF_SNA = Flag("AF_SNA", 11) -AF_DECnet = Flag("AF_DECnet", 12) -AF_DLI = Flag("AF_DLI", 13) -AF_LAT = Flag("AF_LAT", 14) -AF_HYLINK = Flag("AF_HYLINK", 15) -AF_APPLETALK = Flag("AF_APPLETALK", 16) -AF_NETBIOS = Flag("AF_NETBIOS", 17) -AF_VOICEVIEW = Flag("AF_VOICEVIEW", 18) -AF_FIREFOX = Flag("AF_FIREFOX", 19) -AF_UNKNOWN1 = Flag("AF_UNKNOWN1", 20) -AF_BAN = Flag("AF_BAN", 21) -AF_ATM = Flag("AF_ATM", 22) -AF_INET6 = Flag("AF_INET6", 23) -AF_CLUSTER = Flag("AF_CLUSTER", 24) -AF_12844 = Flag("AF_12844", 25) -AF_IRDA = Flag("AF_IRDA", 26) -AF_NETDES = Flag("AF_NETDES", 28) -EXCEPTION_NONCONTINUABLE = Flag("EXCEPTION_NONCONTINUABLE", 0x1) -EXCEPTION_MAXIMUM_PARAMETERS = Flag("EXCEPTION_MAXIMUM_PARAMETERS", 15) -STATUS_WAIT_0 = Flag("STATUS_WAIT_0", ( 0x00000000 )) -STATUS_ABANDONED_WAIT_0 = Flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 )) -STATUS_USER_APC = Flag("STATUS_USER_APC", ( 0x000000C0 )) -STATUS_TIMEOUT = Flag("STATUS_TIMEOUT", ( 0x00000102 )) -STATUS_PENDING = Flag("STATUS_PENDING", ( 0x00000103 )) -DBG_EXCEPTION_HANDLED = Flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 )) -DBG_CONTINUE = Flag("DBG_CONTINUE", ( 0x00010002 )) -STATUS_SEGMENT_NOTIFICATION = Flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 )) -DBG_TERMINATE_THREAD = Flag("DBG_TERMINATE_THREAD", ( 0x40010003 )) -DBG_TERMINATE_PROCESS = Flag("DBG_TERMINATE_PROCESS", ( 0x40010004 )) -DBG_CONTROL_C = Flag("DBG_CONTROL_C", ( 0x40010005 )) -DBG_PRINTEXCEPTION_C = Flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 )) -DBG_RIPEXCEPTION = Flag("DBG_RIPEXCEPTION", ( 0x40010007 )) -DBG_CONTROL_BREAK = Flag("DBG_CONTROL_BREAK", ( 0x40010008 )) -DBG_COMMAND_EXCEPTION = Flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 )) -STATUS_GUARD_PAGE_VIOLATION = Flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 )) -STATUS_DATATYPE_MISALIGNMENT = Flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 )) -STATUS_BREAKPOINT = Flag("STATUS_BREAKPOINT", ( 0x80000003 )) -STATUS_SINGLE_STEP = Flag("STATUS_SINGLE_STEP", ( 0x80000004 )) -STATUS_LONGJUMP = Flag("STATUS_LONGJUMP", ( 0x80000026 )) -STATUS_UNWIND_CONSOLIDATE = Flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 )) -DBG_EXCEPTION_NOT_HANDLED = Flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 )) -STATUS_ACCESS_VIOLATION = Flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 )) -STATUS_IN_PAGE_ERROR = Flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 )) -STATUS_INVALID_HANDLE = Flag("STATUS_INVALID_HANDLE", ( 0xC0000008 )) -STATUS_INVALID_PARAMETER = Flag("STATUS_INVALID_PARAMETER", ( 0xC000000D )) -STATUS_NO_MEMORY = Flag("STATUS_NO_MEMORY", ( 0xC0000017 )) -STATUS_ILLEGAL_INSTRUCTION = Flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D )) -STATUS_NONCONTINUABLE_EXCEPTION = Flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 )) -STATUS_INVALID_DISPOSITION = Flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 )) -STATUS_ARRAY_BOUNDS_EXCEEDED = Flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C )) -STATUS_FLOAT_DENORMAL_OPERAND = Flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D )) -STATUS_FLOAT_DIVIDE_BY_ZERO = Flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E )) -STATUS_FLOAT_INEXACT_RESULT = Flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F )) -STATUS_FLOAT_INVALID_OPERATION = Flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 )) -STATUS_FLOAT_OVERFLOW = Flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 )) -STATUS_FLOAT_STACK_CHECK = Flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 )) -STATUS_FLOAT_UNDERFLOW = Flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 )) -STATUS_INTEGER_DIVIDE_BY_ZERO = Flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 )) -STATUS_INTEGER_OVERFLOW = Flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 )) -STATUS_PRIVILEGED_INSTRUCTION = Flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 )) -STATUS_STACK_OVERFLOW = Flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD )) -STATUS_DLL_NOT_FOUND = Flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 )) -STATUS_ORDINAL_NOT_FOUND = Flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 )) -STATUS_ENTRYPOINT_NOT_FOUND = Flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 )) -STATUS_CONTROL_C_EXIT = Flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A )) -STATUS_DLL_INIT_FAILED = Flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 )) -STATUS_FLOAT_MULTIPLE_FAULTS = Flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 )) -STATUS_FLOAT_MULTIPLE_TRAPS = Flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 )) -STATUS_REG_NAT_CONSUMPTION = Flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 )) -STATUS_STACK_BUFFER_OVERRUN = Flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 )) -STATUS_INVALID_CRUNTIME_PARAMETER = Flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 )) -STATUS_ASSERTION_FAILURE = Flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 )) -WAIT_IO_COMPLETION = Flag("WAIT_IO_COMPLETION", STATUS_USER_APC) -STILL_ACTIVE = Flag("STILL_ACTIVE", STATUS_PENDING) -EXCEPTION_ACCESS_VIOLATION = Flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION) -EXCEPTION_DATATYPE_MISALIGNMENT = Flag("EXCEPTION_DATATYPE_MISALIGNMENT", STATUS_DATATYPE_MISALIGNMENT) -EXCEPTION_BREAKPOINT = Flag("EXCEPTION_BREAKPOINT", STATUS_BREAKPOINT) -EXCEPTION_SINGLE_STEP = Flag("EXCEPTION_SINGLE_STEP", STATUS_SINGLE_STEP) -EXCEPTION_ARRAY_BOUNDS_EXCEEDED = Flag("EXCEPTION_ARRAY_BOUNDS_EXCEEDED", STATUS_ARRAY_BOUNDS_EXCEEDED) -EXCEPTION_FLT_DENORMAL_OPERAND = Flag("EXCEPTION_FLT_DENORMAL_OPERAND", STATUS_FLOAT_DENORMAL_OPERAND) -EXCEPTION_FLT_DIVIDE_BY_ZERO = Flag("EXCEPTION_FLT_DIVIDE_BY_ZERO", STATUS_FLOAT_DIVIDE_BY_ZERO) -EXCEPTION_FLT_INEXACT_RESULT = Flag("EXCEPTION_FLT_INEXACT_RESULT", STATUS_FLOAT_INEXACT_RESULT) -EXCEPTION_FLT_INVALID_OPERATION = Flag("EXCEPTION_FLT_INVALID_OPERATION", STATUS_FLOAT_INVALID_OPERATION) -EXCEPTION_FLT_OVERFLOW = Flag("EXCEPTION_FLT_OVERFLOW", STATUS_FLOAT_OVERFLOW) -EXCEPTION_FLT_STACK_CHECK = Flag("EXCEPTION_FLT_STACK_CHECK", STATUS_FLOAT_STACK_CHECK) -EXCEPTION_FLT_UNDERFLOW = Flag("EXCEPTION_FLT_UNDERFLOW", STATUS_FLOAT_UNDERFLOW) -EXCEPTION_INT_DIVIDE_BY_ZERO = Flag("EXCEPTION_INT_DIVIDE_BY_ZERO", STATUS_INTEGER_DIVIDE_BY_ZERO) -EXCEPTION_INT_OVERFLOW = Flag("EXCEPTION_INT_OVERFLOW", STATUS_INTEGER_OVERFLOW) -EXCEPTION_PRIV_INSTRUCTION = Flag("EXCEPTION_PRIV_INSTRUCTION", STATUS_PRIVILEGED_INSTRUCTION) -EXCEPTION_IN_PAGE_ERROR = Flag("EXCEPTION_IN_PAGE_ERROR", STATUS_IN_PAGE_ERROR) -EXCEPTION_ILLEGAL_INSTRUCTION = Flag("EXCEPTION_ILLEGAL_INSTRUCTION", STATUS_ILLEGAL_INSTRUCTION) -EXCEPTION_NONCONTINUABLE_EXCEPTION = Flag("EXCEPTION_NONCONTINUABLE_EXCEPTION", STATUS_NONCONTINUABLE_EXCEPTION) -EXCEPTION_STACK_OVERFLOW = Flag("EXCEPTION_STACK_OVERFLOW", STATUS_STACK_OVERFLOW) -EXCEPTION_INVALID_DISPOSITION = Flag("EXCEPTION_INVALID_DISPOSITION", STATUS_INVALID_DISPOSITION) -EXCEPTION_GUARD_PAGE = Flag("EXCEPTION_GUARD_PAGE", STATUS_GUARD_PAGE_VIOLATION) -EXCEPTION_INVALID_HANDLE = Flag("EXCEPTION_INVALID_HANDLE", STATUS_INVALID_HANDLE) -EXCEPTION_POSSIBLE_DEADLOCK = Flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBLE_DEADLOCK) -CONTROL_C_EXIT = Flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT) -EXCEPTION_EXECUTE_HANDLER = Flag("EXCEPTION_EXECUTE_HANDLER", 1) -EXCEPTION_CONTINUE_SEARCH = Flag("EXCEPTION_CONTINUE_SEARCH", 0) -EXCEPTION_CONTINUE_EXECUTION = Flag("EXCEPTION_CONTINUE_EXECUTION", -1) -GENERIC_READ = Flag("GENERIC_READ", ( 0x80000000 )) -GENERIC_WRITE = Flag("GENERIC_WRITE", ( 0x40000000 )) -GENERIC_EXECUTE = Flag("GENERIC_EXECUTE", ( 0x20000000 )) -GENERIC_ALL = Flag("GENERIC_ALL", ( 0x10000000 )) -FILE_FLAG_WRITE_THROUGH = Flag("FILE_FLAG_WRITE_THROUGH", 0x80000000) -FILE_FLAG_OVERLAPPED = Flag("FILE_FLAG_OVERLAPPED", 0x40000000) -FILE_FLAG_NO_BUFFERING = Flag("FILE_FLAG_NO_BUFFERING", 0x20000000) -FILE_FLAG_RANDOM_ACCESS = Flag("FILE_FLAG_RANDOM_ACCESS", 0x10000000) -FILE_FLAG_SEQUENTIAL_SCAN = Flag("FILE_FLAG_SEQUENTIAL_SCAN", 0x08000000) -FILE_FLAG_DELETE_ON_CLOSE = Flag("FILE_FLAG_DELETE_ON_CLOSE", 0x04000000) -FILE_FLAG_BACKUP_SEMANTICS = Flag("FILE_FLAG_BACKUP_SEMANTICS", 0x02000000) -FILE_FLAG_POSIX_SEMANTICS = Flag("FILE_FLAG_POSIX_SEMANTICS", 0x01000000) -FILE_FLAG_OPEN_REPARSE_POINT = Flag("FILE_FLAG_OPEN_REPARSE_POINT", 0x00200000) -FILE_FLAG_OPEN_NO_RECALL = Flag("FILE_FLAG_OPEN_NO_RECALL", 0x00100000) -FILE_FLAG_FIRST_PIPE_INSTANCE = Flag("FILE_FLAG_FIRST_PIPE_INSTANCE", 0x00080000) -CREATE_NEW = Flag("CREATE_NEW", 1) -CREATE_ALWAYS = Flag("CREATE_ALWAYS", 2) -OPEN_EXISTING = Flag("OPEN_EXISTING", 3) -OPEN_ALWAYS = Flag("OPEN_ALWAYS", 4) -TRUNCATE_EXISTING = Flag("TRUNCATE_EXISTING", 5) -FILE_SHARE_READ = Flag("FILE_SHARE_READ", 0x00000001) -FILE_SHARE_WRITE = Flag("FILE_SHARE_WRITE", 0x00000002) -FILE_SHARE_DELETE = Flag("FILE_SHARE_DELETE", 0x00000004) -FILE_ATTRIBUTE_READONLY = Flag("FILE_ATTRIBUTE_READONLY", 0x00000001) -FILE_ATTRIBUTE_HIDDEN = Flag("FILE_ATTRIBUTE_HIDDEN", 0x00000002) -FILE_ATTRIBUTE_SYSTEM = Flag("FILE_ATTRIBUTE_SYSTEM", 0x00000004) -FILE_ATTRIBUTE_DIRECTORY = Flag("FILE_ATTRIBUTE_DIRECTORY", 0x00000010) -FILE_ATTRIBUTE_ARCHIVE = Flag("FILE_ATTRIBUTE_ARCHIVE", 0x00000020) -FILE_ATTRIBUTE_DEVICE = Flag("FILE_ATTRIBUTE_DEVICE", 0x00000040) -FILE_ATTRIBUTE_NORMAL = Flag("FILE_ATTRIBUTE_NORMAL", 0x00000080) -FILE_ATTRIBUTE_TEMPORARY = Flag("FILE_ATTRIBUTE_TEMPORARY", 0x00000100) -FILE_ATTRIBUTE_SPARSE_FILE = Flag("FILE_ATTRIBUTE_SPARSE_FILE", 0x00000200) -FILE_ATTRIBUTE_REPARSE_POINT = Flag("FILE_ATTRIBUTE_REPARSE_POINT", 0x00000400) -FILE_ATTRIBUTE_COMPRESSED = Flag("FILE_ATTRIBUTE_COMPRESSED", 0x00000800) -FILE_ATTRIBUTE_OFFLINE = Flag("FILE_ATTRIBUTE_OFFLINE", 0x00001000) -FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = Flag("FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", 0x00002000) -FILE_ATTRIBUTE_ENCRYPTED = Flag("FILE_ATTRIBUTE_ENCRYPTED", 0x00004000) -FILE_ATTRIBUTE_VIRTUAL = Flag("FILE_ATTRIBUTE_VIRTUAL", 0x00010000) -FILE_NOTIFY_CHANGE_FILE_NAME = Flag("FILE_NOTIFY_CHANGE_FILE_NAME", 0x00000001) -FILE_NOTIFY_CHANGE_DIR_NAME = Flag("FILE_NOTIFY_CHANGE_DIR_NAME", 0x00000002) -FILE_NOTIFY_CHANGE_ATTRIBUTES = Flag("FILE_NOTIFY_CHANGE_ATTRIBUTES", 0x00000004) -FILE_NOTIFY_CHANGE_SIZE = Flag("FILE_NOTIFY_CHANGE_SIZE", 0x00000008) -FILE_NOTIFY_CHANGE_LAST_WRITE = Flag("FILE_NOTIFY_CHANGE_LAST_WRITE", 0x00000010) -FILE_NOTIFY_CHANGE_LAST_ACCESS = Flag("FILE_NOTIFY_CHANGE_LAST_ACCESS", 0x00000020) -FILE_NOTIFY_CHANGE_CREATION = Flag("FILE_NOTIFY_CHANGE_CREATION", 0x00000040) -FILE_NOTIFY_CHANGE_SECURITY = Flag("FILE_NOTIFY_CHANGE_SECURITY", 0x00000100) -FILE_ACTION_ADDED = Flag("FILE_ACTION_ADDED", 0x00000001) -FILE_ACTION_REMOVED = Flag("FILE_ACTION_REMOVED", 0x00000002) -FILE_ACTION_MODIFIED = Flag("FILE_ACTION_MODIFIED", 0x00000003) -FILE_ACTION_RENAMED_OLD_NAME = Flag("FILE_ACTION_RENAMED_OLD_NAME", 0x00000004) -FILE_ACTION_RENAMED_NEW_NAME = Flag("FILE_ACTION_RENAMED_NEW_NAME", 0x00000005) -MAILSLOT_NO_MESSAGE = Flag("MAILSLOT_NO_MESSAGE", ( -1 )) -MAILSLOT_WAIT_FOREVER = Flag("MAILSLOT_WAIT_FOREVER", ( -1 )) -FILE_CASE_SENSITIVE_SEARCH = Flag("FILE_CASE_SENSITIVE_SEARCH", 0x00000001) -FILE_CASE_PRESERVED_NAMES = Flag("FILE_CASE_PRESERVED_NAMES", 0x00000002) -FILE_UNICODE_ON_DISK = Flag("FILE_UNICODE_ON_DISK", 0x00000004) -FILE_PERSISTENT_ACLS = Flag("FILE_PERSISTENT_ACLS", 0x00000008) -FILE_FILE_COMPRESSION = Flag("FILE_FILE_COMPRESSION", 0x00000010) -FILE_VOLUME_QUOTAS = Flag("FILE_VOLUME_QUOTAS", 0x00000020) -FILE_SUPPORTS_SPARSE_FILES = Flag("FILE_SUPPORTS_SPARSE_FILES", 0x00000040) -FILE_SUPPORTS_REPARSE_POINTS = Flag("FILE_SUPPORTS_REPARSE_POINTS", 0x00000080) -FILE_SUPPORTS_REMOTE_STORAGE = Flag("FILE_SUPPORTS_REMOTE_STORAGE", 0x00000100) -FILE_VOLUME_IS_COMPRESSED = Flag("FILE_VOLUME_IS_COMPRESSED", 0x00008000) -FILE_SUPPORTS_OBJECT_IDS = Flag("FILE_SUPPORTS_OBJECT_IDS", 0x00010000) -FILE_SUPPORTS_ENCRYPTION = Flag("FILE_SUPPORTS_ENCRYPTION", 0x00020000) -FILE_NAMED_STREAMS = Flag("FILE_NAMED_STREAMS", 0x00040000) -FILE_READ_ONLY_VOLUME = Flag("FILE_READ_ONLY_VOLUME", 0x00080000) -FILE_SEQUENTIAL_WRITE_ONCE = Flag("FILE_SEQUENTIAL_WRITE_ONCE", 0x00100000) -FILE_SUPPORTS_TRANSACTIONS = Flag("FILE_SUPPORTS_TRANSACTIONS", 0x00200000) -FILE_SUPPORTS_HARD_LINKS = Flag("FILE_SUPPORTS_HARD_LINKS", 0x00400000) -FILE_SUPPORTS_EXTENDED_ATTRIBUTES = Flag("FILE_SUPPORTS_EXTENDED_ATTRIBUTES", 0x00800000) -FILE_SUPPORTS_OPEN_BY_FILE_ID = Flag("FILE_SUPPORTS_OPEN_BY_FILE_ID", 0x01000000) -FILE_SUPPORTS_USN_JOURNAL = Flag("FILE_SUPPORTS_USN_JOURNAL", 0x02000000) -HKEY_CLASSES_ROOT = Flag("HKEY_CLASSES_ROOT", ( 0x80000000 )) -HKEY_CURRENT_USER = Flag("HKEY_CURRENT_USER", ( 0x80000001 )) -HKEY_LOCAL_MACHINE = Flag("HKEY_LOCAL_MACHINE", ( 0x80000002 )) -HKEY_USERS = Flag("HKEY_USERS", ( 0x80000003 )) -HKEY_PERFORMANCE_DATA = Flag("HKEY_PERFORMANCE_DATA", ( 0x80000004 )) -HKEY_PERFORMANCE_TEXT = Flag("HKEY_PERFORMANCE_TEXT", ( 0x80000050 )) -HKEY_PERFORMANCE_NLSTEXT = Flag("HKEY_PERFORMANCE_NLSTEXT", ( 0x80000060 )) -RRF_RT_REG_NONE = Flag("RRF_RT_REG_NONE", 0x00000001) -RRF_RT_REG_SZ = Flag("RRF_RT_REG_SZ", 0x00000002) -RRF_RT_REG_EXPAND_SZ = Flag("RRF_RT_REG_EXPAND_SZ", 0x00000004) -RRF_RT_REG_BINARY = Flag("RRF_RT_REG_BINARY", 0x00000008) -RRF_RT_REG_DWORD = Flag("RRF_RT_REG_DWORD", 0x00000010) -RRF_RT_REG_MULTI_SZ = Flag("RRF_RT_REG_MULTI_SZ", 0x00000020) -RRF_RT_REG_QWORD = Flag("RRF_RT_REG_QWORD", 0x00000040) -RRF_RT_DWORD = Flag("RRF_RT_DWORD", ( RRF_RT_REG_BINARY | RRF_RT_REG_DWORD )) -RRF_RT_QWORD = Flag("RRF_RT_QWORD", ( RRF_RT_REG_BINARY | RRF_RT_REG_QWORD )) -RRF_RT_ANY = Flag("RRF_RT_ANY", 0x0000ffff) -RRF_NOEXPAND = Flag("RRF_NOEXPAND", 0x10000000) -RRF_ZEROONFAILURE = Flag("RRF_ZEROONFAILURE", 0x20000000) -KEY_QUERY_VALUE = Flag("KEY_QUERY_VALUE", ( 0x0001 )) -KEY_SET_VALUE = Flag("KEY_SET_VALUE", ( 0x0002 )) -KEY_CREATE_SUB_KEY = Flag("KEY_CREATE_SUB_KEY", ( 0x0004 )) -KEY_ENUMERATE_SUB_KEYS = Flag("KEY_ENUMERATE_SUB_KEYS", ( 0x0008 )) -KEY_NOTIFY = Flag("KEY_NOTIFY", ( 0x0010 )) -KEY_CREATE_LINK = Flag("KEY_CREATE_LINK", ( 0x0020 )) -KEY_WOW64_32KEY = Flag("KEY_WOW64_32KEY", ( 0x0200 )) -KEY_WOW64_64KEY = Flag("KEY_WOW64_64KEY", ( 0x0100 )) -KEY_WOW64_RES = Flag("KEY_WOW64_RES", ( 0x0300 )) -KEY_READ = Flag("KEY_READ", ( ( STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY ) & ( ~SYNCHRONIZE ) )) -KEY_WRITE = Flag("KEY_WRITE", ( ( STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY ) & ( ~SYNCHRONIZE ) )) -KEY_EXECUTE = Flag("KEY_EXECUTE", ( ( KEY_READ ) & ( ~SYNCHRONIZE ) )) -KEY_ALL_ACCESS = Flag("KEY_ALL_ACCESS", ( ( STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK ) & ( ~SYNCHRONIZE ) )) -STATUS_INFO_LENGTH_MISMATCH = Flag("STATUS_INFO_LENGTH_MISMATCH", ( 0xC0000004 )) -ERROR_NOT_ALL_ASSIGNED = Flag("ERROR_NOT_ALL_ASSIGNED", 1300) -S_OK = Flag("S_OK", 0) -S_FALSE = Flag("S_FALSE", 1) -E_NOINTERFACE = Flag("E_NOINTERFACE", 0x80004002) -E_FAIL = Flag("E_FAIL", 0x80004005) -DEBUG_EVENT_BREAKPOINT = Flag("DEBUG_EVENT_BREAKPOINT", 0x00000001) -DEBUG_EVENT_EXCEPTION = Flag("DEBUG_EVENT_EXCEPTION", 0x00000002) -DEBUG_EVENT_CREATE_THREAD = Flag("DEBUG_EVENT_CREATE_THREAD", 0x00000004) -DEBUG_EVENT_EXIT_THREAD = Flag("DEBUG_EVENT_EXIT_THREAD", 0x00000008) -DEBUG_EVENT_CREATE_PROCESS = Flag("DEBUG_EVENT_CREATE_PROCESS", 0x00000010) -DEBUG_EVENT_EXIT_PROCESS = Flag("DEBUG_EVENT_EXIT_PROCESS", 0x00000020) -DEBUG_EVENT_LOAD_MODULE = Flag("DEBUG_EVENT_LOAD_MODULE", 0x00000040) -DEBUG_EVENT_UNLOAD_MODULE = Flag("DEBUG_EVENT_UNLOAD_MODULE", 0x00000080) -DEBUG_EVENT_SYSTEM_ERROR = Flag("DEBUG_EVENT_SYSTEM_ERROR", 0x00000100) -DEBUG_EVENT_SESSION_STATUS = Flag("DEBUG_EVENT_SESSION_STATUS", 0x00000200) -DEBUG_EVENT_CHANGE_DEBUGGEE_STATE = Flag("DEBUG_EVENT_CHANGE_DEBUGGEE_STATE", 0x00000400) -DEBUG_EVENT_CHANGE_ENGINE_STATE = Flag("DEBUG_EVENT_CHANGE_ENGINE_STATE", 0x00000800) -DEBUG_EVENT_CHANGE_SYMBOL_STATE = Flag("DEBUG_EVENT_CHANGE_SYMBOL_STATE", 0x00001000) -WOW64_MAXIMUM_SUPPORTED_EXTENSION = Flag("WOW64_MAXIMUM_SUPPORTED_EXTENSION", 512) -WOW64_SIZE_OF_80387_REGISTERS = Flag("WOW64_SIZE_OF_80387_REGISTERS", 80) -REG_NONE = Flag("REG_NONE", ( 0 )) -REG_SZ = Flag("REG_SZ", ( 1 )) -REG_EXPAND_SZ = Flag("REG_EXPAND_SZ", ( 2 )) -REG_BINARY = Flag("REG_BINARY", ( 3 )) -REG_DWORD = Flag("REG_DWORD", ( 4 )) -REG_DWORD_LITTLE_ENDIAN = Flag("REG_DWORD_LITTLE_ENDIAN", ( 4 )) -REG_DWORD_BIG_ENDIAN = Flag("REG_DWORD_BIG_ENDIAN", ( 5 )) -REG_LINK = Flag("REG_LINK", ( 6 )) -REG_MULTI_SZ = Flag("REG_MULTI_SZ", ( 7 )) -REG_RESOURCE_LIST = Flag("REG_RESOURCE_LIST", ( 8 )) -REG_FULL_RESOURCE_DESCRIPTOR = Flag("REG_FULL_RESOURCE_DESCRIPTOR", ( 9 )) -REG_RESOURCE_REQUIREMENTS_LIST = Flag("REG_RESOURCE_REQUIREMENTS_LIST", ( 10 )) -REG_QWORD = Flag("REG_QWORD", ( 11 )) -REG_QWORD_LITTLE_ENDIAN = Flag("REG_QWORD_LITTLE_ENDIAN", ( 11 )) -IMAGE_FILE_RELOCS_STRIPPED = Flag("IMAGE_FILE_RELOCS_STRIPPED", 0x0001) -IMAGE_FILE_EXECUTABLE_IMAGE = Flag("IMAGE_FILE_EXECUTABLE_IMAGE", 0x0002) -IMAGE_FILE_LINE_NUMS_STRIPPED = Flag("IMAGE_FILE_LINE_NUMS_STRIPPED", 0x0004) -IMAGE_FILE_LOCAL_SYMS_STRIPPED = Flag("IMAGE_FILE_LOCAL_SYMS_STRIPPED", 0x0008) -IMAGE_FILE_AGGRESIVE_WS_TRIM = Flag("IMAGE_FILE_AGGRESIVE_WS_TRIM", 0x0010) -IMAGE_FILE_LARGE_ADDRESS_AWARE = Flag("IMAGE_FILE_LARGE_ADDRESS_AWARE", 0x0020) -IMAGE_FILE_BYTES_REVERSED_LO = Flag("IMAGE_FILE_BYTES_REVERSED_LO", 0x0080) -IMAGE_FILE_32BIT_MACHINE = Flag("IMAGE_FILE_32BIT_MACHINE", 0x0100) -IMAGE_FILE_DEBUG_STRIPPED = Flag("IMAGE_FILE_DEBUG_STRIPPED", 0x0200) -IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = Flag("IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP", 0x0400) -IMAGE_FILE_NET_RUN_FROM_SWAP = Flag("IMAGE_FILE_NET_RUN_FROM_SWAP", 0x0800) -IMAGE_FILE_SYSTEM = Flag("IMAGE_FILE_SYSTEM", 0x1000) -IMAGE_FILE_DLL = Flag("IMAGE_FILE_DLL", 0x2000) -IMAGE_FILE_UP_SYSTEM_ONLY = Flag("IMAGE_FILE_UP_SYSTEM_ONLY", 0x4000) -IMAGE_FILE_BYTES_REVERSED_HI = Flag("IMAGE_FILE_BYTES_REVERSED_HI", 0x8000) -IMAGE_FILE_MACHINE_UNKNOWN = Flag("IMAGE_FILE_MACHINE_UNKNOWN", 0) -IMAGE_FILE_MACHINE_I386 = Flag("IMAGE_FILE_MACHINE_I386", 0x014c) -IMAGE_FILE_MACHINE_R3000 = Flag("IMAGE_FILE_MACHINE_R3000", 0x0162) -IMAGE_FILE_MACHINE_R4000 = Flag("IMAGE_FILE_MACHINE_R4000", 0x0166) -IMAGE_FILE_MACHINE_R10000 = Flag("IMAGE_FILE_MACHINE_R10000", 0x0168) -IMAGE_FILE_MACHINE_WCEMIPSV2 = Flag("IMAGE_FILE_MACHINE_WCEMIPSV2", 0x0169) -IMAGE_FILE_MACHINE_ALPHA = Flag("IMAGE_FILE_MACHINE_ALPHA", 0x0184) -IMAGE_FILE_MACHINE_SH3 = Flag("IMAGE_FILE_MACHINE_SH3", 0x01a2) -IMAGE_FILE_MACHINE_SH3DSP = Flag("IMAGE_FILE_MACHINE_SH3DSP", 0x01a3) -IMAGE_FILE_MACHINE_SH3E = Flag("IMAGE_FILE_MACHINE_SH3E", 0x01a4) -IMAGE_FILE_MACHINE_SH4 = Flag("IMAGE_FILE_MACHINE_SH4", 0x01a6) -IMAGE_FILE_MACHINE_SH5 = Flag("IMAGE_FILE_MACHINE_SH5", 0x01a8) -IMAGE_FILE_MACHINE_ARM = Flag("IMAGE_FILE_MACHINE_ARM", 0x01c0) -IMAGE_FILE_MACHINE_THUMB = Flag("IMAGE_FILE_MACHINE_THUMB", 0x01c2) -IMAGE_FILE_MACHINE_ARMNT = Flag("IMAGE_FILE_MACHINE_ARMNT", 0x01c4) -IMAGE_FILE_MACHINE_AM33 = Flag("IMAGE_FILE_MACHINE_AM33", 0x01d3) -IMAGE_FILE_MACHINE_POWERPC = Flag("IMAGE_FILE_MACHINE_POWERPC", 0x01F0) -IMAGE_FILE_MACHINE_POWERPCFP = Flag("IMAGE_FILE_MACHINE_POWERPCFP", 0x01f1) -IMAGE_FILE_MACHINE_IA64 = Flag("IMAGE_FILE_MACHINE_IA64", 0x0200) -IMAGE_FILE_MACHINE_MIPS16 = Flag("IMAGE_FILE_MACHINE_MIPS16", 0x0266) -IMAGE_FILE_MACHINE_ALPHA64 = Flag("IMAGE_FILE_MACHINE_ALPHA64", 0x0284) -IMAGE_FILE_MACHINE_MIPSFPU = Flag("IMAGE_FILE_MACHINE_MIPSFPU", 0x0366) -IMAGE_FILE_MACHINE_MIPSFPU16 = Flag("IMAGE_FILE_MACHINE_MIPSFPU16", 0x0466) -IMAGE_FILE_MACHINE_AXP64 = Flag("IMAGE_FILE_MACHINE_AXP64", IMAGE_FILE_MACHINE_ALPHA64) -IMAGE_FILE_MACHINE_TRICORE = Flag("IMAGE_FILE_MACHINE_TRICORE", 0x0520) -IMAGE_FILE_MACHINE_CEF = Flag("IMAGE_FILE_MACHINE_CEF", 0x0CEF) -IMAGE_FILE_MACHINE_EBC = Flag("IMAGE_FILE_MACHINE_EBC", 0x0EBC) -IMAGE_FILE_MACHINE_AMD64 = Flag("IMAGE_FILE_MACHINE_AMD64", 0x8664) -IMAGE_FILE_MACHINE_M32R = Flag("IMAGE_FILE_MACHINE_M32R", 0x9041) -IMAGE_FILE_MACHINE_CEE = Flag("IMAGE_FILE_MACHINE_CEE", 0xC0EE) -SECURITY_MANDATORY_UNTRUSTED_RID = Flag("SECURITY_MANDATORY_UNTRUSTED_RID", ( 0x00000000 )) -SECURITY_MANDATORY_LOW_RID = Flag("SECURITY_MANDATORY_LOW_RID", ( 0x00001000 )) -SECURITY_MANDATORY_MEDIUM_RID = Flag("SECURITY_MANDATORY_MEDIUM_RID", ( 0x00002000 )) -SECURITY_MANDATORY_MEDIUM_PLUS_RID = Flag("SECURITY_MANDATORY_MEDIUM_PLUS_RID", ( SECURITY_MANDATORY_MEDIUM_RID + 0x100 )) -SECURITY_MANDATORY_HIGH_RID = Flag("SECURITY_MANDATORY_HIGH_RID", ( 0x00003000 )) -SECURITY_MANDATORY_SYSTEM_RID = Flag("SECURITY_MANDATORY_SYSTEM_RID", ( 0x00004000 )) -SECURITY_MANDATORY_PROTECTED_PROCESS_RID = Flag("SECURITY_MANDATORY_PROTECTED_PROCESS_RID", ( 0x00005000 )) -SECTION_QUERY = Flag("SECTION_QUERY", 0x0001) -SECTION_MAP_WRITE = Flag("SECTION_MAP_WRITE", 0x0002) -SECTION_MAP_READ = Flag("SECTION_MAP_READ", 0x0004) -SECTION_MAP_EXECUTE = Flag("SECTION_MAP_EXECUTE", 0x0008) -SECTION_EXTEND_SIZE = Flag("SECTION_EXTEND_SIZE", 0x0010) -SECTION_MAP_EXECUTE_EXPLICIT = Flag("SECTION_MAP_EXECUTE_EXPLICIT", 0x0020) -SECTION_ALL_ACCESS = Flag("SECTION_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE )) -FILE_MAP_COPY = Flag("FILE_MAP_COPY", SECTION_QUERY) -FILE_MAP_WRITE = Flag("FILE_MAP_WRITE", SECTION_MAP_WRITE) -FILE_MAP_READ = Flag("FILE_MAP_READ", SECTION_MAP_READ) -FILE_MAP_ALL_ACCESS = Flag("FILE_MAP_ALL_ACCESS", SECTION_ALL_ACCESS) -FILE_MAP_EXECUTE = Flag("FILE_MAP_EXECUTE", SECTION_MAP_EXECUTE_EXPLICIT) -SC_MANAGER_CONNECT = Flag("SC_MANAGER_CONNECT", 0x0001) -SC_MANAGER_CREATE_SERVICE = Flag("SC_MANAGER_CREATE_SERVICE", 0x0002) -SC_MANAGER_ENUMERATE_SERVICE = Flag("SC_MANAGER_ENUMERATE_SERVICE", 0x0004) -SC_MANAGER_LOCK = Flag("SC_MANAGER_LOCK", 0x0008) -SC_MANAGER_QUERY_LOCK_STATUS = Flag("SC_MANAGER_QUERY_LOCK_STATUS", 0x0010) -SC_MANAGER_MODIFY_BOOT_CONFIG = Flag("SC_MANAGER_MODIFY_BOOT_CONFIG", 0x0020) -SC_MANAGER_ALL_ACCESS = Flag("SC_MANAGER_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG )) -SERVICE_QUERY_CONFIG = Flag("SERVICE_QUERY_CONFIG", 0x0001) -SERVICE_CHANGE_CONFIG = Flag("SERVICE_CHANGE_CONFIG", 0x0002) -SERVICE_QUERY_STATUS = Flag("SERVICE_QUERY_STATUS", 0x0004) -SERVICE_ENUMERATE_DEPENDENTS = Flag("SERVICE_ENUMERATE_DEPENDENTS", 0x0008) -SERVICE_START = Flag("SERVICE_START", 0x0010) -SERVICE_STOP = Flag("SERVICE_STOP", 0x0020) -SERVICE_PAUSE_CONTINUE = Flag("SERVICE_PAUSE_CONTINUE", 0x0040) -SERVICE_INTERROGATE = Flag("SERVICE_INTERROGATE", 0x0080) -SERVICE_USER_DEFINED_CONTROL = Flag("SERVICE_USER_DEFINED_CONTROL", 0x0100) -SERVICE_ALL_ACCESS = Flag("SERVICE_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL )) -SERVICE_RUNS_IN_SYSTEM_PROCESS = Flag("SERVICE_RUNS_IN_SYSTEM_PROCESS", 0x00000001) -SERVICE_KERNEL_DRIVER = Flag("SERVICE_KERNEL_DRIVER", 0x00000001) -SERVICE_FILE_SYSTEM_DRIVER = Flag("SERVICE_FILE_SYSTEM_DRIVER", 0x00000002) -SERVICE_ADAPTER = Flag("SERVICE_ADAPTER", 0x00000004) -SERVICE_RECOGNIZER_DRIVER = Flag("SERVICE_RECOGNIZER_DRIVER", 0x00000008) -SERVICE_DRIVER = Flag("SERVICE_DRIVER", ( SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER )) -SERVICE_WIN32_OWN_PROCESS = Flag("SERVICE_WIN32_OWN_PROCESS", 0x00000010) -SERVICE_WIN32_SHARE_PROCESS = Flag("SERVICE_WIN32_SHARE_PROCESS", 0x00000020) -SERVICE_WIN32 = Flag("SERVICE_WIN32", ( SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS )) -SERVICE_INTERACTIVE_PROCESS = Flag("SERVICE_INTERACTIVE_PROCESS", 0x00000100) -SERVICE_TYPE_ALL = Flag("SERVICE_TYPE_ALL", ( SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS )) -SERVICE_BOOT_START = Flag("SERVICE_BOOT_START", 0x00000000) -SERVICE_SYSTEM_START = Flag("SERVICE_SYSTEM_START", 0x00000001) -SERVICE_AUTO_START = Flag("SERVICE_AUTO_START", 0x00000002) -SERVICE_DEMAND_START = Flag("SERVICE_DEMAND_START", 0x00000003) -SERVICE_DISABLED = Flag("SERVICE_DISABLED", 0x00000004) -SERVICE_ERROR_IGNORE = Flag("SERVICE_ERROR_IGNORE", 0x00000000) -SERVICE_ERROR_NORMAL = Flag("SERVICE_ERROR_NORMAL", 0x00000001) -SERVICE_ERROR_SEVERE = Flag("SERVICE_ERROR_SEVERE", 0x00000002) -SERVICE_ERROR_CRITICAL = Flag("SERVICE_ERROR_CRITICAL", 0x00000003) -SERVICE_ACTIVE = Flag("SERVICE_ACTIVE", 0x00000001) -SERVICE_INACTIVE = Flag("SERVICE_INACTIVE", 0x00000002) -SERVICE_STATE_ALL = Flag("SERVICE_STATE_ALL", ( SERVICE_ACTIVE | SERVICE_INACTIVE )) -SERVICE_CONTROL_STOP = Flag("SERVICE_CONTROL_STOP", 0x00000001) -SERVICE_CONTROL_PAUSE = Flag("SERVICE_CONTROL_PAUSE", 0x00000002) -SERVICE_CONTROL_CONTINUE = Flag("SERVICE_CONTROL_CONTINUE", 0x00000003) -SERVICE_CONTROL_INTERROGATE = Flag("SERVICE_CONTROL_INTERROGATE", 0x00000004) -SERVICE_CONTROL_SHUTDOWN = Flag("SERVICE_CONTROL_SHUTDOWN", 0x00000005) -SERVICE_CONTROL_PARAMCHANGE = Flag("SERVICE_CONTROL_PARAMCHANGE", 0x00000006) -SERVICE_CONTROL_NETBINDADD = Flag("SERVICE_CONTROL_NETBINDADD", 0x00000007) -SERVICE_CONTROL_NETBINDREMOVE = Flag("SERVICE_CONTROL_NETBINDREMOVE", 0x00000008) -SERVICE_CONTROL_NETBINDENABLE = Flag("SERVICE_CONTROL_NETBINDENABLE", 0x00000009) -SERVICE_CONTROL_NETBINDDISABLE = Flag("SERVICE_CONTROL_NETBINDDISABLE", 0x0000000A) -SERVICE_CONTROL_DEVICEEVENT = Flag("SERVICE_CONTROL_DEVICEEVENT", 0x0000000B) -SERVICE_CONTROL_HARDWAREPROFILECHANGE = Flag("SERVICE_CONTROL_HARDWAREPROFILECHANGE", 0x0000000C) -SERVICE_CONTROL_POWEREVENT = Flag("SERVICE_CONTROL_POWEREVENT", 0x0000000D) -SERVICE_CONTROL_SESSIONCHANGE = Flag("SERVICE_CONTROL_SESSIONCHANGE", 0x0000000E) -SERVICE_CONTROL_PRESHUTDOWN = Flag("SERVICE_CONTROL_PRESHUTDOWN", 0x0000000F) -SERVICE_CONTROL_TIMECHANGE = Flag("SERVICE_CONTROL_TIMECHANGE", 0x00000010) -SERVICE_CONTROL_TRIGGEREVENT = Flag("SERVICE_CONTROL_TRIGGEREVENT", 0x00000020) -SERVICE_STOPPED = Flag("SERVICE_STOPPED", 0x00000001) -SERVICE_START_PENDING = Flag("SERVICE_START_PENDING", 0x00000002) -SERVICE_STOP_PENDING = Flag("SERVICE_STOP_PENDING", 0x00000003) -SERVICE_RUNNING = Flag("SERVICE_RUNNING", 0x00000004) -SERVICE_CONTINUE_PENDING = Flag("SERVICE_CONTINUE_PENDING", 0x00000005) -SERVICE_PAUSE_PENDING = Flag("SERVICE_PAUSE_PENDING", 0x00000006) -SERVICE_PAUSED = Flag("SERVICE_PAUSED", 0x00000007) -SERVICE_ACCEPT_STOP = Flag("SERVICE_ACCEPT_STOP", 0x00000001) -SERVICE_ACCEPT_PAUSE_CONTINUE = Flag("SERVICE_ACCEPT_PAUSE_CONTINUE", 0x00000002) -SERVICE_ACCEPT_SHUTDOWN = Flag("SERVICE_ACCEPT_SHUTDOWN", 0x00000004) -SERVICE_ACCEPT_PARAMCHANGE = Flag("SERVICE_ACCEPT_PARAMCHANGE", 0x00000008) -SERVICE_ACCEPT_NETBINDCHANGE = Flag("SERVICE_ACCEPT_NETBINDCHANGE", 0x00000010) -SERVICE_ACCEPT_HARDWAREPROFILECHANGE = Flag("SERVICE_ACCEPT_HARDWAREPROFILECHANGE", 0x00000020) -SERVICE_ACCEPT_POWEREVENT = Flag("SERVICE_ACCEPT_POWEREVENT", 0x00000040) -SERVICE_ACCEPT_SESSIONCHANGE = Flag("SERVICE_ACCEPT_SESSIONCHANGE", 0x00000080) -SERVICE_ACCEPT_PRESHUTDOWN = Flag("SERVICE_ACCEPT_PRESHUTDOWN", 0x00000100) -SERVICE_ACCEPT_TIMECHANGE = Flag("SERVICE_ACCEPT_TIMECHANGE", 0x00000200) -SERVICE_ACCEPT_TRIGGEREVENT = Flag("SERVICE_ACCEPT_TRIGGEREVENT", 0x00000400) -DRIVE_UNKNOWN = Flag("DRIVE_UNKNOWN", 0) -DRIVE_NO_ROOT_DIR = Flag("DRIVE_NO_ROOT_DIR", 1) -DRIVE_REMOVABLE = Flag("DRIVE_REMOVABLE", 2) -DRIVE_FIXED = Flag("DRIVE_FIXED", 3) -DRIVE_REMOTE = Flag("DRIVE_REMOTE", 4) -DRIVE_CDROM = Flag("DRIVE_CDROM", 5) -DRIVE_RAMDISK = Flag("DRIVE_RAMDISK", 6) -DUPLICATE_CLOSE_SOURCE = Flag("DUPLICATE_CLOSE_SOURCE", 0x00000001) -DUPLICATE_SAME_ACCESS = Flag("DUPLICATE_SAME_ACCESS", 0x00000002) -VER_NT_WORKSTATION = Flag("VER_NT_WORKSTATION", 0x0000001) -VER_NT_DOMAIN_CONTROLLER = Flag("VER_NT_DOMAIN_CONTROLLER", 0x0000002) -VER_NT_SERVER = Flag("VER_NT_SERVER", 0x0000003) -SM_CXSCREEN = Flag("SM_CXSCREEN", 0) -SM_CYSCREEN = Flag("SM_CYSCREEN", 1) -SM_CXVSCROLL = Flag("SM_CXVSCROLL", 2) -SM_CYHSCROLL = Flag("SM_CYHSCROLL", 3) -SM_CYCAPTION = Flag("SM_CYCAPTION", 4) -SM_CXBORDER = Flag("SM_CXBORDER", 5) -SM_CYBORDER = Flag("SM_CYBORDER", 6) -SM_CXDLGFRAME = Flag("SM_CXDLGFRAME", 7) -SM_CYDLGFRAME = Flag("SM_CYDLGFRAME", 8) -SM_CYVTHUMB = Flag("SM_CYVTHUMB", 9) -SM_CXHTHUMB = Flag("SM_CXHTHUMB", 10) -SM_CXICON = Flag("SM_CXICON", 11) -SM_CYICON = Flag("SM_CYICON", 12) -SM_CXCURSOR = Flag("SM_CXCURSOR", 13) -SM_CYCURSOR = Flag("SM_CYCURSOR", 14) -SM_CYMENU = Flag("SM_CYMENU", 15) -SM_CXFULLSCREEN = Flag("SM_CXFULLSCREEN", 16) -SM_CYFULLSCREEN = Flag("SM_CYFULLSCREEN", 17) -SM_CYKANJIWINDOW = Flag("SM_CYKANJIWINDOW", 18) -SM_MOUSEPRESENT = Flag("SM_MOUSEPRESENT", 19) -SM_CYVSCROLL = Flag("SM_CYVSCROLL", 20) -SM_CXHSCROLL = Flag("SM_CXHSCROLL", 21) -SM_DEBUG = Flag("SM_DEBUG", 22) -SM_SWAPBUTTON = Flag("SM_SWAPBUTTON", 23) -SM_RESERVED1 = Flag("SM_RESERVED1", 24) -SM_RESERVED2 = Flag("SM_RESERVED2", 25) -SM_RESERVED3 = Flag("SM_RESERVED3", 26) -SM_RESERVED4 = Flag("SM_RESERVED4", 27) -SM_CXMIN = Flag("SM_CXMIN", 28) -SM_CYMIN = Flag("SM_CYMIN", 29) -SM_CXSIZE = Flag("SM_CXSIZE", 30) -SM_CYSIZE = Flag("SM_CYSIZE", 31) -SM_CXFRAME = Flag("SM_CXFRAME", 32) -SM_CYFRAME = Flag("SM_CYFRAME", 33) -SM_CXMINTRACK = Flag("SM_CXMINTRACK", 34) -SM_CYMINTRACK = Flag("SM_CYMINTRACK", 35) -SM_CXDOUBLECLK = Flag("SM_CXDOUBLECLK", 36) -SM_CYDOUBLECLK = Flag("SM_CYDOUBLECLK", 37) -SM_CXICONSPACING = Flag("SM_CXICONSPACING", 38) -SM_CYICONSPACING = Flag("SM_CYICONSPACING", 39) -SM_MENUDROPALIGNMENT = Flag("SM_MENUDROPALIGNMENT", 40) -SM_PENWINDOWS = Flag("SM_PENWINDOWS", 41) -SM_DBCSENABLED = Flag("SM_DBCSENABLED", 42) -SM_CMOUSEBUTTONS = Flag("SM_CMOUSEBUTTONS", 43) -SM_CXFIXEDFRAME = Flag("SM_CXFIXEDFRAME", SM_CXDLGFRAME) -SM_CYFIXEDFRAME = Flag("SM_CYFIXEDFRAME", SM_CYDLGFRAME) -SM_CXSIZEFRAME = Flag("SM_CXSIZEFRAME", SM_CXFRAME) -SM_CYSIZEFRAME = Flag("SM_CYSIZEFRAME", SM_CYFRAME) -SM_SECURE = Flag("SM_SECURE", 44) -SM_CXEDGE = Flag("SM_CXEDGE", 45) -SM_CYEDGE = Flag("SM_CYEDGE", 46) -SM_CXMINSPACING = Flag("SM_CXMINSPACING", 47) -SM_CYMINSPACING = Flag("SM_CYMINSPACING", 48) -SM_CXSMICON = Flag("SM_CXSMICON", 49) -SM_CYSMICON = Flag("SM_CYSMICON", 50) -SM_CYSMCAPTION = Flag("SM_CYSMCAPTION", 51) -SM_CXSMSIZE = Flag("SM_CXSMSIZE", 52) -SM_CYSMSIZE = Flag("SM_CYSMSIZE", 53) -SM_CXMENUSIZE = Flag("SM_CXMENUSIZE", 54) -SM_CYMENUSIZE = Flag("SM_CYMENUSIZE", 55) -SM_ARRANGE = Flag("SM_ARRANGE", 56) -SM_CXMINIMIZED = Flag("SM_CXMINIMIZED", 57) -SM_CYMINIMIZED = Flag("SM_CYMINIMIZED", 58) -SM_CXMAXTRACK = Flag("SM_CXMAXTRACK", 59) -SM_CYMAXTRACK = Flag("SM_CYMAXTRACK", 60) -SM_CXMAXIMIZED = Flag("SM_CXMAXIMIZED", 61) -SM_CYMAXIMIZED = Flag("SM_CYMAXIMIZED", 62) -SM_NETWORK = Flag("SM_NETWORK", 63) -SM_CLEANBOOT = Flag("SM_CLEANBOOT", 67) -SM_CXDRAG = Flag("SM_CXDRAG", 68) -SM_CYDRAG = Flag("SM_CYDRAG", 69) -SM_SHOWSOUNDS = Flag("SM_SHOWSOUNDS", 70) -SM_CXMENUCHECK = Flag("SM_CXMENUCHECK", 71) -SM_CYMENUCHECK = Flag("SM_CYMENUCHECK", 72) -SM_SLOWMACHINE = Flag("SM_SLOWMACHINE", 73) -SM_MIDEASTENABLED = Flag("SM_MIDEASTENABLED", 74) -SM_MOUSEWHEELPRESENT = Flag("SM_MOUSEWHEELPRESENT", 75) -SM_XVIRTUALSCREEN = Flag("SM_XVIRTUALSCREEN", 76) -SM_YVIRTUALSCREEN = Flag("SM_YVIRTUALSCREEN", 77) -SM_CXVIRTUALSCREEN = Flag("SM_CXVIRTUALSCREEN", 78) -SM_CYVIRTUALSCREEN = Flag("SM_CYVIRTUALSCREEN", 79) -SM_CMONITORS = Flag("SM_CMONITORS", 80) -SM_SAMEDISPLAYFORMAT = Flag("SM_SAMEDISPLAYFORMAT", 81) -SM_IMMENABLED = Flag("SM_IMMENABLED", 82) -SM_CXFOCUSBORDER = Flag("SM_CXFOCUSBORDER", 83) -SM_CYFOCUSBORDER = Flag("SM_CYFOCUSBORDER", 84) -SM_TABLETPC = Flag("SM_TABLETPC", 86) -SM_MEDIACENTER = Flag("SM_MEDIACENTER", 87) -SM_STARTER = Flag("SM_STARTER", 88) -SM_SERVERR2 = Flag("SM_SERVERR2", 89) -SM_MOUSEHORIZONTALWHEELPRESENT = Flag("SM_MOUSEHORIZONTALWHEELPRESENT", 91) -SM_CXPADDEDBORDER = Flag("SM_CXPADDEDBORDER", 92) -SM_DIGITIZER = Flag("SM_DIGITIZER", 94) -SM_MAXIMUMTOUCHES = Flag("SM_MAXIMUMTOUCHES", 95) -SM_REMOTESESSION = Flag("SM_REMOTESESSION", 0x1000) -SM_SHUTTINGDOWN = Flag("SM_SHUTTINGDOWN", 0x2000) -SM_REMOTECONTROL = Flag("SM_REMOTECONTROL", 0x2001) -SM_CARETBLINKINGENABLED = Flag("SM_CARETBLINKINGENABLED", 0x2002) -RPC_C_AUTHN_LEVEL_DEFAULT = Flag("RPC_C_AUTHN_LEVEL_DEFAULT", 0) -RPC_C_AUTHN_LEVEL_NONE = Flag("RPC_C_AUTHN_LEVEL_NONE", 1) -RPC_C_AUTHN_LEVEL_CONNECT = Flag("RPC_C_AUTHN_LEVEL_CONNECT", 2) -RPC_C_AUTHN_LEVEL_CALL = Flag("RPC_C_AUTHN_LEVEL_CALL", 3) -RPC_C_AUTHN_LEVEL_PKT = Flag("RPC_C_AUTHN_LEVEL_PKT", 4) -RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = Flag("RPC_C_AUTHN_LEVEL_PKT_INTEGRITY", 5) -RPC_C_AUTHN_LEVEL_PKT_PRIVACY = Flag("RPC_C_AUTHN_LEVEL_PKT_PRIVACY", 6) -RPC_C_IMP_LEVEL_DEFAULT = Flag("RPC_C_IMP_LEVEL_DEFAULT", 0) -RPC_C_IMP_LEVEL_ANONYMOUS = Flag("RPC_C_IMP_LEVEL_ANONYMOUS", 1) -RPC_C_IMP_LEVEL_IDENTIFY = Flag("RPC_C_IMP_LEVEL_IDENTIFY", 2) -RPC_C_IMP_LEVEL_IMPERSONATE = Flag("RPC_C_IMP_LEVEL_IMPERSONATE", 3) -RPC_C_IMP_LEVEL_DELEGATE = Flag("RPC_C_IMP_LEVEL_DELEGATE", 4) -RPC_C_QOS_IDENTITY_STATIC = Flag("RPC_C_QOS_IDENTITY_STATIC", 0) -RPC_C_QOS_IDENTITY_DYNAMIC = Flag("RPC_C_QOS_IDENTITY_DYNAMIC", 1) -RPC_C_QOS_CAPABILITIES_DEFAULT = Flag("RPC_C_QOS_CAPABILITIES_DEFAULT", 0x0) -RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH = Flag("RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH", 0x1) -RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC = Flag("RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC", 0x2) -RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY = Flag("RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY", 0x4) -MAX_ADAPTER_NAME = Flag("MAX_ADAPTER_NAME", 128) -MAXLEN_PHYSADDR = Flag("MAXLEN_PHYSADDR", 8) -MAXLEN_IFDESCR = Flag("MAXLEN_IFDESCR", 256) -MAX_INTERFACE_NAME_LEN = Flag("MAX_INTERFACE_NAME_LEN", 256) -DIRECTORY_QUERY = Flag("DIRECTORY_QUERY", ( 0x0001 )) -DIRECTORY_TRAVERSE = Flag("DIRECTORY_TRAVERSE", ( 0x0002 )) -DIRECTORY_CREATE_OBJECT = Flag("DIRECTORY_CREATE_OBJECT", ( 0x0004 )) -DIRECTORY_CREATE_SUBDIRECTORY = Flag("DIRECTORY_CREATE_SUBDIRECTORY", ( 0x0008 )) -DIRECTORY_ALL_ACCESS = Flag("DIRECTORY_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | 0xF )) -OBJ_INHERIT = Flag("OBJ_INHERIT", 0x00000002) -OBJ_PERMANENT = Flag("OBJ_PERMANENT", 0x00000010) -OBJ_EXCLUSIVE = Flag("OBJ_EXCLUSIVE", 0x00000020) -OBJ_CASE_INSENSITIVE = Flag("OBJ_CASE_INSENSITIVE", 0x00000040) -OBJ_OPENIF = Flag("OBJ_OPENIF", 0x00000080) -OBJ_OPENLINK = Flag("OBJ_OPENLINK", 0x00000100) -OBJ_KERNEL_HANDLE = Flag("OBJ_KERNEL_HANDLE", 0x00000200) -OBJ_FORCE_ACCESS_CHECK = Flag("OBJ_FORCE_ACCESS_CHECK", 0x00000400) -OBJ_VALID_ATTRIBUTES = Flag("OBJ_VALID_ATTRIBUTES", 0x000007F2) -FILE_SUPERSEDE = Flag("FILE_SUPERSEDE", 0x00000000) -FILE_OPEN = Flag("FILE_OPEN", 0x00000001) -FILE_CREATE = Flag("FILE_CREATE", 0x00000002) -FILE_OPEN_IF = Flag("FILE_OPEN_IF", 0x00000003) -FILE_OVERWRITE = Flag("FILE_OVERWRITE", 0x00000004) -FILE_OVERWRITE_IF = Flag("FILE_OVERWRITE_IF", 0x00000005) -FILE_MAXIMUM_DISPOSITION = Flag("FILE_MAXIMUM_DISPOSITION", 0x00000005) -TRUST_E_PROVIDER_UNKNOWN = Flag("TRUST_E_PROVIDER_UNKNOWN", ( 0x800B0001 )) -TRUST_E_ACTION_UNKNOWN = Flag("TRUST_E_ACTION_UNKNOWN", ( 0x800B0002 )) -TRUST_E_SUBJECT_FORM_UNKNOWN = Flag("TRUST_E_SUBJECT_FORM_UNKNOWN", ( 0x800B0003 )) -DIGSIG_E_ENCODE = Flag("DIGSIG_E_ENCODE", ( 0x800B0005 )) -TRUST_E_SUBJECT_NOT_TRUSTED = Flag("TRUST_E_SUBJECT_NOT_TRUSTED", ( 0x800B0004 )) -DIGSIG_E_DECODE = Flag("DIGSIG_E_DECODE", ( 0x800B0006 )) -DIGSIG_E_EXTENSIBILITY = Flag("DIGSIG_E_EXTENSIBILITY", ( 0x800B0007 )) -PERSIST_E_SIZEDEFINITE = Flag("PERSIST_E_SIZEDEFINITE", ( 0x800B0009 )) -DIGSIG_E_CRYPTO = Flag("DIGSIG_E_CRYPTO", ( 0x800B0008 )) -PERSIST_E_SIZEINDEFINITE = Flag("PERSIST_E_SIZEINDEFINITE", ( 0x800B000A )) -PERSIST_E_NOTSELFSIZING = Flag("PERSIST_E_NOTSELFSIZING", ( 0x800B000B )) -TRUST_E_NOSIGNATURE = Flag("TRUST_E_NOSIGNATURE", ( 0x800B0100 )) -CERT_E_EXPIRED = Flag("CERT_E_EXPIRED", ( 0x800B0101 )) -CERT_E_VALIDITYPERIODNESTING = Flag("CERT_E_VALIDITYPERIODNESTING", ( 0x800B0102 )) -CERT_E_PURPOSE = Flag("CERT_E_PURPOSE", ( 0x800B0106 )) -CERT_E_ISSUERCHAINING = Flag("CERT_E_ISSUERCHAINING", ( 0x800B0107 )) -CERT_E_MALFORMED = Flag("CERT_E_MALFORMED", ( 0x800B0108 )) -CERT_E_UNTRUSTEDROOT = Flag("CERT_E_UNTRUSTEDROOT", ( 0x800B0109 )) -CERT_E_CHAINING = Flag("CERT_E_CHAINING", ( 0x800B010A )) -TRUST_E_FAIL = Flag("TRUST_E_FAIL", ( 0x800B010B )) -CERT_E_REVOKED = Flag("CERT_E_REVOKED", ( 0x800B010C )) -CERT_E_UNTRUSTEDTESTROOT = Flag("CERT_E_UNTRUSTEDTESTROOT", ( 0x800B010D )) -CERT_E_REVOCATION_FAILURE = Flag("CERT_E_REVOCATION_FAILURE", ( 0x800B010E )) -CERT_E_CN_NO_MATCH = Flag("CERT_E_CN_NO_MATCH", ( 0x800B010F )) -CERT_E_WRONG_USAGE = Flag("CERT_E_WRONG_USAGE", ( 0x800B0110 )) -TRUST_E_EXPLICIT_DISTRUST = Flag("TRUST_E_EXPLICIT_DISTRUST", ( 0x800B0111 )) -CERT_E_UNTRUSTEDCA = Flag("CERT_E_UNTRUSTEDCA", ( 0x800B0112 )) -CERT_E_INVALID_POLICY = Flag("CERT_E_INVALID_POLICY", ( 0x800B0113 )) -CERT_E_INVALID_NAME = Flag("CERT_E_INVALID_NAME", ( 0x800B0114 )) -CRYPT_E_FILE_ERROR = Flag("CRYPT_E_FILE_ERROR", ( 0x80092003 )) -IMAGE_SCN_TYPE_REG = Flag("IMAGE_SCN_TYPE_REG", 0x00000000) -IMAGE_SCN_TYPE_DSECT = Flag("IMAGE_SCN_TYPE_DSECT", 0x00000001) -IMAGE_SCN_TYPE_NOLOAD = Flag("IMAGE_SCN_TYPE_NOLOAD", 0x00000002) -IMAGE_SCN_TYPE_GROUP = Flag("IMAGE_SCN_TYPE_GROUP", 0x00000004) -IMAGE_SCN_TYPE_NO_PAD = Flag("IMAGE_SCN_TYPE_NO_PAD", 0x00000008) -IMAGE_SCN_TYPE_COPY = Flag("IMAGE_SCN_TYPE_COPY", 0x00000010) -IMAGE_SCN_CNT_CODE = Flag("IMAGE_SCN_CNT_CODE", 0x00000020) -IMAGE_SCN_CNT_INITIALIZED_DATA = Flag("IMAGE_SCN_CNT_INITIALIZED_DATA", 0x00000040) -IMAGE_SCN_CNT_UNINITIALIZED_DATA = Flag("IMAGE_SCN_CNT_UNINITIALIZED_DATA", 0x00000080) -IMAGE_SCN_LNK_OTHER = Flag("IMAGE_SCN_LNK_OTHER", 0x00000100) -IMAGE_SCN_LNK_INFO = Flag("IMAGE_SCN_LNK_INFO", 0x00000200) -IMAGE_SCN_TYPE_OVER = Flag("IMAGE_SCN_TYPE_OVER", 0x00000400) -IMAGE_SCN_LNK_REMOVE = Flag("IMAGE_SCN_LNK_REMOVE", 0x00000800) -IMAGE_SCN_LNK_COMDAT = Flag("IMAGE_SCN_LNK_COMDAT", 0x00001000) -IMAGE_SCN_NO_DEFER_SPEC_EXC = Flag("IMAGE_SCN_NO_DEFER_SPEC_EXC", 0x00004000) -IMAGE_SCN_GPREL = Flag("IMAGE_SCN_GPREL", 0x00008000) -IMAGE_SCN_MEM_FARDATA = Flag("IMAGE_SCN_MEM_FARDATA", 0x00008000) -IMAGE_SCN_MEM_PURGEABLE = Flag("IMAGE_SCN_MEM_PURGEABLE", 0x00020000) -IMAGE_SCN_MEM_16BIT = Flag("IMAGE_SCN_MEM_16BIT", 0x00020000) -IMAGE_SCN_MEM_LOCKED = Flag("IMAGE_SCN_MEM_LOCKED", 0x00040000) -IMAGE_SCN_MEM_PRELOAD = Flag("IMAGE_SCN_MEM_PRELOAD", 0x00080000) -IMAGE_SCN_ALIGN_1BYTES = Flag("IMAGE_SCN_ALIGN_1BYTES", 0x00100000) -IMAGE_SCN_ALIGN_2BYTES = Flag("IMAGE_SCN_ALIGN_2BYTES", 0x00200000) -IMAGE_SCN_ALIGN_4BYTES = Flag("IMAGE_SCN_ALIGN_4BYTES", 0x00300000) -IMAGE_SCN_ALIGN_8BYTES = Flag("IMAGE_SCN_ALIGN_8BYTES", 0x00400000) -IMAGE_SCN_ALIGN_16BYTES = Flag("IMAGE_SCN_ALIGN_16BYTES", 0x00500000) -IMAGE_SCN_ALIGN_32BYTES = Flag("IMAGE_SCN_ALIGN_32BYTES", 0x00600000) -IMAGE_SCN_ALIGN_64BYTES = Flag("IMAGE_SCN_ALIGN_64BYTES", 0x00700000) -IMAGE_SCN_ALIGN_128BYTES = Flag("IMAGE_SCN_ALIGN_128BYTES", 0x00800000) -IMAGE_SCN_ALIGN_256BYTES = Flag("IMAGE_SCN_ALIGN_256BYTES", 0x00900000) -IMAGE_SCN_ALIGN_512BYTES = Flag("IMAGE_SCN_ALIGN_512BYTES", 0x00A00000) -IMAGE_SCN_ALIGN_1024BYTES = Flag("IMAGE_SCN_ALIGN_1024BYTES", 0x00B00000) -IMAGE_SCN_ALIGN_2048BYTES = Flag("IMAGE_SCN_ALIGN_2048BYTES", 0x00C00000) -IMAGE_SCN_ALIGN_4096BYTES = Flag("IMAGE_SCN_ALIGN_4096BYTES", 0x00D00000) -IMAGE_SCN_ALIGN_8192BYTES = Flag("IMAGE_SCN_ALIGN_8192BYTES", 0x00E00000) -IMAGE_SCN_ALIGN_MASK = Flag("IMAGE_SCN_ALIGN_MASK", 0x00F00000) -IMAGE_SCN_LNK_NRELOC_OVFL = Flag("IMAGE_SCN_LNK_NRELOC_OVFL", 0x01000000) -IMAGE_SCN_MEM_DISCARDABLE = Flag("IMAGE_SCN_MEM_DISCARDABLE", 0x02000000) -IMAGE_SCN_MEM_NOT_CACHED = Flag("IMAGE_SCN_MEM_NOT_CACHED", 0x04000000) -IMAGE_SCN_MEM_NOT_PAGED = Flag("IMAGE_SCN_MEM_NOT_PAGED", 0x08000000) -IMAGE_SCN_MEM_SHARED = Flag("IMAGE_SCN_MEM_SHARED", 0x10000000) -IMAGE_SCN_MEM_EXECUTE = Flag("IMAGE_SCN_MEM_EXECUTE", 0x20000000) -IMAGE_SCN_MEM_READ = Flag("IMAGE_SCN_MEM_READ", 0x40000000) -IMAGE_SCN_MEM_WRITE = Flag("IMAGE_SCN_MEM_WRITE", 0x80000000) -CERT_QUERY_OBJECT_FILE = Flag("CERT_QUERY_OBJECT_FILE", 0x00000001) -CERT_QUERY_OBJECT_BLOB = Flag("CERT_QUERY_OBJECT_BLOB", 0x00000002) -CERT_QUERY_CONTENT_CERT = Flag("CERT_QUERY_CONTENT_CERT", 1) -CERT_QUERY_CONTENT_CTL = Flag("CERT_QUERY_CONTENT_CTL", 2) -CERT_QUERY_CONTENT_CRL = Flag("CERT_QUERY_CONTENT_CRL", 3) -CERT_QUERY_CONTENT_SERIALIZED_STORE = Flag("CERT_QUERY_CONTENT_SERIALIZED_STORE", 4) -CERT_QUERY_CONTENT_SERIALIZED_CERT = Flag("CERT_QUERY_CONTENT_SERIALIZED_CERT", 5) -CERT_QUERY_CONTENT_SERIALIZED_CTL = Flag("CERT_QUERY_CONTENT_SERIALIZED_CTL", 6) -CERT_QUERY_CONTENT_SERIALIZED_CRL = Flag("CERT_QUERY_CONTENT_SERIALIZED_CRL", 7) -CERT_QUERY_CONTENT_PKCS7_SIGNED = Flag("CERT_QUERY_CONTENT_PKCS7_SIGNED", 8) -CERT_QUERY_CONTENT_PKCS7_UNSIGNED = Flag("CERT_QUERY_CONTENT_PKCS7_UNSIGNED", 9) -CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED = Flag("CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED", 10) -CERT_QUERY_CONTENT_PKCS10 = Flag("CERT_QUERY_CONTENT_PKCS10", 11) -CERT_QUERY_CONTENT_PFX = Flag("CERT_QUERY_CONTENT_PFX", 12) -CERT_QUERY_CONTENT_CERT_PAIR = Flag("CERT_QUERY_CONTENT_CERT_PAIR", 13) -CERT_QUERY_CONTENT_PFX_AND_LOAD = Flag("CERT_QUERY_CONTENT_PFX_AND_LOAD", 14) -CERT_QUERY_FORMAT_BINARY = Flag("CERT_QUERY_FORMAT_BINARY", 1) -CERT_QUERY_FORMAT_BASE64_ENCODED = Flag("CERT_QUERY_FORMAT_BASE64_ENCODED", 2) -CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED = Flag("CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED", 3) -CERT_QUERY_FORMAT_FLAG_BINARY = Flag("CERT_QUERY_FORMAT_FLAG_BINARY", ( 1 << CERT_QUERY_FORMAT_BINARY )) -CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED = Flag("CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED", ( 1 << CERT_QUERY_FORMAT_BASE64_ENCODED )) -CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED = Flag("CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED", ( 1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED )) -CERT_QUERY_FORMAT_FLAG_ALL = Flag("CERT_QUERY_FORMAT_FLAG_ALL", ( CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED )) -CERT_QUERY_CONTENT_FLAG_CERT = Flag("CERT_QUERY_CONTENT_FLAG_CERT", ( 1 << CERT_QUERY_CONTENT_CERT )) -CERT_QUERY_CONTENT_FLAG_CTL = Flag("CERT_QUERY_CONTENT_FLAG_CTL", ( 1 << CERT_QUERY_CONTENT_CTL )) -CERT_QUERY_CONTENT_FLAG_CRL = Flag("CERT_QUERY_CONTENT_FLAG_CRL", ( 1 << CERT_QUERY_CONTENT_CRL )) -CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE = Flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_STORE )) -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT = Flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CERT )) -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL = Flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CTL )) -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL = Flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CRL )) -CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED = Flag("CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED", ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED )) -CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED = Flag("CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED", ( 1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED )) -CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = Flag("CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED", ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED )) -CERT_QUERY_CONTENT_FLAG_PKCS10 = Flag("CERT_QUERY_CONTENT_FLAG_PKCS10", ( 1 << CERT_QUERY_CONTENT_PKCS10 )) -CERT_QUERY_CONTENT_FLAG_PFX = Flag("CERT_QUERY_CONTENT_FLAG_PFX", ( 1 << CERT_QUERY_CONTENT_PFX )) -CERT_QUERY_CONTENT_FLAG_CERT_PAIR = Flag("CERT_QUERY_CONTENT_FLAG_CERT_PAIR", ( 1 << CERT_QUERY_CONTENT_CERT_PAIR )) -CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD = Flag("CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD", ( 1 << CERT_QUERY_CONTENT_PFX_AND_LOAD )) -CERT_QUERY_CONTENT_FLAG_ALL = Flag("CERT_QUERY_CONTENT_FLAG_ALL", ( CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR )) -CRYPT_ASN_ENCODING = Flag("CRYPT_ASN_ENCODING", 0x00000001) -CRYPT_NDR_ENCODING = Flag("CRYPT_NDR_ENCODING", 0x00000002) -X509_ASN_ENCODING = Flag("X509_ASN_ENCODING", 0x00000001) -X509_NDR_ENCODING = Flag("X509_NDR_ENCODING", 0x00000002) -PKCS_7_ASN_ENCODING = Flag("PKCS_7_ASN_ENCODING", 0x00010000) -PKCS_7_NDR_ENCODING = Flag("PKCS_7_NDR_ENCODING", 0x00020000) -CERT_ENCODING_TYPE_MASK = Flag("CERT_ENCODING_TYPE_MASK", 0x0000FFFF) -CMSG_ENCODING_TYPE_MASK = Flag("CMSG_ENCODING_TYPE_MASK", 0xFFFF0000) -CERT_COMPARE_MASK = Flag("CERT_COMPARE_MASK", 0xFFFF) -CERT_COMPARE_SHIFT = Flag("CERT_COMPARE_SHIFT", 16) -CERT_COMPARE_ANY = Flag("CERT_COMPARE_ANY", 0) -CERT_COMPARE_SHA1_HASH = Flag("CERT_COMPARE_SHA1_HASH", 1) -CERT_COMPARE_NAME = Flag("CERT_COMPARE_NAME", 2) -CERT_COMPARE_ATTR = Flag("CERT_COMPARE_ATTR", 3) -CERT_COMPARE_MD5_HASH = Flag("CERT_COMPARE_MD5_HASH", 4) -CERT_COMPARE_PROPERTY = Flag("CERT_COMPARE_PROPERTY", 5) -CERT_COMPARE_PUBLIC_KEY = Flag("CERT_COMPARE_PUBLIC_KEY", 6) -CERT_COMPARE_HASH = Flag("CERT_COMPARE_HASH", CERT_COMPARE_SHA1_HASH) -CERT_COMPARE_NAME_STR_A = Flag("CERT_COMPARE_NAME_STR_A", 7) -CERT_COMPARE_NAME_STR_W = Flag("CERT_COMPARE_NAME_STR_W", 8) -CERT_COMPARE_KEY_SPEC = Flag("CERT_COMPARE_KEY_SPEC", 9) -CERT_COMPARE_ENHKEY_USAGE = Flag("CERT_COMPARE_ENHKEY_USAGE", 10) -CERT_COMPARE_CTL_USAGE = Flag("CERT_COMPARE_CTL_USAGE", CERT_COMPARE_ENHKEY_USAGE) -CERT_COMPARE_SUBJECT_CERT = Flag("CERT_COMPARE_SUBJECT_CERT", 11) -CERT_COMPARE_ISSUER_OF = Flag("CERT_COMPARE_ISSUER_OF", 12) -CERT_COMPARE_EXISTING = Flag("CERT_COMPARE_EXISTING", 13) -CERT_COMPARE_SIGNATURE_HASH = Flag("CERT_COMPARE_SIGNATURE_HASH", 14) -CERT_COMPARE_KEY_IDENTIFIER = Flag("CERT_COMPARE_KEY_IDENTIFIER", 15) -CERT_COMPARE_CERT_ID = Flag("CERT_COMPARE_CERT_ID", 16) -CERT_COMPARE_CROSS_CERT_DIST_POINTS = Flag("CERT_COMPARE_CROSS_CERT_DIST_POINTS", 17) -CERT_COMPARE_PUBKEY_MD5_HASH = Flag("CERT_COMPARE_PUBKEY_MD5_HASH", 18) -CERT_COMPARE_SUBJECT_INFO_ACCESS = Flag("CERT_COMPARE_SUBJECT_INFO_ACCESS", 19) -CERT_NAME_ISSUER_FLAG = Flag("CERT_NAME_ISSUER_FLAG", 0x1) -CERT_NAME_DISABLE_IE4_UTF8_FLAG = Flag("CERT_NAME_DISABLE_IE4_UTF8_FLAG", 0x00010000) -USAGE_MATCH_TYPE_AND = Flag("USAGE_MATCH_TYPE_AND", 0x00000000) -USAGE_MATCH_TYPE_OR = Flag("USAGE_MATCH_TYPE_OR", 0x00000001) -CERT_CHAIN_REVOCATION_CHECK_END_CERT = Flag("CERT_CHAIN_REVOCATION_CHECK_END_CERT", 0x10000000) -CERT_CHAIN_REVOCATION_CHECK_CHAIN = Flag("CERT_CHAIN_REVOCATION_CHECK_CHAIN", 0x20000000) -CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = Flag("CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT", 0x40000000) -CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY = Flag("CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY", 0x80000000) -CERT_TRUST_NO_ERROR = Flag("CERT_TRUST_NO_ERROR", 0x00000000) -CERT_TRUST_IS_NOT_TIME_VALID = Flag("CERT_TRUST_IS_NOT_TIME_VALID", 0x00000001) -CERT_TRUST_IS_NOT_TIME_NESTED = Flag("CERT_TRUST_IS_NOT_TIME_NESTED", 0x00000002) -CERT_TRUST_IS_REVOKED = Flag("CERT_TRUST_IS_REVOKED", 0x00000004) -CERT_TRUST_IS_NOT_SIGNATURE_VALID = Flag("CERT_TRUST_IS_NOT_SIGNATURE_VALID", 0x00000008) -CERT_TRUST_IS_NOT_VALID_FOR_USAGE = Flag("CERT_TRUST_IS_NOT_VALID_FOR_USAGE", 0x00000010) -CERT_TRUST_IS_UNTRUSTED_ROOT = Flag("CERT_TRUST_IS_UNTRUSTED_ROOT", 0x00000020) -CERT_TRUST_REVOCATION_STATUS_UNKNOWN = Flag("CERT_TRUST_REVOCATION_STATUS_UNKNOWN", 0x00000040) -CERT_TRUST_IS_CYCLIC = Flag("CERT_TRUST_IS_CYCLIC", 0x00000080) -CERT_TRUST_INVALID_EXTENSION = Flag("CERT_TRUST_INVALID_EXTENSION", 0x00000100) -CERT_TRUST_INVALID_POLICY_CONSTRAINTS = Flag("CERT_TRUST_INVALID_POLICY_CONSTRAINTS", 0x00000200) -CERT_TRUST_INVALID_BASIC_CONSTRAINTS = Flag("CERT_TRUST_INVALID_BASIC_CONSTRAINTS", 0x00000400) -CERT_TRUST_INVALID_NAME_CONSTRAINTS = Flag("CERT_TRUST_INVALID_NAME_CONSTRAINTS", 0x00000800) -CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = Flag("CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT", 0x00001000) -CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = Flag("CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT", 0x00002000) -CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = Flag("CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT", 0x00004000) -CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = Flag("CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT", 0x00008000) -CERT_TRUST_IS_OFFLINE_REVOCATION = Flag("CERT_TRUST_IS_OFFLINE_REVOCATION", 0x01000000) -CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = Flag("CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY", 0x02000000) -CERT_TRUST_IS_EXPLICIT_DISTRUST = Flag("CERT_TRUST_IS_EXPLICIT_DISTRUST", 0x04000000) -CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = Flag("CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT", 0x08000000) -CERT_TRUST_IS_PARTIAL_CHAIN = Flag("CERT_TRUST_IS_PARTIAL_CHAIN", 0x00010000) -CERT_TRUST_CTL_IS_NOT_TIME_VALID = Flag("CERT_TRUST_CTL_IS_NOT_TIME_VALID", 0x00020000) -CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = Flag("CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID", 0x00040000) -CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = Flag("CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE", 0x00080000) -CERT_TRUST_HAS_EXACT_MATCH_ISSUER = Flag("CERT_TRUST_HAS_EXACT_MATCH_ISSUER", 0x00000001) -CERT_TRUST_HAS_KEY_MATCH_ISSUER = Flag("CERT_TRUST_HAS_KEY_MATCH_ISSUER", 0x00000002) -CERT_TRUST_HAS_NAME_MATCH_ISSUER = Flag("CERT_TRUST_HAS_NAME_MATCH_ISSUER", 0x00000004) -CERT_TRUST_IS_SELF_SIGNED = Flag("CERT_TRUST_IS_SELF_SIGNED", 0x00000008) -CERT_TRUST_HAS_PREFERRED_ISSUER = Flag("CERT_TRUST_HAS_PREFERRED_ISSUER", 0x00000100) -CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = Flag("CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY", 0x00000200) -CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = Flag("CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS", 0x00000400) -CERT_TRUST_IS_PEER_TRUSTED = Flag("CERT_TRUST_IS_PEER_TRUSTED", 0x00000800) -CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = Flag("CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED", 0x00001000) -CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = Flag("CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE", 0x00002000) -CERT_TRUST_IS_COMPLEX_CHAIN = Flag("CERT_TRUST_IS_COMPLEX_CHAIN", 0x00010000) -CMSG_TYPE_PARAM = Flag("CMSG_TYPE_PARAM", 1) -CMSG_CONTENT_PARAM = Flag("CMSG_CONTENT_PARAM", 2) -CMSG_BARE_CONTENT_PARAM = Flag("CMSG_BARE_CONTENT_PARAM", 3) -CMSG_INNER_CONTENT_TYPE_PARAM = Flag("CMSG_INNER_CONTENT_TYPE_PARAM", 4) -CMSG_SIGNER_COUNT_PARAM = Flag("CMSG_SIGNER_COUNT_PARAM", 5) -CMSG_SIGNER_INFO_PARAM = Flag("CMSG_SIGNER_INFO_PARAM", 6) -CMSG_SIGNER_CERT_INFO_PARAM = Flag("CMSG_SIGNER_CERT_INFO_PARAM", 7) -CMSG_SIGNER_HASH_ALGORITHM_PARAM = Flag("CMSG_SIGNER_HASH_ALGORITHM_PARAM", 8) -CMSG_SIGNER_AUTH_ATTR_PARAM = Flag("CMSG_SIGNER_AUTH_ATTR_PARAM", 9) -CMSG_SIGNER_UNAUTH_ATTR_PARAM = Flag("CMSG_SIGNER_UNAUTH_ATTR_PARAM", 10) -CMSG_CERT_COUNT_PARAM = Flag("CMSG_CERT_COUNT_PARAM", 11) -CMSG_CERT_PARAM = Flag("CMSG_CERT_PARAM", 12) -CMSG_CRL_COUNT_PARAM = Flag("CMSG_CRL_COUNT_PARAM", 13) -CMSG_CRL_PARAM = Flag("CMSG_CRL_PARAM", 14) -CMSG_ENVELOPE_ALGORITHM_PARAM = Flag("CMSG_ENVELOPE_ALGORITHM_PARAM", 15) -CMSG_RECIPIENT_COUNT_PARAM = Flag("CMSG_RECIPIENT_COUNT_PARAM", 17) -CMSG_RECIPIENT_INDEX_PARAM = Flag("CMSG_RECIPIENT_INDEX_PARAM", 18) -CMSG_RECIPIENT_INFO_PARAM = Flag("CMSG_RECIPIENT_INFO_PARAM", 19) -CMSG_HASH_ALGORITHM_PARAM = Flag("CMSG_HASH_ALGORITHM_PARAM", 20) -CMSG_HASH_DATA_PARAM = Flag("CMSG_HASH_DATA_PARAM", 21) -CMSG_COMPUTED_HASH_PARAM = Flag("CMSG_COMPUTED_HASH_PARAM", 22) -CMSG_ENCRYPT_PARAM = Flag("CMSG_ENCRYPT_PARAM", 26) -CMSG_ENCRYPTED_DIGEST = Flag("CMSG_ENCRYPTED_DIGEST", 27) -CMSG_ENCODED_SIGNER = Flag("CMSG_ENCODED_SIGNER", 28) -CMSG_ENCODED_MESSAGE = Flag("CMSG_ENCODED_MESSAGE", 29) -CMSG_VERSION_PARAM = Flag("CMSG_VERSION_PARAM", 30) -CMSG_ATTR_CERT_COUNT_PARAM = Flag("CMSG_ATTR_CERT_COUNT_PARAM", 31) -CMSG_ATTR_CERT_PARAM = Flag("CMSG_ATTR_CERT_PARAM", 32) -CMSG_CMS_RECIPIENT_COUNT_PARAM = Flag("CMSG_CMS_RECIPIENT_COUNT_PARAM", 33) -CMSG_CMS_RECIPIENT_INDEX_PARAM = Flag("CMSG_CMS_RECIPIENT_INDEX_PARAM", 34) -CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM = Flag("CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM", 35) -CMSG_CMS_RECIPIENT_INFO_PARAM = Flag("CMSG_CMS_RECIPIENT_INFO_PARAM", 36) -CMSG_UNPROTECTED_ATTR_PARAM = Flag("CMSG_UNPROTECTED_ATTR_PARAM", 37) -CMSG_SIGNER_CERT_ID_PARAM = Flag("CMSG_SIGNER_CERT_ID_PARAM", 38) -CMSG_CMS_SIGNER_INFO_PARAM = Flag("CMSG_CMS_SIGNER_INFO_PARAM", 39) -CERT_INFO_VERSION_FLAG = Flag("CERT_INFO_VERSION_FLAG", 1) -CERT_INFO_SERIAL_NUMBER_FLAG = Flag("CERT_INFO_SERIAL_NUMBER_FLAG", 2) -CERT_INFO_SIGNATURE_ALGORITHM_FLAG = Flag("CERT_INFO_SIGNATURE_ALGORITHM_FLAG", 3) -CERT_INFO_ISSUER_FLAG = Flag("CERT_INFO_ISSUER_FLAG", 4) -CERT_INFO_NOT_BEFORE_FLAG = Flag("CERT_INFO_NOT_BEFORE_FLAG", 5) -CERT_INFO_NOT_AFTER_FLAG = Flag("CERT_INFO_NOT_AFTER_FLAG", 6) -CERT_INFO_SUBJECT_FLAG = Flag("CERT_INFO_SUBJECT_FLAG", 7) -CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = Flag("CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG", 8) -CERT_INFO_ISSUER_UNIQUE_ID_FLAG = Flag("CERT_INFO_ISSUER_UNIQUE_ID_FLAG", 9) -CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = Flag("CERT_INFO_SUBJECT_UNIQUE_ID_FLAG", 10) -CERT_INFO_EXTENSION_FLAG = Flag("CERT_INFO_EXTENSION_FLAG", 11) -CERT_FIND_ANY = Flag("CERT_FIND_ANY", ( CERT_COMPARE_ANY << CERT_COMPARE_SHIFT )) -CERT_FIND_SHA1_HASH = Flag("CERT_FIND_SHA1_HASH", ( CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT )) -CERT_FIND_MD5_HASH = Flag("CERT_FIND_MD5_HASH", ( CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT )) -CERT_FIND_SIGNATURE_HASH = Flag("CERT_FIND_SIGNATURE_HASH", ( CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT )) -CERT_FIND_KEY_IDENTIFIER = Flag("CERT_FIND_KEY_IDENTIFIER", ( CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT )) -CERT_FIND_HASH = Flag("CERT_FIND_HASH", CERT_FIND_SHA1_HASH) -CERT_FIND_PROPERTY = Flag("CERT_FIND_PROPERTY", ( CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT )) -CERT_FIND_PUBLIC_KEY = Flag("CERT_FIND_PUBLIC_KEY", ( CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT )) -CERT_FIND_SUBJECT_NAME = Flag("CERT_FIND_SUBJECT_NAME", ( CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) -CERT_FIND_SUBJECT_ATTR = Flag("CERT_FIND_SUBJECT_ATTR", ( CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) -CERT_FIND_ISSUER_NAME = Flag("CERT_FIND_ISSUER_NAME", ( CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) -CERT_FIND_ISSUER_ATTR = Flag("CERT_FIND_ISSUER_ATTR", ( CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) -CERT_FIND_SUBJECT_STR_A = Flag("CERT_FIND_SUBJECT_STR_A", ( CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) -CERT_FIND_SUBJECT_STR_W = Flag("CERT_FIND_SUBJECT_STR_W", ( CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) -CERT_FIND_SUBJECT_STR = Flag("CERT_FIND_SUBJECT_STR", CERT_FIND_SUBJECT_STR_W) -CERT_FIND_ISSUER_STR_A = Flag("CERT_FIND_ISSUER_STR_A", ( CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) -CERT_FIND_ISSUER_STR_W = Flag("CERT_FIND_ISSUER_STR_W", ( CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) -CERT_FIND_ISSUER_STR = Flag("CERT_FIND_ISSUER_STR", CERT_FIND_ISSUER_STR_W) -CERT_FIND_KEY_SPEC = Flag("CERT_FIND_KEY_SPEC", ( CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT )) -CERT_FIND_ENHKEY_USAGE = Flag("CERT_FIND_ENHKEY_USAGE", ( CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT )) -CERT_FIND_CTL_USAGE = Flag("CERT_FIND_CTL_USAGE", CERT_FIND_ENHKEY_USAGE) -CERT_FIND_SUBJECT_CERT = Flag("CERT_FIND_SUBJECT_CERT", ( CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT )) -CERT_FIND_ISSUER_OF = Flag("CERT_FIND_ISSUER_OF", ( CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT )) -CERT_FIND_EXISTING = Flag("CERT_FIND_EXISTING", ( CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT )) -CERT_FIND_CERT_ID = Flag("CERT_FIND_CERT_ID", ( CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT )) -CERT_FIND_CROSS_CERT_DIST_POINTS = Flag("CERT_FIND_CROSS_CERT_DIST_POINTS", ( CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT )) -CERT_FIND_PUBKEY_MD5_HASH = Flag("CERT_FIND_PUBKEY_MD5_HASH", ( CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT )) -CERT_FIND_SUBJECT_INFO_ACCESS = Flag("CERT_FIND_SUBJECT_INFO_ACCESS", ( CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT )) -CERT_NAME_EMAIL_TYPE = Flag("CERT_NAME_EMAIL_TYPE", 1) -CERT_NAME_RDN_TYPE = Flag("CERT_NAME_RDN_TYPE", 2) -CERT_NAME_ATTR_TYPE = Flag("CERT_NAME_ATTR_TYPE", 3) -CERT_NAME_SIMPLE_DISPLAY_TYPE = Flag("CERT_NAME_SIMPLE_DISPLAY_TYPE", 4) -CERT_NAME_FRIENDLY_DISPLAY_TYPE = Flag("CERT_NAME_FRIENDLY_DISPLAY_TYPE", 5) -CERT_NAME_DNS_TYPE = Flag("CERT_NAME_DNS_TYPE", 6) -CERT_NAME_URL_TYPE = Flag("CERT_NAME_URL_TYPE", 7) -CERT_NAME_UPN_TYPE = Flag("CERT_NAME_UPN_TYPE", 8) \ No newline at end of file +INVALID_HANDLE_VALUE = make_flag("INVALID_HANDLE_VALUE", ( ( -1 ) & NATIVE_WORD_MAX_VALUE )) +NULL = make_flag("NULL", 0) +MAX_PATH = make_flag("MAX_PATH", 260) +ANYSIZE_ARRAY = make_flag("ANYSIZE_ARRAY", 1) +ANY_SIZE = make_flag("ANY_SIZE", 1) +IMAGE_SIZEOF_SHORT_NAME = make_flag("IMAGE_SIZEOF_SHORT_NAME", 8) +IMAGE_NUMBEROF_DIRECTORY_ENTRIES = make_flag("IMAGE_NUMBEROF_DIRECTORY_ENTRIES", 16) +INFINITE = make_flag("INFINITE", 0xFFFFFFFF) +STD_INPUT_HANDLE = make_flag("STD_INPUT_HANDLE", -10) +STD_OUTPUT_HANDLE = make_flag("STD_OUTPUT_HANDLE", -11) +STD_ERROR_HANDLE = make_flag("STD_ERROR_HANDLE", -12) +WARMING_NOT_SAME_FLAG_FOR_WINXP = make_flag("WARMING_NOT_SAME_FLAG_FOR_WINXP", 0) +PROCESS_TERMINATE = make_flag("PROCESS_TERMINATE", ( 0x0001 )) +PROCESS_CREATE_THREAD = make_flag("PROCESS_CREATE_THREAD", ( 0x0002 )) +PROCESS_SET_SESSIONID = make_flag("PROCESS_SET_SESSIONID", ( 0x0004 )) +PROCESS_VM_OPERATION = make_flag("PROCESS_VM_OPERATION", ( 0x0008 )) +PROCESS_VM_READ = make_flag("PROCESS_VM_READ", ( 0x0010 )) +PROCESS_VM_WRITE = make_flag("PROCESS_VM_WRITE", ( 0x0020 )) +PROCESS_DUP_HANDLE = make_flag("PROCESS_DUP_HANDLE", ( 0x0040 )) +PROCESS_CREATE_PROCESS = make_flag("PROCESS_CREATE_PROCESS", ( 0x0080 )) +PROCESS_SET_QUOTA = make_flag("PROCESS_SET_QUOTA", ( 0x0100 )) +PROCESS_SET_INFORMATION = make_flag("PROCESS_SET_INFORMATION", ( 0x0200 )) +PROCESS_QUERY_INFORMATION = make_flag("PROCESS_QUERY_INFORMATION", ( 0x0400 )) +PROCESS_SUSPEND_RESUME = make_flag("PROCESS_SUSPEND_RESUME", ( 0x0800 )) +PROCESS_QUERY_LIMITED_INFORMATION = make_flag("PROCESS_QUERY_LIMITED_INFORMATION", ( 0x1000 )) +THREAD_TERMINATE = make_flag("THREAD_TERMINATE", ( 0x0001 )) +THREAD_SUSPEND_RESUME = make_flag("THREAD_SUSPEND_RESUME", ( 0x0002 )) +THREAD_GET_CONTEXT = make_flag("THREAD_GET_CONTEXT", ( 0x0008 )) +THREAD_SET_CONTEXT = make_flag("THREAD_SET_CONTEXT", ( 0x0010 )) +THREAD_QUERY_INFORMATION = make_flag("THREAD_QUERY_INFORMATION", ( 0x0040 )) +THREAD_SET_INFORMATION = make_flag("THREAD_SET_INFORMATION", ( 0x0020 )) +THREAD_SET_THREAD_TOKEN = make_flag("THREAD_SET_THREAD_TOKEN", ( 0x0080 )) +THREAD_IMPERSONATE = make_flag("THREAD_IMPERSONATE", ( 0x0100 )) +THREAD_DIRECT_IMPERSONATION = make_flag("THREAD_DIRECT_IMPERSONATION", ( 0x0200 )) +PROCESS_ALL_ACCESS = make_flag("PROCESS_ALL_ACCESS", 0x001F0FFF) +THREAD_ALL_ACCESS = make_flag("THREAD_ALL_ACCESS", 0x001F03FF) +STARTF_USESHOWWINDOW = make_flag("STARTF_USESHOWWINDOW", 0x00000001) +STARTF_USESIZE = make_flag("STARTF_USESIZE", 0x00000002) +STARTF_USEPOSITION = make_flag("STARTF_USEPOSITION", 0x00000004) +STARTF_USECOUNTCHARS = make_flag("STARTF_USECOUNTCHARS", 0x00000008) +STARTF_USEFILLATTRIBUTE = make_flag("STARTF_USEFILLATTRIBUTE", 0x00000010) +STARTF_RUNFULLSCREEN = make_flag("STARTF_RUNFULLSCREEN", 0x00000020) +STARTF_FORCEONFEEDBACK = make_flag("STARTF_FORCEONFEEDBACK", 0x00000040) +STARTF_FORCEOFFFEEDBACK = make_flag("STARTF_FORCEOFFFEEDBACK", 0x00000080) +STARTF_USESTDHANDLES = make_flag("STARTF_USESTDHANDLES", 0x00000100) +SW_HIDE = make_flag("SW_HIDE", 0) +SW_SHOWNORMAL = make_flag("SW_SHOWNORMAL", 1) +SW_NORMAL = make_flag("SW_NORMAL", 1) +SW_SHOWMINIMIZED = make_flag("SW_SHOWMINIMIZED", 2) +SW_SHOWMAXIMIZED = make_flag("SW_SHOWMAXIMIZED", 3) +SW_MAXIMIZE = make_flag("SW_MAXIMIZE", 3) +SW_SHOWNOACTIVATE = make_flag("SW_SHOWNOACTIVATE", 4) +SW_SHOW = make_flag("SW_SHOW", 5) +SW_MINIMIZE = make_flag("SW_MINIMIZE", 6) +SW_SHOWMINNOACTIVE = make_flag("SW_SHOWMINNOACTIVE", 7) +SW_SHOWNA = make_flag("SW_SHOWNA", 8) +SW_RESTORE = make_flag("SW_RESTORE", 9) +SW_SHOWDEFAULT = make_flag("SW_SHOWDEFAULT", 10) +SW_FORCEMINIMIZE = make_flag("SW_FORCEMINIMIZE", 11) +SW_MAX = make_flag("SW_MAX", 11) +DEBUG_PROCESS = make_flag("DEBUG_PROCESS", 0x00000001) +DEBUG_ONLY_THIS_PROCESS = make_flag("DEBUG_ONLY_THIS_PROCESS", 0x00000002) +CREATE_SUSPENDED = make_flag("CREATE_SUSPENDED", 0x00000004) +DETACHED_PROCESS = make_flag("DETACHED_PROCESS", 0x00000008) +CREATE_NEW_CONSOLE = make_flag("CREATE_NEW_CONSOLE", 0x00000010) +NORMAL_PRIORITY_CLASS = make_flag("NORMAL_PRIORITY_CLASS", 0x00000020) +IDLE_PRIORITY_CLASS = make_flag("IDLE_PRIORITY_CLASS", 0x00000040) +HIGH_PRIORITY_CLASS = make_flag("HIGH_PRIORITY_CLASS", 0x00000080) +REALTIME_PRIORITY_CLASS = make_flag("REALTIME_PRIORITY_CLASS", 0x00000100) +CREATE_NEW_PROCESS_GROUP = make_flag("CREATE_NEW_PROCESS_GROUP", 0x00000200) +CREATE_UNICODE_ENVIRONMENT = make_flag("CREATE_UNICODE_ENVIRONMENT", 0x00000400) +CREATE_SEPARATE_WOW_VDM = make_flag("CREATE_SEPARATE_WOW_VDM", 0x00000800) +CREATE_SHARED_WOW_VDM = make_flag("CREATE_SHARED_WOW_VDM", 0x00001000) +CREATE_FORCEDOS = make_flag("CREATE_FORCEDOS", 0x00002000) +BELOW_NORMAL_PRIORITY_CLASS = make_flag("BELOW_NORMAL_PRIORITY_CLASS", 0x00004000) +ABOVE_NORMAL_PRIORITY_CLASS = make_flag("ABOVE_NORMAL_PRIORITY_CLASS", 0x00008000) +INHERIT_PARENT_AFFINITY = make_flag("INHERIT_PARENT_AFFINITY", 0x00010000) +INHERIT_CALLER_PRIORITY = make_flag("INHERIT_CALLER_PRIORITY", 0x00020000) +CREATE_PROTECTED_PROCESS = make_flag("CREATE_PROTECTED_PROCESS", 0x00040000) +EXTENDED_STARTUPINFO_PRESENT = make_flag("EXTENDED_STARTUPINFO_PRESENT", 0x00080000) +PROCESS_MODE_BACKGROUND_BEGIN = make_flag("PROCESS_MODE_BACKGROUND_BEGIN", 0x00100000) +PROCESS_MODE_BACKGROUND_END = make_flag("PROCESS_MODE_BACKGROUND_END", 0x00200000) +CREATE_BREAKAWAY_FROM_JOB = make_flag("CREATE_BREAKAWAY_FROM_JOB", 0x01000000) +CREATE_PRESERVE_CODE_AUTHZ_LEVEL = make_flag("CREATE_PRESERVE_CODE_AUTHZ_LEVEL", 0x02000000) +CREATE_DEFAULT_ERROR_MODE = make_flag("CREATE_DEFAULT_ERROR_MODE", 0x04000000) +CREATE_NO_WINDOW = make_flag("CREATE_NO_WINDOW", 0x08000000) +PROFILE_USER = make_flag("PROFILE_USER", 0x10000000) +PROFILE_KERNEL = make_flag("PROFILE_KERNEL", 0x20000000) +PROFILE_SERVER = make_flag("PROFILE_SERVER", 0x40000000) +CREATE_IGNORE_SYSTEM_DEFAULT = make_flag("CREATE_IGNORE_SYSTEM_DEFAULT", 0x80000000) +STATUS_WAIT_0 = make_flag("STATUS_WAIT_0", ( 0x00000000 )) +STATUS_ABANDONED_WAIT_0 = make_flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 )) +STATUS_USER_APC = make_flag("STATUS_USER_APC", ( 0x000000C0 )) +STATUS_TIMEOUT = make_flag("STATUS_TIMEOUT", ( 0x00000102 )) +STATUS_PENDING = make_flag("STATUS_PENDING", ( 0x00000103 )) +DBG_EXCEPTION_HANDLED = make_flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 )) +DBG_CONTINUE = make_flag("DBG_CONTINUE", ( 0x00010002 )) +STATUS_SEGMENT_NOTIFICATION = make_flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 )) +DBG_TERMINATE_THREAD = make_flag("DBG_TERMINATE_THREAD", ( 0x40010003 )) +DBG_TERMINATE_PROCESS = make_flag("DBG_TERMINATE_PROCESS", ( 0x40010004 )) +DBG_CONTROL_C = make_flag("DBG_CONTROL_C", ( 0x40010005 )) +DBG_PRINTEXCEPTION_C = make_flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 )) +DBG_RIPEXCEPTION = make_flag("DBG_RIPEXCEPTION", ( 0x40010007 )) +DBG_CONTROL_BREAK = make_flag("DBG_CONTROL_BREAK", ( 0x40010008 )) +DBG_COMMAND_EXCEPTION = make_flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 )) +STATUS_GUARD_PAGE_VIOLATION = make_flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 )) +STATUS_DATATYPE_MISALIGNMENT = make_flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 )) +STATUS_BREAKPOINT = make_flag("STATUS_BREAKPOINT", ( 0x80000003 )) +STATUS_SINGLE_STEP = make_flag("STATUS_SINGLE_STEP", ( 0x80000004 )) +STATUS_LONGJUMP = make_flag("STATUS_LONGJUMP", ( 0x80000026 )) +STATUS_UNWIND_CONSOLIDATE = make_flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 )) +DBG_EXCEPTION_NOT_HANDLED = make_flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 )) +STATUS_ACCESS_VIOLATION = make_flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 )) +STATUS_IN_PAGE_ERROR = make_flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 )) +STATUS_INVALID_HANDLE = make_flag("STATUS_INVALID_HANDLE", ( 0xC0000008 )) +STATUS_INVALID_PARAMETER = make_flag("STATUS_INVALID_PARAMETER", ( 0xC000000D )) +STATUS_NO_MEMORY = make_flag("STATUS_NO_MEMORY", ( 0xC0000017 )) +STATUS_ILLEGAL_INSTRUCTION = make_flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D )) +STATUS_NONCONTINUABLE_EXCEPTION = make_flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 )) +STATUS_INVALID_DISPOSITION = make_flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 )) +STATUS_ARRAY_BOUNDS_EXCEEDED = make_flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C )) +STATUS_FLOAT_DENORMAL_OPERAND = make_flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D )) +STATUS_FLOAT_DIVIDE_BY_ZERO = make_flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E )) +STATUS_FLOAT_INEXACT_RESULT = make_flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F )) +STATUS_FLOAT_INVALID_OPERATION = make_flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 )) +STATUS_FLOAT_OVERFLOW = make_flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 )) +STATUS_FLOAT_STACK_CHECK = make_flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 )) +STATUS_FLOAT_UNDERFLOW = make_flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 )) +STATUS_INTEGER_DIVIDE_BY_ZERO = make_flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 )) +STATUS_INTEGER_OVERFLOW = make_flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 )) +STATUS_PRIVILEGED_INSTRUCTION = make_flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 )) +STATUS_STACK_OVERFLOW = make_flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD )) +STATUS_DLL_NOT_FOUND = make_flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 )) +STATUS_ORDINAL_NOT_FOUND = make_flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 )) +STATUS_ENTRYPOINT_NOT_FOUND = make_flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 )) +STATUS_CONTROL_C_EXIT = make_flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A )) +STATUS_DLL_INIT_FAILED = make_flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 )) +STATUS_FLOAT_MULTIPLE_FAULTS = make_flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 )) +STATUS_FLOAT_MULTIPLE_TRAPS = make_flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 )) +STATUS_REG_NAT_CONSUMPTION = make_flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 )) +STATUS_STACK_BUFFER_OVERRUN = make_flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 )) +STATUS_INVALID_CRUNTIME_PARAMETER = make_flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 )) +STATUS_ASSERTION_FAILURE = make_flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 )) +STATUS_POSSIBLE_DEADLOCK = make_flag("STATUS_POSSIBLE_DEADLOCK", ( 0xC0000194 )) +WAIT_IO_COMPLETION = make_flag("WAIT_IO_COMPLETION", STATUS_USER_APC) +STILL_ACTIVE = make_flag("STILL_ACTIVE", STATUS_PENDING) +EXCEPTION_ACCESS_VIOLATION = make_flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION) +EXCEPTION_DATATYPE_MISALIGNMENT = make_flag("EXCEPTION_DATATYPE_MISALIGNMENT", STATUS_DATATYPE_MISALIGNMENT) +EXCEPTION_BREAKPOINT = make_flag("EXCEPTION_BREAKPOINT", STATUS_BREAKPOINT) +EXCEPTION_SINGLE_STEP = make_flag("EXCEPTION_SINGLE_STEP", STATUS_SINGLE_STEP) +EXCEPTION_ARRAY_BOUNDS_EXCEEDED = make_flag("EXCEPTION_ARRAY_BOUNDS_EXCEEDED", STATUS_ARRAY_BOUNDS_EXCEEDED) +EXCEPTION_FLT_DENORMAL_OPERAND = make_flag("EXCEPTION_FLT_DENORMAL_OPERAND", STATUS_FLOAT_DENORMAL_OPERAND) +EXCEPTION_FLT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_FLT_DIVIDE_BY_ZERO", STATUS_FLOAT_DIVIDE_BY_ZERO) +EXCEPTION_FLT_INEXACT_RESULT = make_flag("EXCEPTION_FLT_INEXACT_RESULT", STATUS_FLOAT_INEXACT_RESULT) +EXCEPTION_FLT_INVALID_OPERATION = make_flag("EXCEPTION_FLT_INVALID_OPERATION", STATUS_FLOAT_INVALID_OPERATION) +EXCEPTION_FLT_OVERFLOW = make_flag("EXCEPTION_FLT_OVERFLOW", STATUS_FLOAT_OVERFLOW) +EXCEPTION_FLT_STACK_CHECK = make_flag("EXCEPTION_FLT_STACK_CHECK", STATUS_FLOAT_STACK_CHECK) +EXCEPTION_FLT_UNDERFLOW = make_flag("EXCEPTION_FLT_UNDERFLOW", STATUS_FLOAT_UNDERFLOW) +EXCEPTION_INT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_INT_DIVIDE_BY_ZERO", STATUS_INTEGER_DIVIDE_BY_ZERO) +EXCEPTION_INT_OVERFLOW = make_flag("EXCEPTION_INT_OVERFLOW", STATUS_INTEGER_OVERFLOW) +EXCEPTION_PRIV_INSTRUCTION = make_flag("EXCEPTION_PRIV_INSTRUCTION", STATUS_PRIVILEGED_INSTRUCTION) +EXCEPTION_IN_PAGE_ERROR = make_flag("EXCEPTION_IN_PAGE_ERROR", STATUS_IN_PAGE_ERROR) +EXCEPTION_ILLEGAL_INSTRUCTION = make_flag("EXCEPTION_ILLEGAL_INSTRUCTION", STATUS_ILLEGAL_INSTRUCTION) +EXCEPTION_NONCONTINUABLE_EXCEPTION = make_flag("EXCEPTION_NONCONTINUABLE_EXCEPTION", STATUS_NONCONTINUABLE_EXCEPTION) +EXCEPTION_STACK_OVERFLOW = make_flag("EXCEPTION_STACK_OVERFLOW", STATUS_STACK_OVERFLOW) +EXCEPTION_INVALID_DISPOSITION = make_flag("EXCEPTION_INVALID_DISPOSITION", STATUS_INVALID_DISPOSITION) +EXCEPTION_GUARD_PAGE = make_flag("EXCEPTION_GUARD_PAGE", STATUS_GUARD_PAGE_VIOLATION) +EXCEPTION_INVALID_HANDLE = make_flag("EXCEPTION_INVALID_HANDLE", STATUS_INVALID_HANDLE) +EXCEPTION_POSSIBLE_DEADLOCK = make_flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBLE_DEADLOCK) +CONTROL_C_EXIT = make_flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT) +EXCEPTION_DEBUG_EVENT = make_flag("EXCEPTION_DEBUG_EVENT", 1) +CREATE_THREAD_DEBUG_EVENT = make_flag("CREATE_THREAD_DEBUG_EVENT", 2) +CREATE_PROCESS_DEBUG_EVENT = make_flag("CREATE_PROCESS_DEBUG_EVENT", 3) +EXIT_THREAD_DEBUG_EVENT = make_flag("EXIT_THREAD_DEBUG_EVENT", 4) +EXIT_PROCESS_DEBUG_EVENT = make_flag("EXIT_PROCESS_DEBUG_EVENT", 5) +LOAD_DLL_DEBUG_EVENT = make_flag("LOAD_DLL_DEBUG_EVENT", 6) +UNLOAD_DLL_DEBUG_EVENT = make_flag("UNLOAD_DLL_DEBUG_EVENT", 7) +OUTPUT_DEBUG_STRING_EVENT = make_flag("OUTPUT_DEBUG_STRING_EVENT", 8) +RIP_EVENT = make_flag("RIP_EVENT", 9) +TH32CS_SNAPHEAPLIST = make_flag("TH32CS_SNAPHEAPLIST", 0x00000001) +TH32CS_SNAPPROCESS = make_flag("TH32CS_SNAPPROCESS", 0x00000002) +TH32CS_SNAPTHREAD = make_flag("TH32CS_SNAPTHREAD", 0x00000004) +TH32CS_SNAPMODULE = make_flag("TH32CS_SNAPMODULE", 0x00000008) +TH32CS_SNAPMODULE32 = make_flag("TH32CS_SNAPMODULE32", 0x00000010) +TH32CS_SNAPALL = make_flag("TH32CS_SNAPALL", ( TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE )) +TH32CS_INHERIT = make_flag("TH32CS_INHERIT", 0x80000000) +CONTEXT_I386 = make_flag("CONTEXT_I386", 0x00010000) +CONTEXT_CONTROL = make_flag("CONTEXT_CONTROL", 0x00000001) +CONTEXT_INTEGER = make_flag("CONTEXT_INTEGER", 0x00000002) +CONTEXT_SEGMENTS = make_flag("CONTEXT_SEGMENTS", 0x00000004) +CONTEXT_FLOATING_POINT = make_flag("CONTEXT_FLOATING_POINT", 0x00000008) +CONTEXT_DEBUG_REGISTERS = make_flag("CONTEXT_DEBUG_REGISTERS", 0x00000010) +CONTEXT_EXTENDED_REGISTERS = make_flag("CONTEXT_EXTENDED_REGISTERS", 0x00000020) +CONTEXT_FULL = make_flag("CONTEXT_FULL", ( CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS )) +CONTEXT_ALL = make_flag("CONTEXT_ALL", ( CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS )) +CONTEXT_FULL = make_flag("CONTEXT_FULL", CONTEXT_I386 | CONTEXT_FULL) +CONTEXT_ALL = make_flag("CONTEXT_ALL", CONTEXT_I386 | CONTEXT_ALL) +CONTEXT_XSTATE = make_flag("CONTEXT_XSTATE", ( CONTEXT_I386 | 0x00000040 )) +PAGE_NOACCESS = make_flag("PAGE_NOACCESS", 0x01) +PAGE_READONLY = make_flag("PAGE_READONLY", 0x02) +PAGE_READWRITE = make_flag("PAGE_READWRITE", 0x04) +PAGE_WRITECOPY = make_flag("PAGE_WRITECOPY", 0x08) +PAGE_EXECUTE = make_flag("PAGE_EXECUTE", 0x10) +PAGE_EXECUTE_READ = make_flag("PAGE_EXECUTE_READ", 0x20) +PAGE_EXECUTE_READWRITE = make_flag("PAGE_EXECUTE_READWRITE", 0x40) +PAGE_EXECUTE_WRITECOPY = make_flag("PAGE_EXECUTE_WRITECOPY", 0x80) +PAGE_GUARD = make_flag("PAGE_GUARD", 0x100) +PAGE_NOCACHE = make_flag("PAGE_NOCACHE", 0x200) +PAGE_WRITECOMBINE = make_flag("PAGE_WRITECOMBINE", 0x400) +MEM_COMMIT = make_flag("MEM_COMMIT", 0x1000) +MEM_RESERVE = make_flag("MEM_RESERVE", 0x2000) +MEM_DECOMMIT = make_flag("MEM_DECOMMIT", 0x4000) +MEM_RELEASE = make_flag("MEM_RELEASE", 0x8000) +MEM_FREE = make_flag("MEM_FREE", 0x10000) +MEM_PRIVATE = make_flag("MEM_PRIVATE", 0x20000) +MEM_MAPPED = make_flag("MEM_MAPPED", 0x40000) +MEM_RESET = make_flag("MEM_RESET", 0x80000) +MEM_TOP_DOWN = make_flag("MEM_TOP_DOWN", 0x100000) +MEM_WRITE_WATCH = make_flag("MEM_WRITE_WATCH", 0x200000) +MEM_PHYSICAL = make_flag("MEM_PHYSICAL", 0x400000) +MEM_ROTATE = make_flag("MEM_ROTATE", 0x800000) +MEM_LARGE_PAGES = make_flag("MEM_LARGE_PAGES", 0x20000000) +MEM_4MB_PAGES = make_flag("MEM_4MB_PAGES", 0x80000000) +SEC_FILE = make_flag("SEC_FILE", 0x800000) +SEC_IMAGE = make_flag("SEC_IMAGE", 0x1000000) +SEC_PROTECTED_IMAGE = make_flag("SEC_PROTECTED_IMAGE", 0x2000000) +SEC_RESERVE = make_flag("SEC_RESERVE", 0x4000000) +SEC_COMMIT = make_flag("SEC_COMMIT", 0x8000000) +SEC_NOCACHE = make_flag("SEC_NOCACHE", 0x10000000) +SEC_WRITECOMBINE = make_flag("SEC_WRITECOMBINE", 0x40000000) +SEC_LARGE_PAGES = make_flag("SEC_LARGE_PAGES", 0x80000000) +MEM_IMAGE = make_flag("MEM_IMAGE", SEC_IMAGE) +WRITE_WATCH_FLAG_RESET = make_flag("WRITE_WATCH_FLAG_RESET", 0x01) +DELETE = make_flag("DELETE", ( 0x00010000 )) +READ_CONTROL = make_flag("READ_CONTROL", ( 0x00020000 )) +WRITE_DAC = make_flag("WRITE_DAC", ( 0x00040000 )) +WRITE_OWNER = make_flag("WRITE_OWNER", ( 0x00080000 )) +SYNCHRONIZE = make_flag("SYNCHRONIZE", ( 0x00100000 )) +STANDARD_RIGHTS_REQUIRED = make_flag("STANDARD_RIGHTS_REQUIRED", ( 0x000F0000 )) +STANDARD_RIGHTS_READ = make_flag("STANDARD_RIGHTS_READ", ( READ_CONTROL )) +STANDARD_RIGHTS_WRITE = make_flag("STANDARD_RIGHTS_WRITE", ( READ_CONTROL )) +STANDARD_RIGHTS_EXECUTE = make_flag("STANDARD_RIGHTS_EXECUTE", ( READ_CONTROL )) +STANDARD_RIGHTS_ALL = make_flag("STANDARD_RIGHTS_ALL", ( 0x001F0000 )) +SPECIFIC_RIGHTS_ALL = make_flag("SPECIFIC_RIGHTS_ALL", ( 0x0000FFFF )) +TOKEN_ASSIGN_PRIMARY = make_flag("TOKEN_ASSIGN_PRIMARY", ( 0x0001 )) +TOKEN_DUPLICATE = make_flag("TOKEN_DUPLICATE", ( 0x0002 )) +TOKEN_IMPERSONATE = make_flag("TOKEN_IMPERSONATE", ( 0x0004 )) +TOKEN_QUERY = make_flag("TOKEN_QUERY", ( 0x0008 )) +TOKEN_QUERY_SOURCE = make_flag("TOKEN_QUERY_SOURCE", ( 0x0010 )) +TOKEN_ADJUST_PRIVILEGES = make_flag("TOKEN_ADJUST_PRIVILEGES", ( 0x0020 )) +TOKEN_ADJUST_GROUPS = make_flag("TOKEN_ADJUST_GROUPS", ( 0x0040 )) +TOKEN_ADJUST_DEFAULT = make_flag("TOKEN_ADJUST_DEFAULT", ( 0x0080 )) +TOKEN_ADJUST_SESSIONID = make_flag("TOKEN_ADJUST_SESSIONID", ( 0x0100 )) +TOKEN_ALL_ACCESS_P = make_flag("TOKEN_ALL_ACCESS_P", ( STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT )) +TOKEN_ALL_ACCESS = make_flag("TOKEN_ALL_ACCESS", ( TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID )) +SE_PRIVILEGE_ENABLED_BY_DEFAULT = make_flag("SE_PRIVILEGE_ENABLED_BY_DEFAULT", ( 0x00000001 )) +SE_PRIVILEGE_ENABLED = make_flag("SE_PRIVILEGE_ENABLED", ( 0x00000002 )) +SE_PRIVILEGE_REMOVED = make_flag("SE_PRIVILEGE_REMOVED", ( 0X00000004 )) +SE_PRIVILEGE_USED_FOR_ACCESS = make_flag("SE_PRIVILEGE_USED_FOR_ACCESS", ( 0x80000000 )) +AF_UNSPEC = make_flag("AF_UNSPEC", 0) +AF_UNIX = make_flag("AF_UNIX", 1) +AF_INET = make_flag("AF_INET", 2) +AF_IMPLINK = make_flag("AF_IMPLINK", 3) +AF_PUP = make_flag("AF_PUP", 4) +AF_CHAOS = make_flag("AF_CHAOS", 5) +AF_NS = make_flag("AF_NS", 6) +AF_IPX = make_flag("AF_IPX", AF_NS) +AF_ISO = make_flag("AF_ISO", 7) +AF_OSI = make_flag("AF_OSI", AF_ISO) +AF_ECMA = make_flag("AF_ECMA", 8) +AF_DATAKIT = make_flag("AF_DATAKIT", 9) +AF_CCITT = make_flag("AF_CCITT", 10) +AF_SNA = make_flag("AF_SNA", 11) +AF_DECnet = make_flag("AF_DECnet", 12) +AF_DLI = make_flag("AF_DLI", 13) +AF_LAT = make_flag("AF_LAT", 14) +AF_HYLINK = make_flag("AF_HYLINK", 15) +AF_APPLETALK = make_flag("AF_APPLETALK", 16) +AF_NETBIOS = make_flag("AF_NETBIOS", 17) +AF_VOICEVIEW = make_flag("AF_VOICEVIEW", 18) +AF_FIREFOX = make_flag("AF_FIREFOX", 19) +AF_UNKNOWN1 = make_flag("AF_UNKNOWN1", 20) +AF_BAN = make_flag("AF_BAN", 21) +AF_ATM = make_flag("AF_ATM", 22) +AF_INET6 = make_flag("AF_INET6", 23) +AF_CLUSTER = make_flag("AF_CLUSTER", 24) +AF_12844 = make_flag("AF_12844", 25) +AF_IRDA = make_flag("AF_IRDA", 26) +AF_NETDES = make_flag("AF_NETDES", 28) +EXCEPTION_NONCONTINUABLE = make_flag("EXCEPTION_NONCONTINUABLE", 0x1) +EXCEPTION_MAXIMUM_PARAMETERS = make_flag("EXCEPTION_MAXIMUM_PARAMETERS", 15) +STATUS_WAIT_0 = make_flag("STATUS_WAIT_0", ( 0x00000000 )) +STATUS_ABANDONED_WAIT_0 = make_flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 )) +STATUS_USER_APC = make_flag("STATUS_USER_APC", ( 0x000000C0 )) +STATUS_TIMEOUT = make_flag("STATUS_TIMEOUT", ( 0x00000102 )) +STATUS_PENDING = make_flag("STATUS_PENDING", ( 0x00000103 )) +DBG_EXCEPTION_HANDLED = make_flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 )) +DBG_CONTINUE = make_flag("DBG_CONTINUE", ( 0x00010002 )) +STATUS_SEGMENT_NOTIFICATION = make_flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 )) +DBG_TERMINATE_THREAD = make_flag("DBG_TERMINATE_THREAD", ( 0x40010003 )) +DBG_TERMINATE_PROCESS = make_flag("DBG_TERMINATE_PROCESS", ( 0x40010004 )) +DBG_CONTROL_C = make_flag("DBG_CONTROL_C", ( 0x40010005 )) +DBG_PRINTEXCEPTION_C = make_flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 )) +DBG_RIPEXCEPTION = make_flag("DBG_RIPEXCEPTION", ( 0x40010007 )) +DBG_CONTROL_BREAK = make_flag("DBG_CONTROL_BREAK", ( 0x40010008 )) +DBG_COMMAND_EXCEPTION = make_flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 )) +STATUS_GUARD_PAGE_VIOLATION = make_flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 )) +STATUS_DATATYPE_MISALIGNMENT = make_flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 )) +STATUS_BREAKPOINT = make_flag("STATUS_BREAKPOINT", ( 0x80000003 )) +STATUS_SINGLE_STEP = make_flag("STATUS_SINGLE_STEP", ( 0x80000004 )) +STATUS_LONGJUMP = make_flag("STATUS_LONGJUMP", ( 0x80000026 )) +STATUS_UNWIND_CONSOLIDATE = make_flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 )) +DBG_EXCEPTION_NOT_HANDLED = make_flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 )) +STATUS_ACCESS_VIOLATION = make_flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 )) +STATUS_IN_PAGE_ERROR = make_flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 )) +STATUS_INVALID_HANDLE = make_flag("STATUS_INVALID_HANDLE", ( 0xC0000008 )) +STATUS_INVALID_PARAMETER = make_flag("STATUS_INVALID_PARAMETER", ( 0xC000000D )) +STATUS_NO_MEMORY = make_flag("STATUS_NO_MEMORY", ( 0xC0000017 )) +STATUS_ILLEGAL_INSTRUCTION = make_flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D )) +STATUS_NONCONTINUABLE_EXCEPTION = make_flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 )) +STATUS_INVALID_DISPOSITION = make_flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 )) +STATUS_ARRAY_BOUNDS_EXCEEDED = make_flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C )) +STATUS_FLOAT_DENORMAL_OPERAND = make_flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D )) +STATUS_FLOAT_DIVIDE_BY_ZERO = make_flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E )) +STATUS_FLOAT_INEXACT_RESULT = make_flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F )) +STATUS_FLOAT_INVALID_OPERATION = make_flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 )) +STATUS_FLOAT_OVERFLOW = make_flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 )) +STATUS_FLOAT_STACK_CHECK = make_flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 )) +STATUS_FLOAT_UNDERFLOW = make_flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 )) +STATUS_INTEGER_DIVIDE_BY_ZERO = make_flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 )) +STATUS_INTEGER_OVERFLOW = make_flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 )) +STATUS_PRIVILEGED_INSTRUCTION = make_flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 )) +STATUS_STACK_OVERFLOW = make_flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD )) +STATUS_DLL_NOT_FOUND = make_flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 )) +STATUS_ORDINAL_NOT_FOUND = make_flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 )) +STATUS_ENTRYPOINT_NOT_FOUND = make_flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 )) +STATUS_CONTROL_C_EXIT = make_flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A )) +STATUS_DLL_INIT_FAILED = make_flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 )) +STATUS_FLOAT_MULTIPLE_FAULTS = make_flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 )) +STATUS_FLOAT_MULTIPLE_TRAPS = make_flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 )) +STATUS_REG_NAT_CONSUMPTION = make_flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 )) +STATUS_STACK_BUFFER_OVERRUN = make_flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 )) +STATUS_INVALID_CRUNTIME_PARAMETER = make_flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 )) +STATUS_ASSERTION_FAILURE = make_flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 )) +WAIT_IO_COMPLETION = make_flag("WAIT_IO_COMPLETION", STATUS_USER_APC) +STILL_ACTIVE = make_flag("STILL_ACTIVE", STATUS_PENDING) +EXCEPTION_ACCESS_VIOLATION = make_flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION) +EXCEPTION_DATATYPE_MISALIGNMENT = make_flag("EXCEPTION_DATATYPE_MISALIGNMENT", STATUS_DATATYPE_MISALIGNMENT) +EXCEPTION_BREAKPOINT = make_flag("EXCEPTION_BREAKPOINT", STATUS_BREAKPOINT) +EXCEPTION_SINGLE_STEP = make_flag("EXCEPTION_SINGLE_STEP", STATUS_SINGLE_STEP) +EXCEPTION_ARRAY_BOUNDS_EXCEEDED = make_flag("EXCEPTION_ARRAY_BOUNDS_EXCEEDED", STATUS_ARRAY_BOUNDS_EXCEEDED) +EXCEPTION_FLT_DENORMAL_OPERAND = make_flag("EXCEPTION_FLT_DENORMAL_OPERAND", STATUS_FLOAT_DENORMAL_OPERAND) +EXCEPTION_FLT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_FLT_DIVIDE_BY_ZERO", STATUS_FLOAT_DIVIDE_BY_ZERO) +EXCEPTION_FLT_INEXACT_RESULT = make_flag("EXCEPTION_FLT_INEXACT_RESULT", STATUS_FLOAT_INEXACT_RESULT) +EXCEPTION_FLT_INVALID_OPERATION = make_flag("EXCEPTION_FLT_INVALID_OPERATION", STATUS_FLOAT_INVALID_OPERATION) +EXCEPTION_FLT_OVERFLOW = make_flag("EXCEPTION_FLT_OVERFLOW", STATUS_FLOAT_OVERFLOW) +EXCEPTION_FLT_STACK_CHECK = make_flag("EXCEPTION_FLT_STACK_CHECK", STATUS_FLOAT_STACK_CHECK) +EXCEPTION_FLT_UNDERFLOW = make_flag("EXCEPTION_FLT_UNDERFLOW", STATUS_FLOAT_UNDERFLOW) +EXCEPTION_INT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_INT_DIVIDE_BY_ZERO", STATUS_INTEGER_DIVIDE_BY_ZERO) +EXCEPTION_INT_OVERFLOW = make_flag("EXCEPTION_INT_OVERFLOW", STATUS_INTEGER_OVERFLOW) +EXCEPTION_PRIV_INSTRUCTION = make_flag("EXCEPTION_PRIV_INSTRUCTION", STATUS_PRIVILEGED_INSTRUCTION) +EXCEPTION_IN_PAGE_ERROR = make_flag("EXCEPTION_IN_PAGE_ERROR", STATUS_IN_PAGE_ERROR) +EXCEPTION_ILLEGAL_INSTRUCTION = make_flag("EXCEPTION_ILLEGAL_INSTRUCTION", STATUS_ILLEGAL_INSTRUCTION) +EXCEPTION_NONCONTINUABLE_EXCEPTION = make_flag("EXCEPTION_NONCONTINUABLE_EXCEPTION", STATUS_NONCONTINUABLE_EXCEPTION) +EXCEPTION_STACK_OVERFLOW = make_flag("EXCEPTION_STACK_OVERFLOW", STATUS_STACK_OVERFLOW) +EXCEPTION_INVALID_DISPOSITION = make_flag("EXCEPTION_INVALID_DISPOSITION", STATUS_INVALID_DISPOSITION) +EXCEPTION_GUARD_PAGE = make_flag("EXCEPTION_GUARD_PAGE", STATUS_GUARD_PAGE_VIOLATION) +EXCEPTION_INVALID_HANDLE = make_flag("EXCEPTION_INVALID_HANDLE", STATUS_INVALID_HANDLE) +EXCEPTION_POSSIBLE_DEADLOCK = make_flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBLE_DEADLOCK) +CONTROL_C_EXIT = make_flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT) +EXCEPTION_EXECUTE_HANDLER = make_flag("EXCEPTION_EXECUTE_HANDLER", 1) +EXCEPTION_CONTINUE_SEARCH = make_flag("EXCEPTION_CONTINUE_SEARCH", 0) +EXCEPTION_CONTINUE_EXECUTION = make_flag("EXCEPTION_CONTINUE_EXECUTION", -1) +GENERIC_READ = make_flag("GENERIC_READ", ( 0x80000000 )) +GENERIC_WRITE = make_flag("GENERIC_WRITE", ( 0x40000000 )) +GENERIC_EXECUTE = make_flag("GENERIC_EXECUTE", ( 0x20000000 )) +GENERIC_ALL = make_flag("GENERIC_ALL", ( 0x10000000 )) +FILE_FLAG_WRITE_THROUGH = make_flag("FILE_FLAG_WRITE_THROUGH", 0x80000000) +FILE_FLAG_OVERLAPPED = make_flag("FILE_FLAG_OVERLAPPED", 0x40000000) +FILE_FLAG_NO_BUFFERING = make_flag("FILE_FLAG_NO_BUFFERING", 0x20000000) +FILE_FLAG_RANDOM_ACCESS = make_flag("FILE_FLAG_RANDOM_ACCESS", 0x10000000) +FILE_FLAG_SEQUENTIAL_SCAN = make_flag("FILE_FLAG_SEQUENTIAL_SCAN", 0x08000000) +FILE_FLAG_DELETE_ON_CLOSE = make_flag("FILE_FLAG_DELETE_ON_CLOSE", 0x04000000) +FILE_FLAG_BACKUP_SEMANTICS = make_flag("FILE_FLAG_BACKUP_SEMANTICS", 0x02000000) +FILE_FLAG_POSIX_SEMANTICS = make_flag("FILE_FLAG_POSIX_SEMANTICS", 0x01000000) +FILE_FLAG_OPEN_REPARSE_POINT = make_flag("FILE_FLAG_OPEN_REPARSE_POINT", 0x00200000) +FILE_FLAG_OPEN_NO_RECALL = make_flag("FILE_FLAG_OPEN_NO_RECALL", 0x00100000) +FILE_FLAG_FIRST_PIPE_INSTANCE = make_flag("FILE_FLAG_FIRST_PIPE_INSTANCE", 0x00080000) +CREATE_NEW = make_flag("CREATE_NEW", 1) +CREATE_ALWAYS = make_flag("CREATE_ALWAYS", 2) +OPEN_EXISTING = make_flag("OPEN_EXISTING", 3) +OPEN_ALWAYS = make_flag("OPEN_ALWAYS", 4) +TRUNCATE_EXISTING = make_flag("TRUNCATE_EXISTING", 5) +FILE_SHARE_READ = make_flag("FILE_SHARE_READ", 0x00000001) +FILE_SHARE_WRITE = make_flag("FILE_SHARE_WRITE", 0x00000002) +FILE_SHARE_DELETE = make_flag("FILE_SHARE_DELETE", 0x00000004) +FILE_ATTRIBUTE_READONLY = make_flag("FILE_ATTRIBUTE_READONLY", 0x00000001) +FILE_ATTRIBUTE_HIDDEN = make_flag("FILE_ATTRIBUTE_HIDDEN", 0x00000002) +FILE_ATTRIBUTE_SYSTEM = make_flag("FILE_ATTRIBUTE_SYSTEM", 0x00000004) +FILE_ATTRIBUTE_DIRECTORY = make_flag("FILE_ATTRIBUTE_DIRECTORY", 0x00000010) +FILE_ATTRIBUTE_ARCHIVE = make_flag("FILE_ATTRIBUTE_ARCHIVE", 0x00000020) +FILE_ATTRIBUTE_DEVICE = make_flag("FILE_ATTRIBUTE_DEVICE", 0x00000040) +FILE_ATTRIBUTE_NORMAL = make_flag("FILE_ATTRIBUTE_NORMAL", 0x00000080) +FILE_ATTRIBUTE_TEMPORARY = make_flag("FILE_ATTRIBUTE_TEMPORARY", 0x00000100) +FILE_ATTRIBUTE_SPARSE_FILE = make_flag("FILE_ATTRIBUTE_SPARSE_FILE", 0x00000200) +FILE_ATTRIBUTE_REPARSE_POINT = make_flag("FILE_ATTRIBUTE_REPARSE_POINT", 0x00000400) +FILE_ATTRIBUTE_COMPRESSED = make_flag("FILE_ATTRIBUTE_COMPRESSED", 0x00000800) +FILE_ATTRIBUTE_OFFLINE = make_flag("FILE_ATTRIBUTE_OFFLINE", 0x00001000) +FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = make_flag("FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", 0x00002000) +FILE_ATTRIBUTE_ENCRYPTED = make_flag("FILE_ATTRIBUTE_ENCRYPTED", 0x00004000) +FILE_ATTRIBUTE_VIRTUAL = make_flag("FILE_ATTRIBUTE_VIRTUAL", 0x00010000) +FILE_NOTIFY_CHANGE_FILE_NAME = make_flag("FILE_NOTIFY_CHANGE_FILE_NAME", 0x00000001) +FILE_NOTIFY_CHANGE_DIR_NAME = make_flag("FILE_NOTIFY_CHANGE_DIR_NAME", 0x00000002) +FILE_NOTIFY_CHANGE_ATTRIBUTES = make_flag("FILE_NOTIFY_CHANGE_ATTRIBUTES", 0x00000004) +FILE_NOTIFY_CHANGE_SIZE = make_flag("FILE_NOTIFY_CHANGE_SIZE", 0x00000008) +FILE_NOTIFY_CHANGE_LAST_WRITE = make_flag("FILE_NOTIFY_CHANGE_LAST_WRITE", 0x00000010) +FILE_NOTIFY_CHANGE_LAST_ACCESS = make_flag("FILE_NOTIFY_CHANGE_LAST_ACCESS", 0x00000020) +FILE_NOTIFY_CHANGE_CREATION = make_flag("FILE_NOTIFY_CHANGE_CREATION", 0x00000040) +FILE_NOTIFY_CHANGE_SECURITY = make_flag("FILE_NOTIFY_CHANGE_SECURITY", 0x00000100) +FILE_ACTION_ADDED = make_flag("FILE_ACTION_ADDED", 0x00000001) +FILE_ACTION_REMOVED = make_flag("FILE_ACTION_REMOVED", 0x00000002) +FILE_ACTION_MODIFIED = make_flag("FILE_ACTION_MODIFIED", 0x00000003) +FILE_ACTION_RENAMED_OLD_NAME = make_flag("FILE_ACTION_RENAMED_OLD_NAME", 0x00000004) +FILE_ACTION_RENAMED_NEW_NAME = make_flag("FILE_ACTION_RENAMED_NEW_NAME", 0x00000005) +MAILSLOT_NO_MESSAGE = make_flag("MAILSLOT_NO_MESSAGE", ( -1 )) +MAILSLOT_WAIT_FOREVER = make_flag("MAILSLOT_WAIT_FOREVER", ( -1 )) +FILE_CASE_SENSITIVE_SEARCH = make_flag("FILE_CASE_SENSITIVE_SEARCH", 0x00000001) +FILE_CASE_PRESERVED_NAMES = make_flag("FILE_CASE_PRESERVED_NAMES", 0x00000002) +FILE_UNICODE_ON_DISK = make_flag("FILE_UNICODE_ON_DISK", 0x00000004) +FILE_PERSISTENT_ACLS = make_flag("FILE_PERSISTENT_ACLS", 0x00000008) +FILE_FILE_COMPRESSION = make_flag("FILE_FILE_COMPRESSION", 0x00000010) +FILE_VOLUME_QUOTAS = make_flag("FILE_VOLUME_QUOTAS", 0x00000020) +FILE_SUPPORTS_SPARSE_FILES = make_flag("FILE_SUPPORTS_SPARSE_FILES", 0x00000040) +FILE_SUPPORTS_REPARSE_POINTS = make_flag("FILE_SUPPORTS_REPARSE_POINTS", 0x00000080) +FILE_SUPPORTS_REMOTE_STORAGE = make_flag("FILE_SUPPORTS_REMOTE_STORAGE", 0x00000100) +FILE_VOLUME_IS_COMPRESSED = make_flag("FILE_VOLUME_IS_COMPRESSED", 0x00008000) +FILE_SUPPORTS_OBJECT_IDS = make_flag("FILE_SUPPORTS_OBJECT_IDS", 0x00010000) +FILE_SUPPORTS_ENCRYPTION = make_flag("FILE_SUPPORTS_ENCRYPTION", 0x00020000) +FILE_NAMED_STREAMS = make_flag("FILE_NAMED_STREAMS", 0x00040000) +FILE_READ_ONLY_VOLUME = make_flag("FILE_READ_ONLY_VOLUME", 0x00080000) +FILE_SEQUENTIAL_WRITE_ONCE = make_flag("FILE_SEQUENTIAL_WRITE_ONCE", 0x00100000) +FILE_SUPPORTS_TRANSACTIONS = make_flag("FILE_SUPPORTS_TRANSACTIONS", 0x00200000) +FILE_SUPPORTS_HARD_LINKS = make_flag("FILE_SUPPORTS_HARD_LINKS", 0x00400000) +FILE_SUPPORTS_EXTENDED_ATTRIBUTES = make_flag("FILE_SUPPORTS_EXTENDED_ATTRIBUTES", 0x00800000) +FILE_SUPPORTS_OPEN_BY_FILE_ID = make_flag("FILE_SUPPORTS_OPEN_BY_FILE_ID", 0x01000000) +FILE_SUPPORTS_USN_JOURNAL = make_flag("FILE_SUPPORTS_USN_JOURNAL", 0x02000000) +HKEY_CLASSES_ROOT = make_flag("HKEY_CLASSES_ROOT", ( 0x80000000 )) +HKEY_CURRENT_USER = make_flag("HKEY_CURRENT_USER", ( 0x80000001 )) +HKEY_LOCAL_MACHINE = make_flag("HKEY_LOCAL_MACHINE", ( 0x80000002 )) +HKEY_USERS = make_flag("HKEY_USERS", ( 0x80000003 )) +HKEY_PERFORMANCE_DATA = make_flag("HKEY_PERFORMANCE_DATA", ( 0x80000004 )) +HKEY_PERFORMANCE_TEXT = make_flag("HKEY_PERFORMANCE_TEXT", ( 0x80000050 )) +HKEY_PERFORMANCE_NLSTEXT = make_flag("HKEY_PERFORMANCE_NLSTEXT", ( 0x80000060 )) +RRF_RT_REG_NONE = make_flag("RRF_RT_REG_NONE", 0x00000001) +RRF_RT_REG_SZ = make_flag("RRF_RT_REG_SZ", 0x00000002) +RRF_RT_REG_EXPAND_SZ = make_flag("RRF_RT_REG_EXPAND_SZ", 0x00000004) +RRF_RT_REG_BINARY = make_flag("RRF_RT_REG_BINARY", 0x00000008) +RRF_RT_REG_DWORD = make_flag("RRF_RT_REG_DWORD", 0x00000010) +RRF_RT_REG_MULTI_SZ = make_flag("RRF_RT_REG_MULTI_SZ", 0x00000020) +RRF_RT_REG_QWORD = make_flag("RRF_RT_REG_QWORD", 0x00000040) +RRF_RT_DWORD = make_flag("RRF_RT_DWORD", ( RRF_RT_REG_BINARY | RRF_RT_REG_DWORD )) +RRF_RT_QWORD = make_flag("RRF_RT_QWORD", ( RRF_RT_REG_BINARY | RRF_RT_REG_QWORD )) +RRF_RT_ANY = make_flag("RRF_RT_ANY", 0x0000ffff) +RRF_NOEXPAND = make_flag("RRF_NOEXPAND", 0x10000000) +RRF_ZEROONFAILURE = make_flag("RRF_ZEROONFAILURE", 0x20000000) +KEY_QUERY_VALUE = make_flag("KEY_QUERY_VALUE", ( 0x0001 )) +KEY_SET_VALUE = make_flag("KEY_SET_VALUE", ( 0x0002 )) +KEY_CREATE_SUB_KEY = make_flag("KEY_CREATE_SUB_KEY", ( 0x0004 )) +KEY_ENUMERATE_SUB_KEYS = make_flag("KEY_ENUMERATE_SUB_KEYS", ( 0x0008 )) +KEY_NOTIFY = make_flag("KEY_NOTIFY", ( 0x0010 )) +KEY_CREATE_LINK = make_flag("KEY_CREATE_LINK", ( 0x0020 )) +KEY_WOW64_32KEY = make_flag("KEY_WOW64_32KEY", ( 0x0200 )) +KEY_WOW64_64KEY = make_flag("KEY_WOW64_64KEY", ( 0x0100 )) +KEY_WOW64_RES = make_flag("KEY_WOW64_RES", ( 0x0300 )) +KEY_READ = make_flag("KEY_READ", ( ( STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY ) & ( ~SYNCHRONIZE ) )) +KEY_WRITE = make_flag("KEY_WRITE", ( ( STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY ) & ( ~SYNCHRONIZE ) )) +KEY_EXECUTE = make_flag("KEY_EXECUTE", ( ( KEY_READ ) & ( ~SYNCHRONIZE ) )) +KEY_ALL_ACCESS = make_flag("KEY_ALL_ACCESS", ( ( STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK ) & ( ~SYNCHRONIZE ) )) +STATUS_INFO_LENGTH_MISMATCH = make_flag("STATUS_INFO_LENGTH_MISMATCH", ( 0xC0000004 )) +ERROR_NOT_ALL_ASSIGNED = make_flag("ERROR_NOT_ALL_ASSIGNED", 1300) +S_OK = make_flag("S_OK", 0) +S_FALSE = make_flag("S_FALSE", 1) +E_NOINTERFACE = make_flag("E_NOINTERFACE", 0x80004002) +E_FAIL = make_flag("E_FAIL", 0x80004005) +DEBUG_EVENT_BREAKPOINT = make_flag("DEBUG_EVENT_BREAKPOINT", 0x00000001) +DEBUG_EVENT_EXCEPTION = make_flag("DEBUG_EVENT_EXCEPTION", 0x00000002) +DEBUG_EVENT_CREATE_THREAD = make_flag("DEBUG_EVENT_CREATE_THREAD", 0x00000004) +DEBUG_EVENT_EXIT_THREAD = make_flag("DEBUG_EVENT_EXIT_THREAD", 0x00000008) +DEBUG_EVENT_CREATE_PROCESS = make_flag("DEBUG_EVENT_CREATE_PROCESS", 0x00000010) +DEBUG_EVENT_EXIT_PROCESS = make_flag("DEBUG_EVENT_EXIT_PROCESS", 0x00000020) +DEBUG_EVENT_LOAD_MODULE = make_flag("DEBUG_EVENT_LOAD_MODULE", 0x00000040) +DEBUG_EVENT_UNLOAD_MODULE = make_flag("DEBUG_EVENT_UNLOAD_MODULE", 0x00000080) +DEBUG_EVENT_SYSTEM_ERROR = make_flag("DEBUG_EVENT_SYSTEM_ERROR", 0x00000100) +DEBUG_EVENT_SESSION_STATUS = make_flag("DEBUG_EVENT_SESSION_STATUS", 0x00000200) +DEBUG_EVENT_CHANGE_DEBUGGEE_STATE = make_flag("DEBUG_EVENT_CHANGE_DEBUGGEE_STATE", 0x00000400) +DEBUG_EVENT_CHANGE_ENGINE_STATE = make_flag("DEBUG_EVENT_CHANGE_ENGINE_STATE", 0x00000800) +DEBUG_EVENT_CHANGE_SYMBOL_STATE = make_flag("DEBUG_EVENT_CHANGE_SYMBOL_STATE", 0x00001000) +WOW64_MAXIMUM_SUPPORTED_EXTENSION = make_flag("WOW64_MAXIMUM_SUPPORTED_EXTENSION", 512) +WOW64_SIZE_OF_80387_REGISTERS = make_flag("WOW64_SIZE_OF_80387_REGISTERS", 80) +REG_NONE = make_flag("REG_NONE", ( 0 )) +REG_SZ = make_flag("REG_SZ", ( 1 )) +REG_EXPAND_SZ = make_flag("REG_EXPAND_SZ", ( 2 )) +REG_BINARY = make_flag("REG_BINARY", ( 3 )) +REG_DWORD = make_flag("REG_DWORD", ( 4 )) +REG_DWORD_LITTLE_ENDIAN = make_flag("REG_DWORD_LITTLE_ENDIAN", ( 4 )) +REG_DWORD_BIG_ENDIAN = make_flag("REG_DWORD_BIG_ENDIAN", ( 5 )) +REG_LINK = make_flag("REG_LINK", ( 6 )) +REG_MULTI_SZ = make_flag("REG_MULTI_SZ", ( 7 )) +REG_RESOURCE_LIST = make_flag("REG_RESOURCE_LIST", ( 8 )) +REG_FULL_RESOURCE_DESCRIPTOR = make_flag("REG_FULL_RESOURCE_DESCRIPTOR", ( 9 )) +REG_RESOURCE_REQUIREMENTS_LIST = make_flag("REG_RESOURCE_REQUIREMENTS_LIST", ( 10 )) +REG_QWORD = make_flag("REG_QWORD", ( 11 )) +REG_QWORD_LITTLE_ENDIAN = make_flag("REG_QWORD_LITTLE_ENDIAN", ( 11 )) +IMAGE_FILE_RELOCS_STRIPPED = make_flag("IMAGE_FILE_RELOCS_STRIPPED", 0x0001) +IMAGE_FILE_EXECUTABLE_IMAGE = make_flag("IMAGE_FILE_EXECUTABLE_IMAGE", 0x0002) +IMAGE_FILE_LINE_NUMS_STRIPPED = make_flag("IMAGE_FILE_LINE_NUMS_STRIPPED", 0x0004) +IMAGE_FILE_LOCAL_SYMS_STRIPPED = make_flag("IMAGE_FILE_LOCAL_SYMS_STRIPPED", 0x0008) +IMAGE_FILE_AGGRESIVE_WS_TRIM = make_flag("IMAGE_FILE_AGGRESIVE_WS_TRIM", 0x0010) +IMAGE_FILE_LARGE_ADDRESS_AWARE = make_flag("IMAGE_FILE_LARGE_ADDRESS_AWARE", 0x0020) +IMAGE_FILE_BYTES_REVERSED_LO = make_flag("IMAGE_FILE_BYTES_REVERSED_LO", 0x0080) +IMAGE_FILE_32BIT_MACHINE = make_flag("IMAGE_FILE_32BIT_MACHINE", 0x0100) +IMAGE_FILE_DEBUG_STRIPPED = make_flag("IMAGE_FILE_DEBUG_STRIPPED", 0x0200) +IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = make_flag("IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP", 0x0400) +IMAGE_FILE_NET_RUN_FROM_SWAP = make_flag("IMAGE_FILE_NET_RUN_FROM_SWAP", 0x0800) +IMAGE_FILE_SYSTEM = make_flag("IMAGE_FILE_SYSTEM", 0x1000) +IMAGE_FILE_DLL = make_flag("IMAGE_FILE_DLL", 0x2000) +IMAGE_FILE_UP_SYSTEM_ONLY = make_flag("IMAGE_FILE_UP_SYSTEM_ONLY", 0x4000) +IMAGE_FILE_BYTES_REVERSED_HI = make_flag("IMAGE_FILE_BYTES_REVERSED_HI", 0x8000) +IMAGE_FILE_MACHINE_UNKNOWN = make_flag("IMAGE_FILE_MACHINE_UNKNOWN", 0) +IMAGE_FILE_MACHINE_I386 = make_flag("IMAGE_FILE_MACHINE_I386", 0x014c) +IMAGE_FILE_MACHINE_R3000 = make_flag("IMAGE_FILE_MACHINE_R3000", 0x0162) +IMAGE_FILE_MACHINE_R4000 = make_flag("IMAGE_FILE_MACHINE_R4000", 0x0166) +IMAGE_FILE_MACHINE_R10000 = make_flag("IMAGE_FILE_MACHINE_R10000", 0x0168) +IMAGE_FILE_MACHINE_WCEMIPSV2 = make_flag("IMAGE_FILE_MACHINE_WCEMIPSV2", 0x0169) +IMAGE_FILE_MACHINE_ALPHA = make_flag("IMAGE_FILE_MACHINE_ALPHA", 0x0184) +IMAGE_FILE_MACHINE_SH3 = make_flag("IMAGE_FILE_MACHINE_SH3", 0x01a2) +IMAGE_FILE_MACHINE_SH3DSP = make_flag("IMAGE_FILE_MACHINE_SH3DSP", 0x01a3) +IMAGE_FILE_MACHINE_SH3E = make_flag("IMAGE_FILE_MACHINE_SH3E", 0x01a4) +IMAGE_FILE_MACHINE_SH4 = make_flag("IMAGE_FILE_MACHINE_SH4", 0x01a6) +IMAGE_FILE_MACHINE_SH5 = make_flag("IMAGE_FILE_MACHINE_SH5", 0x01a8) +IMAGE_FILE_MACHINE_ARM = make_flag("IMAGE_FILE_MACHINE_ARM", 0x01c0) +IMAGE_FILE_MACHINE_THUMB = make_flag("IMAGE_FILE_MACHINE_THUMB", 0x01c2) +IMAGE_FILE_MACHINE_ARMNT = make_flag("IMAGE_FILE_MACHINE_ARMNT", 0x01c4) +IMAGE_FILE_MACHINE_AM33 = make_flag("IMAGE_FILE_MACHINE_AM33", 0x01d3) +IMAGE_FILE_MACHINE_POWERPC = make_flag("IMAGE_FILE_MACHINE_POWERPC", 0x01F0) +IMAGE_FILE_MACHINE_POWERPCFP = make_flag("IMAGE_FILE_MACHINE_POWERPCFP", 0x01f1) +IMAGE_FILE_MACHINE_IA64 = make_flag("IMAGE_FILE_MACHINE_IA64", 0x0200) +IMAGE_FILE_MACHINE_MIPS16 = make_flag("IMAGE_FILE_MACHINE_MIPS16", 0x0266) +IMAGE_FILE_MACHINE_ALPHA64 = make_flag("IMAGE_FILE_MACHINE_ALPHA64", 0x0284) +IMAGE_FILE_MACHINE_MIPSFPU = make_flag("IMAGE_FILE_MACHINE_MIPSFPU", 0x0366) +IMAGE_FILE_MACHINE_MIPSFPU16 = make_flag("IMAGE_FILE_MACHINE_MIPSFPU16", 0x0466) +IMAGE_FILE_MACHINE_AXP64 = make_flag("IMAGE_FILE_MACHINE_AXP64", IMAGE_FILE_MACHINE_ALPHA64) +IMAGE_FILE_MACHINE_TRICORE = make_flag("IMAGE_FILE_MACHINE_TRICORE", 0x0520) +IMAGE_FILE_MACHINE_CEF = make_flag("IMAGE_FILE_MACHINE_CEF", 0x0CEF) +IMAGE_FILE_MACHINE_EBC = make_flag("IMAGE_FILE_MACHINE_EBC", 0x0EBC) +IMAGE_FILE_MACHINE_AMD64 = make_flag("IMAGE_FILE_MACHINE_AMD64", 0x8664) +IMAGE_FILE_MACHINE_M32R = make_flag("IMAGE_FILE_MACHINE_M32R", 0x9041) +IMAGE_FILE_MACHINE_CEE = make_flag("IMAGE_FILE_MACHINE_CEE", 0xC0EE) +SECURITY_MANDATORY_UNTRUSTED_RID = make_flag("SECURITY_MANDATORY_UNTRUSTED_RID", ( 0x00000000 )) +SECURITY_MANDATORY_LOW_RID = make_flag("SECURITY_MANDATORY_LOW_RID", ( 0x00001000 )) +SECURITY_MANDATORY_MEDIUM_RID = make_flag("SECURITY_MANDATORY_MEDIUM_RID", ( 0x00002000 )) +SECURITY_MANDATORY_MEDIUM_PLUS_RID = make_flag("SECURITY_MANDATORY_MEDIUM_PLUS_RID", ( SECURITY_MANDATORY_MEDIUM_RID + 0x100 )) +SECURITY_MANDATORY_HIGH_RID = make_flag("SECURITY_MANDATORY_HIGH_RID", ( 0x00003000 )) +SECURITY_MANDATORY_SYSTEM_RID = make_flag("SECURITY_MANDATORY_SYSTEM_RID", ( 0x00004000 )) +SECURITY_MANDATORY_PROTECTED_PROCESS_RID = make_flag("SECURITY_MANDATORY_PROTECTED_PROCESS_RID", ( 0x00005000 )) +SECTION_QUERY = make_flag("SECTION_QUERY", 0x0001) +SECTION_MAP_WRITE = make_flag("SECTION_MAP_WRITE", 0x0002) +SECTION_MAP_READ = make_flag("SECTION_MAP_READ", 0x0004) +SECTION_MAP_EXECUTE = make_flag("SECTION_MAP_EXECUTE", 0x0008) +SECTION_EXTEND_SIZE = make_flag("SECTION_EXTEND_SIZE", 0x0010) +SECTION_MAP_EXECUTE_EXPLICIT = make_flag("SECTION_MAP_EXECUTE_EXPLICIT", 0x0020) +SECTION_ALL_ACCESS = make_flag("SECTION_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE )) +FILE_MAP_COPY = make_flag("FILE_MAP_COPY", SECTION_QUERY) +FILE_MAP_WRITE = make_flag("FILE_MAP_WRITE", SECTION_MAP_WRITE) +FILE_MAP_READ = make_flag("FILE_MAP_READ", SECTION_MAP_READ) +FILE_MAP_ALL_ACCESS = make_flag("FILE_MAP_ALL_ACCESS", SECTION_ALL_ACCESS) +FILE_MAP_EXECUTE = make_flag("FILE_MAP_EXECUTE", SECTION_MAP_EXECUTE_EXPLICIT) +SC_MANAGER_CONNECT = make_flag("SC_MANAGER_CONNECT", 0x0001) +SC_MANAGER_CREATE_SERVICE = make_flag("SC_MANAGER_CREATE_SERVICE", 0x0002) +SC_MANAGER_ENUMERATE_SERVICE = make_flag("SC_MANAGER_ENUMERATE_SERVICE", 0x0004) +SC_MANAGER_LOCK = make_flag("SC_MANAGER_LOCK", 0x0008) +SC_MANAGER_QUERY_LOCK_STATUS = make_flag("SC_MANAGER_QUERY_LOCK_STATUS", 0x0010) +SC_MANAGER_MODIFY_BOOT_CONFIG = make_flag("SC_MANAGER_MODIFY_BOOT_CONFIG", 0x0020) +SC_MANAGER_ALL_ACCESS = make_flag("SC_MANAGER_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG )) +SERVICE_QUERY_CONFIG = make_flag("SERVICE_QUERY_CONFIG", 0x0001) +SERVICE_CHANGE_CONFIG = make_flag("SERVICE_CHANGE_CONFIG", 0x0002) +SERVICE_QUERY_STATUS = make_flag("SERVICE_QUERY_STATUS", 0x0004) +SERVICE_ENUMERATE_DEPENDENTS = make_flag("SERVICE_ENUMERATE_DEPENDENTS", 0x0008) +SERVICE_START = make_flag("SERVICE_START", 0x0010) +SERVICE_STOP = make_flag("SERVICE_STOP", 0x0020) +SERVICE_PAUSE_CONTINUE = make_flag("SERVICE_PAUSE_CONTINUE", 0x0040) +SERVICE_INTERROGATE = make_flag("SERVICE_INTERROGATE", 0x0080) +SERVICE_USER_DEFINED_CONTROL = make_flag("SERVICE_USER_DEFINED_CONTROL", 0x0100) +SERVICE_ALL_ACCESS = make_flag("SERVICE_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL )) +SERVICE_RUNS_IN_SYSTEM_PROCESS = make_flag("SERVICE_RUNS_IN_SYSTEM_PROCESS", 0x00000001) +SERVICE_KERNEL_DRIVER = make_flag("SERVICE_KERNEL_DRIVER", 0x00000001) +SERVICE_FILE_SYSTEM_DRIVER = make_flag("SERVICE_FILE_SYSTEM_DRIVER", 0x00000002) +SERVICE_ADAPTER = make_flag("SERVICE_ADAPTER", 0x00000004) +SERVICE_RECOGNIZER_DRIVER = make_flag("SERVICE_RECOGNIZER_DRIVER", 0x00000008) +SERVICE_DRIVER = make_flag("SERVICE_DRIVER", ( SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER )) +SERVICE_WIN32_OWN_PROCESS = make_flag("SERVICE_WIN32_OWN_PROCESS", 0x00000010) +SERVICE_WIN32_SHARE_PROCESS = make_flag("SERVICE_WIN32_SHARE_PROCESS", 0x00000020) +SERVICE_WIN32 = make_flag("SERVICE_WIN32", ( SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS )) +SERVICE_INTERACTIVE_PROCESS = make_flag("SERVICE_INTERACTIVE_PROCESS", 0x00000100) +SERVICE_TYPE_ALL = make_flag("SERVICE_TYPE_ALL", ( SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS )) +SERVICE_BOOT_START = make_flag("SERVICE_BOOT_START", 0x00000000) +SERVICE_SYSTEM_START = make_flag("SERVICE_SYSTEM_START", 0x00000001) +SERVICE_AUTO_START = make_flag("SERVICE_AUTO_START", 0x00000002) +SERVICE_DEMAND_START = make_flag("SERVICE_DEMAND_START", 0x00000003) +SERVICE_DISABLED = make_flag("SERVICE_DISABLED", 0x00000004) +SERVICE_ERROR_IGNORE = make_flag("SERVICE_ERROR_IGNORE", 0x00000000) +SERVICE_ERROR_NORMAL = make_flag("SERVICE_ERROR_NORMAL", 0x00000001) +SERVICE_ERROR_SEVERE = make_flag("SERVICE_ERROR_SEVERE", 0x00000002) +SERVICE_ERROR_CRITICAL = make_flag("SERVICE_ERROR_CRITICAL", 0x00000003) +SERVICE_ACTIVE = make_flag("SERVICE_ACTIVE", 0x00000001) +SERVICE_INACTIVE = make_flag("SERVICE_INACTIVE", 0x00000002) +SERVICE_STATE_ALL = make_flag("SERVICE_STATE_ALL", ( SERVICE_ACTIVE | SERVICE_INACTIVE )) +SERVICE_CONTROL_STOP = make_flag("SERVICE_CONTROL_STOP", 0x00000001) +SERVICE_CONTROL_PAUSE = make_flag("SERVICE_CONTROL_PAUSE", 0x00000002) +SERVICE_CONTROL_CONTINUE = make_flag("SERVICE_CONTROL_CONTINUE", 0x00000003) +SERVICE_CONTROL_INTERROGATE = make_flag("SERVICE_CONTROL_INTERROGATE", 0x00000004) +SERVICE_CONTROL_SHUTDOWN = make_flag("SERVICE_CONTROL_SHUTDOWN", 0x00000005) +SERVICE_CONTROL_PARAMCHANGE = make_flag("SERVICE_CONTROL_PARAMCHANGE", 0x00000006) +SERVICE_CONTROL_NETBINDADD = make_flag("SERVICE_CONTROL_NETBINDADD", 0x00000007) +SERVICE_CONTROL_NETBINDREMOVE = make_flag("SERVICE_CONTROL_NETBINDREMOVE", 0x00000008) +SERVICE_CONTROL_NETBINDENABLE = make_flag("SERVICE_CONTROL_NETBINDENABLE", 0x00000009) +SERVICE_CONTROL_NETBINDDISABLE = make_flag("SERVICE_CONTROL_NETBINDDISABLE", 0x0000000A) +SERVICE_CONTROL_DEVICEEVENT = make_flag("SERVICE_CONTROL_DEVICEEVENT", 0x0000000B) +SERVICE_CONTROL_HARDWAREPROFILECHANGE = make_flag("SERVICE_CONTROL_HARDWAREPROFILECHANGE", 0x0000000C) +SERVICE_CONTROL_POWEREVENT = make_flag("SERVICE_CONTROL_POWEREVENT", 0x0000000D) +SERVICE_CONTROL_SESSIONCHANGE = make_flag("SERVICE_CONTROL_SESSIONCHANGE", 0x0000000E) +SERVICE_CONTROL_PRESHUTDOWN = make_flag("SERVICE_CONTROL_PRESHUTDOWN", 0x0000000F) +SERVICE_CONTROL_TIMECHANGE = make_flag("SERVICE_CONTROL_TIMECHANGE", 0x00000010) +SERVICE_CONTROL_TRIGGEREVENT = make_flag("SERVICE_CONTROL_TRIGGEREVENT", 0x00000020) +SERVICE_STOPPED = make_flag("SERVICE_STOPPED", 0x00000001) +SERVICE_START_PENDING = make_flag("SERVICE_START_PENDING", 0x00000002) +SERVICE_STOP_PENDING = make_flag("SERVICE_STOP_PENDING", 0x00000003) +SERVICE_RUNNING = make_flag("SERVICE_RUNNING", 0x00000004) +SERVICE_CONTINUE_PENDING = make_flag("SERVICE_CONTINUE_PENDING", 0x00000005) +SERVICE_PAUSE_PENDING = make_flag("SERVICE_PAUSE_PENDING", 0x00000006) +SERVICE_PAUSED = make_flag("SERVICE_PAUSED", 0x00000007) +SERVICE_ACCEPT_STOP = make_flag("SERVICE_ACCEPT_STOP", 0x00000001) +SERVICE_ACCEPT_PAUSE_CONTINUE = make_flag("SERVICE_ACCEPT_PAUSE_CONTINUE", 0x00000002) +SERVICE_ACCEPT_SHUTDOWN = make_flag("SERVICE_ACCEPT_SHUTDOWN", 0x00000004) +SERVICE_ACCEPT_PARAMCHANGE = make_flag("SERVICE_ACCEPT_PARAMCHANGE", 0x00000008) +SERVICE_ACCEPT_NETBINDCHANGE = make_flag("SERVICE_ACCEPT_NETBINDCHANGE", 0x00000010) +SERVICE_ACCEPT_HARDWAREPROFILECHANGE = make_flag("SERVICE_ACCEPT_HARDWAREPROFILECHANGE", 0x00000020) +SERVICE_ACCEPT_POWEREVENT = make_flag("SERVICE_ACCEPT_POWEREVENT", 0x00000040) +SERVICE_ACCEPT_SESSIONCHANGE = make_flag("SERVICE_ACCEPT_SESSIONCHANGE", 0x00000080) +SERVICE_ACCEPT_PRESHUTDOWN = make_flag("SERVICE_ACCEPT_PRESHUTDOWN", 0x00000100) +SERVICE_ACCEPT_TIMECHANGE = make_flag("SERVICE_ACCEPT_TIMECHANGE", 0x00000200) +SERVICE_ACCEPT_TRIGGEREVENT = make_flag("SERVICE_ACCEPT_TRIGGEREVENT", 0x00000400) +DRIVE_UNKNOWN = make_flag("DRIVE_UNKNOWN", 0) +DRIVE_NO_ROOT_DIR = make_flag("DRIVE_NO_ROOT_DIR", 1) +DRIVE_REMOVABLE = make_flag("DRIVE_REMOVABLE", 2) +DRIVE_FIXED = make_flag("DRIVE_FIXED", 3) +DRIVE_REMOTE = make_flag("DRIVE_REMOTE", 4) +DRIVE_CDROM = make_flag("DRIVE_CDROM", 5) +DRIVE_RAMDISK = make_flag("DRIVE_RAMDISK", 6) +DUPLICATE_CLOSE_SOURCE = make_flag("DUPLICATE_CLOSE_SOURCE", 0x00000001) +DUPLICATE_SAME_ACCESS = make_flag("DUPLICATE_SAME_ACCESS", 0x00000002) +VER_NT_WORKSTATION = make_flag("VER_NT_WORKSTATION", 0x0000001) +VER_NT_DOMAIN_CONTROLLER = make_flag("VER_NT_DOMAIN_CONTROLLER", 0x0000002) +VER_NT_SERVER = make_flag("VER_NT_SERVER", 0x0000003) +SM_CXSCREEN = make_flag("SM_CXSCREEN", 0) +SM_CYSCREEN = make_flag("SM_CYSCREEN", 1) +SM_CXVSCROLL = make_flag("SM_CXVSCROLL", 2) +SM_CYHSCROLL = make_flag("SM_CYHSCROLL", 3) +SM_CYCAPTION = make_flag("SM_CYCAPTION", 4) +SM_CXBORDER = make_flag("SM_CXBORDER", 5) +SM_CYBORDER = make_flag("SM_CYBORDER", 6) +SM_CXDLGFRAME = make_flag("SM_CXDLGFRAME", 7) +SM_CYDLGFRAME = make_flag("SM_CYDLGFRAME", 8) +SM_CYVTHUMB = make_flag("SM_CYVTHUMB", 9) +SM_CXHTHUMB = make_flag("SM_CXHTHUMB", 10) +SM_CXICON = make_flag("SM_CXICON", 11) +SM_CYICON = make_flag("SM_CYICON", 12) +SM_CXCURSOR = make_flag("SM_CXCURSOR", 13) +SM_CYCURSOR = make_flag("SM_CYCURSOR", 14) +SM_CYMENU = make_flag("SM_CYMENU", 15) +SM_CXFULLSCREEN = make_flag("SM_CXFULLSCREEN", 16) +SM_CYFULLSCREEN = make_flag("SM_CYFULLSCREEN", 17) +SM_CYKANJIWINDOW = make_flag("SM_CYKANJIWINDOW", 18) +SM_MOUSEPRESENT = make_flag("SM_MOUSEPRESENT", 19) +SM_CYVSCROLL = make_flag("SM_CYVSCROLL", 20) +SM_CXHSCROLL = make_flag("SM_CXHSCROLL", 21) +SM_DEBUG = make_flag("SM_DEBUG", 22) +SM_SWAPBUTTON = make_flag("SM_SWAPBUTTON", 23) +SM_RESERVED1 = make_flag("SM_RESERVED1", 24) +SM_RESERVED2 = make_flag("SM_RESERVED2", 25) +SM_RESERVED3 = make_flag("SM_RESERVED3", 26) +SM_RESERVED4 = make_flag("SM_RESERVED4", 27) +SM_CXMIN = make_flag("SM_CXMIN", 28) +SM_CYMIN = make_flag("SM_CYMIN", 29) +SM_CXSIZE = make_flag("SM_CXSIZE", 30) +SM_CYSIZE = make_flag("SM_CYSIZE", 31) +SM_CXFRAME = make_flag("SM_CXFRAME", 32) +SM_CYFRAME = make_flag("SM_CYFRAME", 33) +SM_CXMINTRACK = make_flag("SM_CXMINTRACK", 34) +SM_CYMINTRACK = make_flag("SM_CYMINTRACK", 35) +SM_CXDOUBLECLK = make_flag("SM_CXDOUBLECLK", 36) +SM_CYDOUBLECLK = make_flag("SM_CYDOUBLECLK", 37) +SM_CXICONSPACING = make_flag("SM_CXICONSPACING", 38) +SM_CYICONSPACING = make_flag("SM_CYICONSPACING", 39) +SM_MENUDROPALIGNMENT = make_flag("SM_MENUDROPALIGNMENT", 40) +SM_PENWINDOWS = make_flag("SM_PENWINDOWS", 41) +SM_DBCSENABLED = make_flag("SM_DBCSENABLED", 42) +SM_CMOUSEBUTTONS = make_flag("SM_CMOUSEBUTTONS", 43) +SM_CXFIXEDFRAME = make_flag("SM_CXFIXEDFRAME", SM_CXDLGFRAME) +SM_CYFIXEDFRAME = make_flag("SM_CYFIXEDFRAME", SM_CYDLGFRAME) +SM_CXSIZEFRAME = make_flag("SM_CXSIZEFRAME", SM_CXFRAME) +SM_CYSIZEFRAME = make_flag("SM_CYSIZEFRAME", SM_CYFRAME) +SM_SECURE = make_flag("SM_SECURE", 44) +SM_CXEDGE = make_flag("SM_CXEDGE", 45) +SM_CYEDGE = make_flag("SM_CYEDGE", 46) +SM_CXMINSPACING = make_flag("SM_CXMINSPACING", 47) +SM_CYMINSPACING = make_flag("SM_CYMINSPACING", 48) +SM_CXSMICON = make_flag("SM_CXSMICON", 49) +SM_CYSMICON = make_flag("SM_CYSMICON", 50) +SM_CYSMCAPTION = make_flag("SM_CYSMCAPTION", 51) +SM_CXSMSIZE = make_flag("SM_CXSMSIZE", 52) +SM_CYSMSIZE = make_flag("SM_CYSMSIZE", 53) +SM_CXMENUSIZE = make_flag("SM_CXMENUSIZE", 54) +SM_CYMENUSIZE = make_flag("SM_CYMENUSIZE", 55) +SM_ARRANGE = make_flag("SM_ARRANGE", 56) +SM_CXMINIMIZED = make_flag("SM_CXMINIMIZED", 57) +SM_CYMINIMIZED = make_flag("SM_CYMINIMIZED", 58) +SM_CXMAXTRACK = make_flag("SM_CXMAXTRACK", 59) +SM_CYMAXTRACK = make_flag("SM_CYMAXTRACK", 60) +SM_CXMAXIMIZED = make_flag("SM_CXMAXIMIZED", 61) +SM_CYMAXIMIZED = make_flag("SM_CYMAXIMIZED", 62) +SM_NETWORK = make_flag("SM_NETWORK", 63) +SM_CLEANBOOT = make_flag("SM_CLEANBOOT", 67) +SM_CXDRAG = make_flag("SM_CXDRAG", 68) +SM_CYDRAG = make_flag("SM_CYDRAG", 69) +SM_SHOWSOUNDS = make_flag("SM_SHOWSOUNDS", 70) +SM_CXMENUCHECK = make_flag("SM_CXMENUCHECK", 71) +SM_CYMENUCHECK = make_flag("SM_CYMENUCHECK", 72) +SM_SLOWMACHINE = make_flag("SM_SLOWMACHINE", 73) +SM_MIDEASTENABLED = make_flag("SM_MIDEASTENABLED", 74) +SM_MOUSEWHEELPRESENT = make_flag("SM_MOUSEWHEELPRESENT", 75) +SM_XVIRTUALSCREEN = make_flag("SM_XVIRTUALSCREEN", 76) +SM_YVIRTUALSCREEN = make_flag("SM_YVIRTUALSCREEN", 77) +SM_CXVIRTUALSCREEN = make_flag("SM_CXVIRTUALSCREEN", 78) +SM_CYVIRTUALSCREEN = make_flag("SM_CYVIRTUALSCREEN", 79) +SM_CMONITORS = make_flag("SM_CMONITORS", 80) +SM_SAMEDISPLAYFORMAT = make_flag("SM_SAMEDISPLAYFORMAT", 81) +SM_IMMENABLED = make_flag("SM_IMMENABLED", 82) +SM_CXFOCUSBORDER = make_flag("SM_CXFOCUSBORDER", 83) +SM_CYFOCUSBORDER = make_flag("SM_CYFOCUSBORDER", 84) +SM_TABLETPC = make_flag("SM_TABLETPC", 86) +SM_MEDIACENTER = make_flag("SM_MEDIACENTER", 87) +SM_STARTER = make_flag("SM_STARTER", 88) +SM_SERVERR2 = make_flag("SM_SERVERR2", 89) +SM_MOUSEHORIZONTALWHEELPRESENT = make_flag("SM_MOUSEHORIZONTALWHEELPRESENT", 91) +SM_CXPADDEDBORDER = make_flag("SM_CXPADDEDBORDER", 92) +SM_DIGITIZER = make_flag("SM_DIGITIZER", 94) +SM_MAXIMUMTOUCHES = make_flag("SM_MAXIMUMTOUCHES", 95) +SM_REMOTESESSION = make_flag("SM_REMOTESESSION", 0x1000) +SM_SHUTTINGDOWN = make_flag("SM_SHUTTINGDOWN", 0x2000) +SM_REMOTECONTROL = make_flag("SM_REMOTECONTROL", 0x2001) +SM_CARETBLINKINGENABLED = make_flag("SM_CARETBLINKINGENABLED", 0x2002) +RPC_C_AUTHN_LEVEL_DEFAULT = make_flag("RPC_C_AUTHN_LEVEL_DEFAULT", 0) +RPC_C_AUTHN_LEVEL_NONE = make_flag("RPC_C_AUTHN_LEVEL_NONE", 1) +RPC_C_AUTHN_LEVEL_CONNECT = make_flag("RPC_C_AUTHN_LEVEL_CONNECT", 2) +RPC_C_AUTHN_LEVEL_CALL = make_flag("RPC_C_AUTHN_LEVEL_CALL", 3) +RPC_C_AUTHN_LEVEL_PKT = make_flag("RPC_C_AUTHN_LEVEL_PKT", 4) +RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = make_flag("RPC_C_AUTHN_LEVEL_PKT_INTEGRITY", 5) +RPC_C_AUTHN_LEVEL_PKT_PRIVACY = make_flag("RPC_C_AUTHN_LEVEL_PKT_PRIVACY", 6) +RPC_C_IMP_LEVEL_DEFAULT = make_flag("RPC_C_IMP_LEVEL_DEFAULT", 0) +RPC_C_IMP_LEVEL_ANONYMOUS = make_flag("RPC_C_IMP_LEVEL_ANONYMOUS", 1) +RPC_C_IMP_LEVEL_IDENTIFY = make_flag("RPC_C_IMP_LEVEL_IDENTIFY", 2) +RPC_C_IMP_LEVEL_IMPERSONATE = make_flag("RPC_C_IMP_LEVEL_IMPERSONATE", 3) +RPC_C_IMP_LEVEL_DELEGATE = make_flag("RPC_C_IMP_LEVEL_DELEGATE", 4) +RPC_C_QOS_IDENTITY_STATIC = make_flag("RPC_C_QOS_IDENTITY_STATIC", 0) +RPC_C_QOS_IDENTITY_DYNAMIC = make_flag("RPC_C_QOS_IDENTITY_DYNAMIC", 1) +RPC_C_QOS_CAPABILITIES_DEFAULT = make_flag("RPC_C_QOS_CAPABILITIES_DEFAULT", 0x0) +RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH = make_flag("RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH", 0x1) +RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC = make_flag("RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC", 0x2) +RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY = make_flag("RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY", 0x4) +MAX_ADAPTER_NAME = make_flag("MAX_ADAPTER_NAME", 128) +MAXLEN_PHYSADDR = make_flag("MAXLEN_PHYSADDR", 8) +MAXLEN_IFDESCR = make_flag("MAXLEN_IFDESCR", 256) +MAX_INTERFACE_NAME_LEN = make_flag("MAX_INTERFACE_NAME_LEN", 256) +DIRECTORY_QUERY = make_flag("DIRECTORY_QUERY", ( 0x0001 )) +DIRECTORY_TRAVERSE = make_flag("DIRECTORY_TRAVERSE", ( 0x0002 )) +DIRECTORY_CREATE_OBJECT = make_flag("DIRECTORY_CREATE_OBJECT", ( 0x0004 )) +DIRECTORY_CREATE_SUBDIRECTORY = make_flag("DIRECTORY_CREATE_SUBDIRECTORY", ( 0x0008 )) +DIRECTORY_ALL_ACCESS = make_flag("DIRECTORY_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | 0xF )) +OBJ_INHERIT = make_flag("OBJ_INHERIT", 0x00000002) +OBJ_PERMANENT = make_flag("OBJ_PERMANENT", 0x00000010) +OBJ_EXCLUSIVE = make_flag("OBJ_EXCLUSIVE", 0x00000020) +OBJ_CASE_INSENSITIVE = make_flag("OBJ_CASE_INSENSITIVE", 0x00000040) +OBJ_OPENIF = make_flag("OBJ_OPENIF", 0x00000080) +OBJ_OPENLINK = make_flag("OBJ_OPENLINK", 0x00000100) +OBJ_KERNEL_HANDLE = make_flag("OBJ_KERNEL_HANDLE", 0x00000200) +OBJ_FORCE_ACCESS_CHECK = make_flag("OBJ_FORCE_ACCESS_CHECK", 0x00000400) +OBJ_VALID_ATTRIBUTES = make_flag("OBJ_VALID_ATTRIBUTES", 0x000007F2) +FILE_SUPERSEDE = make_flag("FILE_SUPERSEDE", 0x00000000) +FILE_OPEN = make_flag("FILE_OPEN", 0x00000001) +FILE_CREATE = make_flag("FILE_CREATE", 0x00000002) +FILE_OPEN_IF = make_flag("FILE_OPEN_IF", 0x00000003) +FILE_OVERWRITE = make_flag("FILE_OVERWRITE", 0x00000004) +FILE_OVERWRITE_IF = make_flag("FILE_OVERWRITE_IF", 0x00000005) +FILE_MAXIMUM_DISPOSITION = make_flag("FILE_MAXIMUM_DISPOSITION", 0x00000005) +TRUST_E_PROVIDER_UNKNOWN = make_flag("TRUST_E_PROVIDER_UNKNOWN", ( 0x800B0001 )) +TRUST_E_ACTION_UNKNOWN = make_flag("TRUST_E_ACTION_UNKNOWN", ( 0x800B0002 )) +TRUST_E_SUBJECT_FORM_UNKNOWN = make_flag("TRUST_E_SUBJECT_FORM_UNKNOWN", ( 0x800B0003 )) +DIGSIG_E_ENCODE = make_flag("DIGSIG_E_ENCODE", ( 0x800B0005 )) +TRUST_E_SUBJECT_NOT_TRUSTED = make_flag("TRUST_E_SUBJECT_NOT_TRUSTED", ( 0x800B0004 )) +DIGSIG_E_DECODE = make_flag("DIGSIG_E_DECODE", ( 0x800B0006 )) +DIGSIG_E_EXTENSIBILITY = make_flag("DIGSIG_E_EXTENSIBILITY", ( 0x800B0007 )) +PERSIST_E_SIZEDEFINITE = make_flag("PERSIST_E_SIZEDEFINITE", ( 0x800B0009 )) +DIGSIG_E_CRYPTO = make_flag("DIGSIG_E_CRYPTO", ( 0x800B0008 )) +PERSIST_E_SIZEINDEFINITE = make_flag("PERSIST_E_SIZEINDEFINITE", ( 0x800B000A )) +PERSIST_E_NOTSELFSIZING = make_flag("PERSIST_E_NOTSELFSIZING", ( 0x800B000B )) +TRUST_E_NOSIGNATURE = make_flag("TRUST_E_NOSIGNATURE", ( 0x800B0100 )) +CERT_E_EXPIRED = make_flag("CERT_E_EXPIRED", ( 0x800B0101 )) +CERT_E_VALIDITYPERIODNESTING = make_flag("CERT_E_VALIDITYPERIODNESTING", ( 0x800B0102 )) +CERT_E_PURPOSE = make_flag("CERT_E_PURPOSE", ( 0x800B0106 )) +CERT_E_ISSUERCHAINING = make_flag("CERT_E_ISSUERCHAINING", ( 0x800B0107 )) +CERT_E_MALFORMED = make_flag("CERT_E_MALFORMED", ( 0x800B0108 )) +CERT_E_UNTRUSTEDROOT = make_flag("CERT_E_UNTRUSTEDROOT", ( 0x800B0109 )) +CERT_E_CHAINING = make_flag("CERT_E_CHAINING", ( 0x800B010A )) +TRUST_E_FAIL = make_flag("TRUST_E_FAIL", ( 0x800B010B )) +CERT_E_REVOKED = make_flag("CERT_E_REVOKED", ( 0x800B010C )) +CERT_E_UNTRUSTEDTESTROOT = make_flag("CERT_E_UNTRUSTEDTESTROOT", ( 0x800B010D )) +CERT_E_REVOCATION_FAILURE = make_flag("CERT_E_REVOCATION_FAILURE", ( 0x800B010E )) +CERT_E_CN_NO_MATCH = make_flag("CERT_E_CN_NO_MATCH", ( 0x800B010F )) +CERT_E_WRONG_USAGE = make_flag("CERT_E_WRONG_USAGE", ( 0x800B0110 )) +TRUST_E_EXPLICIT_DISTRUST = make_flag("TRUST_E_EXPLICIT_DISTRUST", ( 0x800B0111 )) +CERT_E_UNTRUSTEDCA = make_flag("CERT_E_UNTRUSTEDCA", ( 0x800B0112 )) +CERT_E_INVALID_POLICY = make_flag("CERT_E_INVALID_POLICY", ( 0x800B0113 )) +CERT_E_INVALID_NAME = make_flag("CERT_E_INVALID_NAME", ( 0x800B0114 )) +CRYPT_E_FILE_ERROR = make_flag("CRYPT_E_FILE_ERROR", ( 0x80092003 )) +IMAGE_SCN_TYPE_REG = make_flag("IMAGE_SCN_TYPE_REG", 0x00000000) +IMAGE_SCN_TYPE_DSECT = make_flag("IMAGE_SCN_TYPE_DSECT", 0x00000001) +IMAGE_SCN_TYPE_NOLOAD = make_flag("IMAGE_SCN_TYPE_NOLOAD", 0x00000002) +IMAGE_SCN_TYPE_GROUP = make_flag("IMAGE_SCN_TYPE_GROUP", 0x00000004) +IMAGE_SCN_TYPE_NO_PAD = make_flag("IMAGE_SCN_TYPE_NO_PAD", 0x00000008) +IMAGE_SCN_TYPE_COPY = make_flag("IMAGE_SCN_TYPE_COPY", 0x00000010) +IMAGE_SCN_CNT_CODE = make_flag("IMAGE_SCN_CNT_CODE", 0x00000020) +IMAGE_SCN_CNT_INITIALIZED_DATA = make_flag("IMAGE_SCN_CNT_INITIALIZED_DATA", 0x00000040) +IMAGE_SCN_CNT_UNINITIALIZED_DATA = make_flag("IMAGE_SCN_CNT_UNINITIALIZED_DATA", 0x00000080) +IMAGE_SCN_LNK_OTHER = make_flag("IMAGE_SCN_LNK_OTHER", 0x00000100) +IMAGE_SCN_LNK_INFO = make_flag("IMAGE_SCN_LNK_INFO", 0x00000200) +IMAGE_SCN_TYPE_OVER = make_flag("IMAGE_SCN_TYPE_OVER", 0x00000400) +IMAGE_SCN_LNK_REMOVE = make_flag("IMAGE_SCN_LNK_REMOVE", 0x00000800) +IMAGE_SCN_LNK_COMDAT = make_flag("IMAGE_SCN_LNK_COMDAT", 0x00001000) +IMAGE_SCN_NO_DEFER_SPEC_EXC = make_flag("IMAGE_SCN_NO_DEFER_SPEC_EXC", 0x00004000) +IMAGE_SCN_GPREL = make_flag("IMAGE_SCN_GPREL", 0x00008000) +IMAGE_SCN_MEM_FARDATA = make_flag("IMAGE_SCN_MEM_FARDATA", 0x00008000) +IMAGE_SCN_MEM_PURGEABLE = make_flag("IMAGE_SCN_MEM_PURGEABLE", 0x00020000) +IMAGE_SCN_MEM_16BIT = make_flag("IMAGE_SCN_MEM_16BIT", 0x00020000) +IMAGE_SCN_MEM_LOCKED = make_flag("IMAGE_SCN_MEM_LOCKED", 0x00040000) +IMAGE_SCN_MEM_PRELOAD = make_flag("IMAGE_SCN_MEM_PRELOAD", 0x00080000) +IMAGE_SCN_ALIGN_1BYTES = make_flag("IMAGE_SCN_ALIGN_1BYTES", 0x00100000) +IMAGE_SCN_ALIGN_2BYTES = make_flag("IMAGE_SCN_ALIGN_2BYTES", 0x00200000) +IMAGE_SCN_ALIGN_4BYTES = make_flag("IMAGE_SCN_ALIGN_4BYTES", 0x00300000) +IMAGE_SCN_ALIGN_8BYTES = make_flag("IMAGE_SCN_ALIGN_8BYTES", 0x00400000) +IMAGE_SCN_ALIGN_16BYTES = make_flag("IMAGE_SCN_ALIGN_16BYTES", 0x00500000) +IMAGE_SCN_ALIGN_32BYTES = make_flag("IMAGE_SCN_ALIGN_32BYTES", 0x00600000) +IMAGE_SCN_ALIGN_64BYTES = make_flag("IMAGE_SCN_ALIGN_64BYTES", 0x00700000) +IMAGE_SCN_ALIGN_128BYTES = make_flag("IMAGE_SCN_ALIGN_128BYTES", 0x00800000) +IMAGE_SCN_ALIGN_256BYTES = make_flag("IMAGE_SCN_ALIGN_256BYTES", 0x00900000) +IMAGE_SCN_ALIGN_512BYTES = make_flag("IMAGE_SCN_ALIGN_512BYTES", 0x00A00000) +IMAGE_SCN_ALIGN_1024BYTES = make_flag("IMAGE_SCN_ALIGN_1024BYTES", 0x00B00000) +IMAGE_SCN_ALIGN_2048BYTES = make_flag("IMAGE_SCN_ALIGN_2048BYTES", 0x00C00000) +IMAGE_SCN_ALIGN_4096BYTES = make_flag("IMAGE_SCN_ALIGN_4096BYTES", 0x00D00000) +IMAGE_SCN_ALIGN_8192BYTES = make_flag("IMAGE_SCN_ALIGN_8192BYTES", 0x00E00000) +IMAGE_SCN_ALIGN_MASK = make_flag("IMAGE_SCN_ALIGN_MASK", 0x00F00000) +IMAGE_SCN_LNK_NRELOC_OVFL = make_flag("IMAGE_SCN_LNK_NRELOC_OVFL", 0x01000000) +IMAGE_SCN_MEM_DISCARDABLE = make_flag("IMAGE_SCN_MEM_DISCARDABLE", 0x02000000) +IMAGE_SCN_MEM_NOT_CACHED = make_flag("IMAGE_SCN_MEM_NOT_CACHED", 0x04000000) +IMAGE_SCN_MEM_NOT_PAGED = make_flag("IMAGE_SCN_MEM_NOT_PAGED", 0x08000000) +IMAGE_SCN_MEM_SHARED = make_flag("IMAGE_SCN_MEM_SHARED", 0x10000000) +IMAGE_SCN_MEM_EXECUTE = make_flag("IMAGE_SCN_MEM_EXECUTE", 0x20000000) +IMAGE_SCN_MEM_READ = make_flag("IMAGE_SCN_MEM_READ", 0x40000000) +IMAGE_SCN_MEM_WRITE = make_flag("IMAGE_SCN_MEM_WRITE", 0x80000000) +CERT_QUERY_OBJECT_FILE = make_flag("CERT_QUERY_OBJECT_FILE", 0x00000001) +CERT_QUERY_OBJECT_BLOB = make_flag("CERT_QUERY_OBJECT_BLOB", 0x00000002) +CERT_QUERY_CONTENT_CERT = make_flag("CERT_QUERY_CONTENT_CERT", 1) +CERT_QUERY_CONTENT_CTL = make_flag("CERT_QUERY_CONTENT_CTL", 2) +CERT_QUERY_CONTENT_CRL = make_flag("CERT_QUERY_CONTENT_CRL", 3) +CERT_QUERY_CONTENT_SERIALIZED_STORE = make_flag("CERT_QUERY_CONTENT_SERIALIZED_STORE", 4) +CERT_QUERY_CONTENT_SERIALIZED_CERT = make_flag("CERT_QUERY_CONTENT_SERIALIZED_CERT", 5) +CERT_QUERY_CONTENT_SERIALIZED_CTL = make_flag("CERT_QUERY_CONTENT_SERIALIZED_CTL", 6) +CERT_QUERY_CONTENT_SERIALIZED_CRL = make_flag("CERT_QUERY_CONTENT_SERIALIZED_CRL", 7) +CERT_QUERY_CONTENT_PKCS7_SIGNED = make_flag("CERT_QUERY_CONTENT_PKCS7_SIGNED", 8) +CERT_QUERY_CONTENT_PKCS7_UNSIGNED = make_flag("CERT_QUERY_CONTENT_PKCS7_UNSIGNED", 9) +CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED = make_flag("CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED", 10) +CERT_QUERY_CONTENT_PKCS10 = make_flag("CERT_QUERY_CONTENT_PKCS10", 11) +CERT_QUERY_CONTENT_PFX = make_flag("CERT_QUERY_CONTENT_PFX", 12) +CERT_QUERY_CONTENT_CERT_PAIR = make_flag("CERT_QUERY_CONTENT_CERT_PAIR", 13) +CERT_QUERY_CONTENT_PFX_AND_LOAD = make_flag("CERT_QUERY_CONTENT_PFX_AND_LOAD", 14) +CERT_QUERY_FORMAT_BINARY = make_flag("CERT_QUERY_FORMAT_BINARY", 1) +CERT_QUERY_FORMAT_BASE64_ENCODED = make_flag("CERT_QUERY_FORMAT_BASE64_ENCODED", 2) +CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED = make_flag("CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED", 3) +CERT_QUERY_FORMAT_FLAG_BINARY = make_flag("CERT_QUERY_FORMAT_FLAG_BINARY", ( 1 << CERT_QUERY_FORMAT_BINARY )) +CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED = make_flag("CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED", ( 1 << CERT_QUERY_FORMAT_BASE64_ENCODED )) +CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED = make_flag("CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED", ( 1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED )) +CERT_QUERY_FORMAT_FLAG_ALL = make_flag("CERT_QUERY_FORMAT_FLAG_ALL", ( CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED )) +CERT_QUERY_CONTENT_FLAG_CERT = make_flag("CERT_QUERY_CONTENT_FLAG_CERT", ( 1 << CERT_QUERY_CONTENT_CERT )) +CERT_QUERY_CONTENT_FLAG_CTL = make_flag("CERT_QUERY_CONTENT_FLAG_CTL", ( 1 << CERT_QUERY_CONTENT_CTL )) +CERT_QUERY_CONTENT_FLAG_CRL = make_flag("CERT_QUERY_CONTENT_FLAG_CRL", ( 1 << CERT_QUERY_CONTENT_CRL )) +CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE = make_flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_STORE )) +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT = make_flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CERT )) +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL = make_flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CTL )) +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL = make_flag("CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL", ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CRL )) +CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED = make_flag("CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED", ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED )) +CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED = make_flag("CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED", ( 1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED )) +CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = make_flag("CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED", ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED )) +CERT_QUERY_CONTENT_FLAG_PKCS10 = make_flag("CERT_QUERY_CONTENT_FLAG_PKCS10", ( 1 << CERT_QUERY_CONTENT_PKCS10 )) +CERT_QUERY_CONTENT_FLAG_PFX = make_flag("CERT_QUERY_CONTENT_FLAG_PFX", ( 1 << CERT_QUERY_CONTENT_PFX )) +CERT_QUERY_CONTENT_FLAG_CERT_PAIR = make_flag("CERT_QUERY_CONTENT_FLAG_CERT_PAIR", ( 1 << CERT_QUERY_CONTENT_CERT_PAIR )) +CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD = make_flag("CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD", ( 1 << CERT_QUERY_CONTENT_PFX_AND_LOAD )) +CERT_QUERY_CONTENT_FLAG_ALL = make_flag("CERT_QUERY_CONTENT_FLAG_ALL", ( CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR )) +CRYPT_ASN_ENCODING = make_flag("CRYPT_ASN_ENCODING", 0x00000001) +CRYPT_NDR_ENCODING = make_flag("CRYPT_NDR_ENCODING", 0x00000002) +X509_ASN_ENCODING = make_flag("X509_ASN_ENCODING", 0x00000001) +X509_NDR_ENCODING = make_flag("X509_NDR_ENCODING", 0x00000002) +PKCS_7_ASN_ENCODING = make_flag("PKCS_7_ASN_ENCODING", 0x00010000) +PKCS_7_NDR_ENCODING = make_flag("PKCS_7_NDR_ENCODING", 0x00020000) +CERT_ENCODING_TYPE_MASK = make_flag("CERT_ENCODING_TYPE_MASK", 0x0000FFFF) +CMSG_ENCODING_TYPE_MASK = make_flag("CMSG_ENCODING_TYPE_MASK", 0xFFFF0000) +CERT_COMPARE_MASK = make_flag("CERT_COMPARE_MASK", 0xFFFF) +CERT_COMPARE_SHIFT = make_flag("CERT_COMPARE_SHIFT", 16) +CERT_COMPARE_ANY = make_flag("CERT_COMPARE_ANY", 0) +CERT_COMPARE_SHA1_HASH = make_flag("CERT_COMPARE_SHA1_HASH", 1) +CERT_COMPARE_NAME = make_flag("CERT_COMPARE_NAME", 2) +CERT_COMPARE_ATTR = make_flag("CERT_COMPARE_ATTR", 3) +CERT_COMPARE_MD5_HASH = make_flag("CERT_COMPARE_MD5_HASH", 4) +CERT_COMPARE_PROPERTY = make_flag("CERT_COMPARE_PROPERTY", 5) +CERT_COMPARE_PUBLIC_KEY = make_flag("CERT_COMPARE_PUBLIC_KEY", 6) +CERT_COMPARE_HASH = make_flag("CERT_COMPARE_HASH", CERT_COMPARE_SHA1_HASH) +CERT_COMPARE_NAME_STR_A = make_flag("CERT_COMPARE_NAME_STR_A", 7) +CERT_COMPARE_NAME_STR_W = make_flag("CERT_COMPARE_NAME_STR_W", 8) +CERT_COMPARE_KEY_SPEC = make_flag("CERT_COMPARE_KEY_SPEC", 9) +CERT_COMPARE_ENHKEY_USAGE = make_flag("CERT_COMPARE_ENHKEY_USAGE", 10) +CERT_COMPARE_CTL_USAGE = make_flag("CERT_COMPARE_CTL_USAGE", CERT_COMPARE_ENHKEY_USAGE) +CERT_COMPARE_SUBJECT_CERT = make_flag("CERT_COMPARE_SUBJECT_CERT", 11) +CERT_COMPARE_ISSUER_OF = make_flag("CERT_COMPARE_ISSUER_OF", 12) +CERT_COMPARE_EXISTING = make_flag("CERT_COMPARE_EXISTING", 13) +CERT_COMPARE_SIGNATURE_HASH = make_flag("CERT_COMPARE_SIGNATURE_HASH", 14) +CERT_COMPARE_KEY_IDENTIFIER = make_flag("CERT_COMPARE_KEY_IDENTIFIER", 15) +CERT_COMPARE_CERT_ID = make_flag("CERT_COMPARE_CERT_ID", 16) +CERT_COMPARE_CROSS_CERT_DIST_POINTS = make_flag("CERT_COMPARE_CROSS_CERT_DIST_POINTS", 17) +CERT_COMPARE_PUBKEY_MD5_HASH = make_flag("CERT_COMPARE_PUBKEY_MD5_HASH", 18) +CERT_COMPARE_SUBJECT_INFO_ACCESS = make_flag("CERT_COMPARE_SUBJECT_INFO_ACCESS", 19) +CERT_NAME_ISSUER_FLAG = make_flag("CERT_NAME_ISSUER_FLAG", 0x1) +CERT_NAME_DISABLE_IE4_UTF8_FLAG = make_flag("CERT_NAME_DISABLE_IE4_UTF8_FLAG", 0x00010000) +USAGE_MATCH_TYPE_AND = make_flag("USAGE_MATCH_TYPE_AND", 0x00000000) +USAGE_MATCH_TYPE_OR = make_flag("USAGE_MATCH_TYPE_OR", 0x00000001) +CERT_CHAIN_REVOCATION_CHECK_END_CERT = make_flag("CERT_CHAIN_REVOCATION_CHECK_END_CERT", 0x10000000) +CERT_CHAIN_REVOCATION_CHECK_CHAIN = make_flag("CERT_CHAIN_REVOCATION_CHECK_CHAIN", 0x20000000) +CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = make_flag("CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT", 0x40000000) +CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY = make_flag("CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY", 0x80000000) +CERT_TRUST_NO_ERROR = make_flag("CERT_TRUST_NO_ERROR", 0x00000000) +CERT_TRUST_IS_NOT_TIME_VALID = make_flag("CERT_TRUST_IS_NOT_TIME_VALID", 0x00000001) +CERT_TRUST_IS_NOT_TIME_NESTED = make_flag("CERT_TRUST_IS_NOT_TIME_NESTED", 0x00000002) +CERT_TRUST_IS_REVOKED = make_flag("CERT_TRUST_IS_REVOKED", 0x00000004) +CERT_TRUST_IS_NOT_SIGNATURE_VALID = make_flag("CERT_TRUST_IS_NOT_SIGNATURE_VALID", 0x00000008) +CERT_TRUST_IS_NOT_VALID_FOR_USAGE = make_flag("CERT_TRUST_IS_NOT_VALID_FOR_USAGE", 0x00000010) +CERT_TRUST_IS_UNTRUSTED_ROOT = make_flag("CERT_TRUST_IS_UNTRUSTED_ROOT", 0x00000020) +CERT_TRUST_REVOCATION_STATUS_UNKNOWN = make_flag("CERT_TRUST_REVOCATION_STATUS_UNKNOWN", 0x00000040) +CERT_TRUST_IS_CYCLIC = make_flag("CERT_TRUST_IS_CYCLIC", 0x00000080) +CERT_TRUST_INVALID_EXTENSION = make_flag("CERT_TRUST_INVALID_EXTENSION", 0x00000100) +CERT_TRUST_INVALID_POLICY_CONSTRAINTS = make_flag("CERT_TRUST_INVALID_POLICY_CONSTRAINTS", 0x00000200) +CERT_TRUST_INVALID_BASIC_CONSTRAINTS = make_flag("CERT_TRUST_INVALID_BASIC_CONSTRAINTS", 0x00000400) +CERT_TRUST_INVALID_NAME_CONSTRAINTS = make_flag("CERT_TRUST_INVALID_NAME_CONSTRAINTS", 0x00000800) +CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = make_flag("CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT", 0x00001000) +CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = make_flag("CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT", 0x00002000) +CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = make_flag("CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT", 0x00004000) +CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = make_flag("CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT", 0x00008000) +CERT_TRUST_IS_OFFLINE_REVOCATION = make_flag("CERT_TRUST_IS_OFFLINE_REVOCATION", 0x01000000) +CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = make_flag("CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY", 0x02000000) +CERT_TRUST_IS_EXPLICIT_DISTRUST = make_flag("CERT_TRUST_IS_EXPLICIT_DISTRUST", 0x04000000) +CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = make_flag("CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT", 0x08000000) +CERT_TRUST_IS_PARTIAL_CHAIN = make_flag("CERT_TRUST_IS_PARTIAL_CHAIN", 0x00010000) +CERT_TRUST_CTL_IS_NOT_TIME_VALID = make_flag("CERT_TRUST_CTL_IS_NOT_TIME_VALID", 0x00020000) +CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = make_flag("CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID", 0x00040000) +CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = make_flag("CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE", 0x00080000) +CERT_TRUST_HAS_EXACT_MATCH_ISSUER = make_flag("CERT_TRUST_HAS_EXACT_MATCH_ISSUER", 0x00000001) +CERT_TRUST_HAS_KEY_MATCH_ISSUER = make_flag("CERT_TRUST_HAS_KEY_MATCH_ISSUER", 0x00000002) +CERT_TRUST_HAS_NAME_MATCH_ISSUER = make_flag("CERT_TRUST_HAS_NAME_MATCH_ISSUER", 0x00000004) +CERT_TRUST_IS_SELF_SIGNED = make_flag("CERT_TRUST_IS_SELF_SIGNED", 0x00000008) +CERT_TRUST_HAS_PREFERRED_ISSUER = make_flag("CERT_TRUST_HAS_PREFERRED_ISSUER", 0x00000100) +CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = make_flag("CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY", 0x00000200) +CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = make_flag("CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS", 0x00000400) +CERT_TRUST_IS_PEER_TRUSTED = make_flag("CERT_TRUST_IS_PEER_TRUSTED", 0x00000800) +CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = make_flag("CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED", 0x00001000) +CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = make_flag("CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE", 0x00002000) +CERT_TRUST_IS_COMPLEX_CHAIN = make_flag("CERT_TRUST_IS_COMPLEX_CHAIN", 0x00010000) +CMSG_TYPE_PARAM = make_flag("CMSG_TYPE_PARAM", 1) +CMSG_CONTENT_PARAM = make_flag("CMSG_CONTENT_PARAM", 2) +CMSG_BARE_CONTENT_PARAM = make_flag("CMSG_BARE_CONTENT_PARAM", 3) +CMSG_INNER_CONTENT_TYPE_PARAM = make_flag("CMSG_INNER_CONTENT_TYPE_PARAM", 4) +CMSG_SIGNER_COUNT_PARAM = make_flag("CMSG_SIGNER_COUNT_PARAM", 5) +CMSG_SIGNER_INFO_PARAM = make_flag("CMSG_SIGNER_INFO_PARAM", 6) +CMSG_SIGNER_CERT_INFO_PARAM = make_flag("CMSG_SIGNER_CERT_INFO_PARAM", 7) +CMSG_SIGNER_HASH_ALGORITHM_PARAM = make_flag("CMSG_SIGNER_HASH_ALGORITHM_PARAM", 8) +CMSG_SIGNER_AUTH_ATTR_PARAM = make_flag("CMSG_SIGNER_AUTH_ATTR_PARAM", 9) +CMSG_SIGNER_UNAUTH_ATTR_PARAM = make_flag("CMSG_SIGNER_UNAUTH_ATTR_PARAM", 10) +CMSG_CERT_COUNT_PARAM = make_flag("CMSG_CERT_COUNT_PARAM", 11) +CMSG_CERT_PARAM = make_flag("CMSG_CERT_PARAM", 12) +CMSG_CRL_COUNT_PARAM = make_flag("CMSG_CRL_COUNT_PARAM", 13) +CMSG_CRL_PARAM = make_flag("CMSG_CRL_PARAM", 14) +CMSG_ENVELOPE_ALGORITHM_PARAM = make_flag("CMSG_ENVELOPE_ALGORITHM_PARAM", 15) +CMSG_RECIPIENT_COUNT_PARAM = make_flag("CMSG_RECIPIENT_COUNT_PARAM", 17) +CMSG_RECIPIENT_INDEX_PARAM = make_flag("CMSG_RECIPIENT_INDEX_PARAM", 18) +CMSG_RECIPIENT_INFO_PARAM = make_flag("CMSG_RECIPIENT_INFO_PARAM", 19) +CMSG_HASH_ALGORITHM_PARAM = make_flag("CMSG_HASH_ALGORITHM_PARAM", 20) +CMSG_HASH_DATA_PARAM = make_flag("CMSG_HASH_DATA_PARAM", 21) +CMSG_COMPUTED_HASH_PARAM = make_flag("CMSG_COMPUTED_HASH_PARAM", 22) +CMSG_ENCRYPT_PARAM = make_flag("CMSG_ENCRYPT_PARAM", 26) +CMSG_ENCRYPTED_DIGEST = make_flag("CMSG_ENCRYPTED_DIGEST", 27) +CMSG_ENCODED_SIGNER = make_flag("CMSG_ENCODED_SIGNER", 28) +CMSG_ENCODED_MESSAGE = make_flag("CMSG_ENCODED_MESSAGE", 29) +CMSG_VERSION_PARAM = make_flag("CMSG_VERSION_PARAM", 30) +CMSG_ATTR_CERT_COUNT_PARAM = make_flag("CMSG_ATTR_CERT_COUNT_PARAM", 31) +CMSG_ATTR_CERT_PARAM = make_flag("CMSG_ATTR_CERT_PARAM", 32) +CMSG_CMS_RECIPIENT_COUNT_PARAM = make_flag("CMSG_CMS_RECIPIENT_COUNT_PARAM", 33) +CMSG_CMS_RECIPIENT_INDEX_PARAM = make_flag("CMSG_CMS_RECIPIENT_INDEX_PARAM", 34) +CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM = make_flag("CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM", 35) +CMSG_CMS_RECIPIENT_INFO_PARAM = make_flag("CMSG_CMS_RECIPIENT_INFO_PARAM", 36) +CMSG_UNPROTECTED_ATTR_PARAM = make_flag("CMSG_UNPROTECTED_ATTR_PARAM", 37) +CMSG_SIGNER_CERT_ID_PARAM = make_flag("CMSG_SIGNER_CERT_ID_PARAM", 38) +CMSG_CMS_SIGNER_INFO_PARAM = make_flag("CMSG_CMS_SIGNER_INFO_PARAM", 39) +CERT_INFO_VERSION_FLAG = make_flag("CERT_INFO_VERSION_FLAG", 1) +CERT_INFO_SERIAL_NUMBER_FLAG = make_flag("CERT_INFO_SERIAL_NUMBER_FLAG", 2) +CERT_INFO_SIGNATURE_ALGORITHM_FLAG = make_flag("CERT_INFO_SIGNATURE_ALGORITHM_FLAG", 3) +CERT_INFO_ISSUER_FLAG = make_flag("CERT_INFO_ISSUER_FLAG", 4) +CERT_INFO_NOT_BEFORE_FLAG = make_flag("CERT_INFO_NOT_BEFORE_FLAG", 5) +CERT_INFO_NOT_AFTER_FLAG = make_flag("CERT_INFO_NOT_AFTER_FLAG", 6) +CERT_INFO_SUBJECT_FLAG = make_flag("CERT_INFO_SUBJECT_FLAG", 7) +CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = make_flag("CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG", 8) +CERT_INFO_ISSUER_UNIQUE_ID_FLAG = make_flag("CERT_INFO_ISSUER_UNIQUE_ID_FLAG", 9) +CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = make_flag("CERT_INFO_SUBJECT_UNIQUE_ID_FLAG", 10) +CERT_INFO_EXTENSION_FLAG = make_flag("CERT_INFO_EXTENSION_FLAG", 11) +CERT_FIND_ANY = make_flag("CERT_FIND_ANY", ( CERT_COMPARE_ANY << CERT_COMPARE_SHIFT )) +CERT_FIND_SHA1_HASH = make_flag("CERT_FIND_SHA1_HASH", ( CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT )) +CERT_FIND_MD5_HASH = make_flag("CERT_FIND_MD5_HASH", ( CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT )) +CERT_FIND_SIGNATURE_HASH = make_flag("CERT_FIND_SIGNATURE_HASH", ( CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT )) +CERT_FIND_KEY_IDENTIFIER = make_flag("CERT_FIND_KEY_IDENTIFIER", ( CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT )) +CERT_FIND_HASH = make_flag("CERT_FIND_HASH", CERT_FIND_SHA1_HASH) +CERT_FIND_PROPERTY = make_flag("CERT_FIND_PROPERTY", ( CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT )) +CERT_FIND_PUBLIC_KEY = make_flag("CERT_FIND_PUBLIC_KEY", ( CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT )) +CERT_FIND_SUBJECT_NAME = make_flag("CERT_FIND_SUBJECT_NAME", ( CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) +CERT_FIND_SUBJECT_ATTR = make_flag("CERT_FIND_SUBJECT_ATTR", ( CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) +CERT_FIND_ISSUER_NAME = make_flag("CERT_FIND_ISSUER_NAME", ( CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) +CERT_FIND_ISSUER_ATTR = make_flag("CERT_FIND_ISSUER_ATTR", ( CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) +CERT_FIND_SUBJECT_STR_A = make_flag("CERT_FIND_SUBJECT_STR_A", ( CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) +CERT_FIND_SUBJECT_STR_W = make_flag("CERT_FIND_SUBJECT_STR_W", ( CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG )) +CERT_FIND_SUBJECT_STR = make_flag("CERT_FIND_SUBJECT_STR", CERT_FIND_SUBJECT_STR_W) +CERT_FIND_ISSUER_STR_A = make_flag("CERT_FIND_ISSUER_STR_A", ( CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) +CERT_FIND_ISSUER_STR_W = make_flag("CERT_FIND_ISSUER_STR_W", ( CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG )) +CERT_FIND_ISSUER_STR = make_flag("CERT_FIND_ISSUER_STR", CERT_FIND_ISSUER_STR_W) +CERT_FIND_KEY_SPEC = make_flag("CERT_FIND_KEY_SPEC", ( CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT )) +CERT_FIND_ENHKEY_USAGE = make_flag("CERT_FIND_ENHKEY_USAGE", ( CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT )) +CERT_FIND_CTL_USAGE = make_flag("CERT_FIND_CTL_USAGE", CERT_FIND_ENHKEY_USAGE) +CERT_FIND_SUBJECT_CERT = make_flag("CERT_FIND_SUBJECT_CERT", ( CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT )) +CERT_FIND_ISSUER_OF = make_flag("CERT_FIND_ISSUER_OF", ( CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT )) +CERT_FIND_EXISTING = make_flag("CERT_FIND_EXISTING", ( CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT )) +CERT_FIND_CERT_ID = make_flag("CERT_FIND_CERT_ID", ( CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT )) +CERT_FIND_CROSS_CERT_DIST_POINTS = make_flag("CERT_FIND_CROSS_CERT_DIST_POINTS", ( CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT )) +CERT_FIND_PUBKEY_MD5_HASH = make_flag("CERT_FIND_PUBKEY_MD5_HASH", ( CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT )) +CERT_FIND_SUBJECT_INFO_ACCESS = make_flag("CERT_FIND_SUBJECT_INFO_ACCESS", ( CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT )) +CERT_NAME_EMAIL_TYPE = make_flag("CERT_NAME_EMAIL_TYPE", 1) +CERT_NAME_RDN_TYPE = make_flag("CERT_NAME_RDN_TYPE", 2) +CERT_NAME_ATTR_TYPE = make_flag("CERT_NAME_ATTR_TYPE", 3) +CERT_NAME_SIMPLE_DISPLAY_TYPE = make_flag("CERT_NAME_SIMPLE_DISPLAY_TYPE", 4) +CERT_NAME_FRIENDLY_DISPLAY_TYPE = make_flag("CERT_NAME_FRIENDLY_DISPLAY_TYPE", 5) +CERT_NAME_DNS_TYPE = make_flag("CERT_NAME_DNS_TYPE", 6) +CERT_NAME_URL_TYPE = make_flag("CERT_NAME_URL_TYPE", 7) +CERT_NAME_UPN_TYPE = make_flag("CERT_NAME_UPN_TYPE", 8) +CERT_KEY_PROV_HANDLE_PROP_ID = make_flag("CERT_KEY_PROV_HANDLE_PROP_ID", 1) +CERT_KEY_PROV_INFO_PROP_ID = make_flag("CERT_KEY_PROV_INFO_PROP_ID", 2) +CERT_SHA1_HASH_PROP_ID = make_flag("CERT_SHA1_HASH_PROP_ID", 3) +CERT_MD5_HASH_PROP_ID = make_flag("CERT_MD5_HASH_PROP_ID", 4) +CERT_HASH_PROP_ID = make_flag("CERT_HASH_PROP_ID", CERT_SHA1_HASH_PROP_ID) +CERT_KEY_CONTEXT_PROP_ID = make_flag("CERT_KEY_CONTEXT_PROP_ID", 5) +CERT_KEY_SPEC_PROP_ID = make_flag("CERT_KEY_SPEC_PROP_ID", 6) +CERT_IE30_RESERVED_PROP_ID = make_flag("CERT_IE30_RESERVED_PROP_ID", 7) +CERT_PUBKEY_HASH_RESERVED_PROP_ID = make_flag("CERT_PUBKEY_HASH_RESERVED_PROP_ID", 8) +CERT_ENHKEY_USAGE_PROP_ID = make_flag("CERT_ENHKEY_USAGE_PROP_ID", 9) +CERT_CTL_USAGE_PROP_ID = make_flag("CERT_CTL_USAGE_PROP_ID", CERT_ENHKEY_USAGE_PROP_ID) +CERT_NEXT_UPDATE_LOCATION_PROP_ID = make_flag("CERT_NEXT_UPDATE_LOCATION_PROP_ID", 10) +CERT_FRIENDLY_NAME_PROP_ID = make_flag("CERT_FRIENDLY_NAME_PROP_ID", 11) +CERT_PVK_FILE_PROP_ID = make_flag("CERT_PVK_FILE_PROP_ID", 12) +CERT_DESCRIPTION_PROP_ID = make_flag("CERT_DESCRIPTION_PROP_ID", 13) +CERT_ACCESS_STATE_PROP_ID = make_flag("CERT_ACCESS_STATE_PROP_ID", 14) +CERT_SIGNATURE_HASH_PROP_ID = make_flag("CERT_SIGNATURE_HASH_PROP_ID", 15) +CERT_SMART_CARD_DATA_PROP_ID = make_flag("CERT_SMART_CARD_DATA_PROP_ID", 16) +CERT_EFS_PROP_ID = make_flag("CERT_EFS_PROP_ID", 17) +CERT_FORTEZZA_DATA_PROP_ID = make_flag("CERT_FORTEZZA_DATA_PROP_ID", 18) +CERT_ARCHIVED_PROP_ID = make_flag("CERT_ARCHIVED_PROP_ID", 19) +CERT_KEY_IDENTIFIER_PROP_ID = make_flag("CERT_KEY_IDENTIFIER_PROP_ID", 20) +CERT_AUTO_ENROLL_PROP_ID = make_flag("CERT_AUTO_ENROLL_PROP_ID", 21) +CERT_PUBKEY_ALG_PARA_PROP_ID = make_flag("CERT_PUBKEY_ALG_PARA_PROP_ID", 22) +CERT_CROSS_CERT_DIST_POINTS_PROP_ID = make_flag("CERT_CROSS_CERT_DIST_POINTS_PROP_ID", 23) +CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID = make_flag("CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID", 24) +CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID = make_flag("CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID", 25) +CERT_ENROLLMENT_PROP_ID = make_flag("CERT_ENROLLMENT_PROP_ID", 26) +CERT_DATE_STAMP_PROP_ID = make_flag("CERT_DATE_STAMP_PROP_ID", 27) +CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID = make_flag("CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID", 28) +CERT_SUBJECT_NAME_MD5_HASH_PROP_ID = make_flag("CERT_SUBJECT_NAME_MD5_HASH_PROP_ID", 29) +CERT_EXTENDED_ERROR_INFO_PROP_ID = make_flag("CERT_EXTENDED_ERROR_INFO_PROP_ID", 30) +CERT_RENEWAL_PROP_ID = make_flag("CERT_RENEWAL_PROP_ID", 64) +CERT_ARCHIVED_KEY_HASH_PROP_ID = make_flag("CERT_ARCHIVED_KEY_HASH_PROP_ID", 65) +CERT_AUTO_ENROLL_RETRY_PROP_ID = make_flag("CERT_AUTO_ENROLL_RETRY_PROP_ID", 66) +CERT_AIA_URL_RETRIEVED_PROP_ID = make_flag("CERT_AIA_URL_RETRIEVED_PROP_ID", 67) +CERT_AUTHORITY_INFO_ACCESS_PROP_ID = make_flag("CERT_AUTHORITY_INFO_ACCESS_PROP_ID", 68) +CERT_BACKED_UP_PROP_ID = make_flag("CERT_BACKED_UP_PROP_ID", 69) +CERT_OCSP_RESPONSE_PROP_ID = make_flag("CERT_OCSP_RESPONSE_PROP_ID", 70) +CERT_REQUEST_ORIGINATOR_PROP_ID = make_flag("CERT_REQUEST_ORIGINATOR_PROP_ID", 71) +CERT_SOURCE_LOCATION_PROP_ID = make_flag("CERT_SOURCE_LOCATION_PROP_ID", 72) +CRYPT_ACQUIRE_CACHE_FLAG = make_flag("CRYPT_ACQUIRE_CACHE_FLAG", 0x00000001) +CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = make_flag("CRYPT_ACQUIRE_USE_PROV_INFO_FLAG", 0x00000002) +CRYPT_ACQUIRE_COMPARE_KEY_FLAG = make_flag("CRYPT_ACQUIRE_COMPARE_KEY_FLAG", 0x00000004) +CRYPT_ACQUIRE_NO_HEALING = make_flag("CRYPT_ACQUIRE_NO_HEALING", 0x00000008) +CRYPT_ACQUIRE_SILENT_FLAG = make_flag("CRYPT_ACQUIRE_SILENT_FLAG", 0x00000040) +CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK = make_flag("CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK", 0x00070000) +CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG = make_flag("CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG", 0x00010000) +CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = make_flag("CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG", 0x00020000) +CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG = make_flag("CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG", 0x00040000) +szOID_RSA = make_flag("szOID_RSA", "1.2.840.113549") +szOID_PKCS = make_flag("szOID_PKCS", "1.2.840.113549.1") +szOID_RSA_HASH = make_flag("szOID_RSA_HASH", "1.2.840.113549.2") +szOID_RSA_ENCRYPT = make_flag("szOID_RSA_ENCRYPT", "1.2.840.113549.3") +szOID_PKCS_1 = make_flag("szOID_PKCS_1", "1.2.840.113549.1.1") +szOID_PKCS_2 = make_flag("szOID_PKCS_2", "1.2.840.113549.1.2") +szOID_PKCS_3 = make_flag("szOID_PKCS_3", "1.2.840.113549.1.3") +szOID_PKCS_4 = make_flag("szOID_PKCS_4", "1.2.840.113549.1.4") +szOID_PKCS_5 = make_flag("szOID_PKCS_5", "1.2.840.113549.1.5") +szOID_PKCS_6 = make_flag("szOID_PKCS_6", "1.2.840.113549.1.6") +szOID_PKCS_7 = make_flag("szOID_PKCS_7", "1.2.840.113549.1.7") +szOID_PKCS_8 = make_flag("szOID_PKCS_8", "1.2.840.113549.1.8") +szOID_PKCS_9 = make_flag("szOID_PKCS_9", "1.2.840.113549.1.9") +szOID_PKCS_10 = make_flag("szOID_PKCS_10", "1.2.840.113549.1.10") +szOID_PKCS_12 = make_flag("szOID_PKCS_12", "1.2.840.113549.1.12") +szOID_RSA_RSA = make_flag("szOID_RSA_RSA", "1.2.840.113549.1.1.1") +szOID_RSA_MD2RSA = make_flag("szOID_RSA_MD2RSA", "1.2.840.113549.1.1.2") +szOID_RSA_MD4RSA = make_flag("szOID_RSA_MD4RSA", "1.2.840.113549.1.1.3") +szOID_RSA_MD5RSA = make_flag("szOID_RSA_MD5RSA", "1.2.840.113549.1.1.4") +szOID_RSA_SHA1RSA = make_flag("szOID_RSA_SHA1RSA", "1.2.840.113549.1.1.5") +szOID_RSA_SETOAEP_RSA = make_flag("szOID_RSA_SETOAEP_RSA", "1.2.840.113549.1.1.6") +szOID_RSAES_OAEP = make_flag("szOID_RSAES_OAEP", "1.2.840.113549.1.1.7") +szOID_RSA_MGF1 = make_flag("szOID_RSA_MGF1", "1.2.840.113549.1.1.8") +szOID_RSA_PSPECIFIED = make_flag("szOID_RSA_PSPECIFIED", "1.2.840.113549.1.1.9") +szOID_RSA_SSA_PSS = make_flag("szOID_RSA_SSA_PSS", "1.2.840.113549.1.1.10") +szOID_RSA_SHA256RSA = make_flag("szOID_RSA_SHA256RSA", "1.2.840.113549.1.1.11") +szOID_RSA_SHA384RSA = make_flag("szOID_RSA_SHA384RSA", "1.2.840.113549.1.1.12") +szOID_RSA_SHA512RSA = make_flag("szOID_RSA_SHA512RSA", "1.2.840.113549.1.1.13") +szOID_RSA_DH = make_flag("szOID_RSA_DH", "1.2.840.113549.1.3.1") +szOID_RSA_data = make_flag("szOID_RSA_data", "1.2.840.113549.1.7.1") +szOID_RSA_signedData = make_flag("szOID_RSA_signedData", "1.2.840.113549.1.7.2") +szOID_RSA_envelopedData = make_flag("szOID_RSA_envelopedData", "1.2.840.113549.1.7.3") +szOID_RSA_signEnvData = make_flag("szOID_RSA_signEnvData", "1.2.840.113549.1.7.4") +szOID_RSA_digestedData = make_flag("szOID_RSA_digestedData", "1.2.840.113549.1.7.5") +szOID_RSA_hashedData = make_flag("szOID_RSA_hashedData", "1.2.840.113549.1.7.5") +szOID_RSA_encryptedData = make_flag("szOID_RSA_encryptedData", "1.2.840.113549.1.7.6") +szOID_RSA_emailAddr = make_flag("szOID_RSA_emailAddr", "1.2.840.113549.1.9.1") +szOID_RSA_unstructName = make_flag("szOID_RSA_unstructName", "1.2.840.113549.1.9.2") +szOID_RSA_contentType = make_flag("szOID_RSA_contentType", "1.2.840.113549.1.9.3") +szOID_RSA_messageDigest = make_flag("szOID_RSA_messageDigest", "1.2.840.113549.1.9.4") +szOID_RSA_signingTime = make_flag("szOID_RSA_signingTime", "1.2.840.113549.1.9.5") +szOID_RSA_counterSign = make_flag("szOID_RSA_counterSign", "1.2.840.113549.1.9.6") +szOID_RSA_challengePwd = make_flag("szOID_RSA_challengePwd", "1.2.840.113549.1.9.7") +szOID_RSA_unstructAddr = make_flag("szOID_RSA_unstructAddr", "1.2.840.113549.1.9.8") +szOID_RSA_extCertAttrs = make_flag("szOID_RSA_extCertAttrs", "1.2.840.113549.1.9.9") +szOID_RSA_certExtensions = make_flag("szOID_RSA_certExtensions", "1.2.840.113549.1.9.14") +szOID_RSA_SMIMECapabilities = make_flag("szOID_RSA_SMIMECapabilities", "1.2.840.113549.1.9.15") +szOID_RSA_preferSignedData = make_flag("szOID_RSA_preferSignedData", "1.2.840.113549.1.9.15.1") +szOID_TIMESTAMP_TOKEN = make_flag("szOID_TIMESTAMP_TOKEN", "1.2.840.113549.1.9.16.1.4") +szOID_RFC3161_counterSign = make_flag("szOID_RFC3161_counterSign", "1.3.6.1.4.1.311.3.3.1") +szOID_RSA_SMIMEalg = make_flag("szOID_RSA_SMIMEalg", "1.2.840.113549.1.9.16.3") +szOID_RSA_SMIMEalgESDH = make_flag("szOID_RSA_SMIMEalgESDH", "1.2.840.113549.1.9.16.3.5") +szOID_RSA_SMIMEalgCMS3DESwrap = make_flag("szOID_RSA_SMIMEalgCMS3DESwrap", "1.2.840.113549.1.9.16.3.6") +szOID_RSA_SMIMEalgCMSRC2wrap = make_flag("szOID_RSA_SMIMEalgCMSRC2wrap", "1.2.840.113549.1.9.16.3.7") +szOID_RSA_MD2 = make_flag("szOID_RSA_MD2", "1.2.840.113549.2.2") +szOID_RSA_MD4 = make_flag("szOID_RSA_MD4", "1.2.840.113549.2.4") +szOID_RSA_MD5 = make_flag("szOID_RSA_MD5", "1.2.840.113549.2.5") +szOID_RSA_RC2CBC = make_flag("szOID_RSA_RC2CBC", "1.2.840.113549.3.2") +szOID_RSA_RC4 = make_flag("szOID_RSA_RC4", "1.2.840.113549.3.4") +szOID_RSA_DES_EDE3_CBC = make_flag("szOID_RSA_DES_EDE3_CBC", "1.2.840.113549.3.7") +szOID_RSA_RC5_CBCPad = make_flag("szOID_RSA_RC5_CBCPad", "1.2.840.113549.3.9") +szOID_ANSI_X942 = make_flag("szOID_ANSI_X942", "1.2.840.10046") +szOID_ANSI_X942_DH = make_flag("szOID_ANSI_X942_DH", "1.2.840.10046.2.1") +szOID_X957 = make_flag("szOID_X957", "1.2.840.10040") +szOID_X957_DSA = make_flag("szOID_X957_DSA", "1.2.840.10040.4.1") +szOID_X957_SHA1DSA = make_flag("szOID_X957_SHA1DSA", "1.2.840.10040.4.3") +szOID_ECC_PUBLIC_KEY = make_flag("szOID_ECC_PUBLIC_KEY", "1.2.840.10045.2.1") +szOID_ECC_CURVE_P256 = make_flag("szOID_ECC_CURVE_P256", "1.2.840.10045.3.1.7") +szOID_ECC_CURVE_P384 = make_flag("szOID_ECC_CURVE_P384", "1.3.132.0.34") +szOID_ECC_CURVE_P521 = make_flag("szOID_ECC_CURVE_P521", "1.3.132.0.35") +szOID_ECDSA_SHA1 = make_flag("szOID_ECDSA_SHA1", "1.2.840.10045.4.1") +szOID_ECDSA_SPECIFIED = make_flag("szOID_ECDSA_SPECIFIED", "1.2.840.10045.4.3") +szOID_ECDSA_SHA256 = make_flag("szOID_ECDSA_SHA256", "1.2.840.10045.4.3.2") +szOID_ECDSA_SHA384 = make_flag("szOID_ECDSA_SHA384", "1.2.840.10045.4.3.3") +szOID_ECDSA_SHA512 = make_flag("szOID_ECDSA_SHA512", "1.2.840.10045.4.3.4") +szOID_NIST_AES128_CBC = make_flag("szOID_NIST_AES128_CBC", "2.16.840.1.101.3.4.1.2") +szOID_NIST_AES192_CBC = make_flag("szOID_NIST_AES192_CBC", "2.16.840.1.101.3.4.1.22") +szOID_NIST_AES256_CBC = make_flag("szOID_NIST_AES256_CBC", "2.16.840.1.101.3.4.1.42") +szOID_NIST_AES128_WRAP = make_flag("szOID_NIST_AES128_WRAP", "2.16.840.1.101.3.4.1.5") +szOID_NIST_AES192_WRAP = make_flag("szOID_NIST_AES192_WRAP", "2.16.840.1.101.3.4.1.25") +szOID_NIST_AES256_WRAP = make_flag("szOID_NIST_AES256_WRAP", "2.16.840.1.101.3.4.1.45") +szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF = make_flag("szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF", "1.3.133.16.840.63.0.2") +szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF = make_flag("szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF", "1.3.132.1.11.1") +szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF = make_flag("szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF", "1.3.132.1.11.2") +szOID_DS = make_flag("szOID_DS", "2.5") +szOID_DSALG = make_flag("szOID_DSALG", "2.5.8") +szOID_DSALG_CRPT = make_flag("szOID_DSALG_CRPT", "2.5.8.1") +szOID_DSALG_HASH = make_flag("szOID_DSALG_HASH", "2.5.8.2") +szOID_DSALG_SIGN = make_flag("szOID_DSALG_SIGN", "2.5.8.3") +szOID_DSALG_RSA = make_flag("szOID_DSALG_RSA", "2.5.8.1.1") +szOID_OIW = make_flag("szOID_OIW", "1.3.14") +szOID_OIWSEC = make_flag("szOID_OIWSEC", "1.3.14.3.2") +szOID_OIWSEC_md4RSA = make_flag("szOID_OIWSEC_md4RSA", "1.3.14.3.2.2") +szOID_OIWSEC_md5RSA = make_flag("szOID_OIWSEC_md5RSA", "1.3.14.3.2.3") +szOID_OIWSEC_md4RSA2 = make_flag("szOID_OIWSEC_md4RSA2", "1.3.14.3.2.4") +szOID_OIWSEC_desECB = make_flag("szOID_OIWSEC_desECB", "1.3.14.3.2.6") +szOID_OIWSEC_desCBC = make_flag("szOID_OIWSEC_desCBC", "1.3.14.3.2.7") +szOID_OIWSEC_desOFB = make_flag("szOID_OIWSEC_desOFB", "1.3.14.3.2.8") +szOID_OIWSEC_desCFB = make_flag("szOID_OIWSEC_desCFB", "1.3.14.3.2.9") +szOID_OIWSEC_desMAC = make_flag("szOID_OIWSEC_desMAC", "1.3.14.3.2.10") +szOID_OIWSEC_rsaSign = make_flag("szOID_OIWSEC_rsaSign", "1.3.14.3.2.11") +szOID_OIWSEC_dsa = make_flag("szOID_OIWSEC_dsa", "1.3.14.3.2.12") +szOID_OIWSEC_shaDSA = make_flag("szOID_OIWSEC_shaDSA", "1.3.14.3.2.13") +szOID_OIWSEC_mdc2RSA = make_flag("szOID_OIWSEC_mdc2RSA", "1.3.14.3.2.14") +szOID_OIWSEC_shaRSA = make_flag("szOID_OIWSEC_shaRSA", "1.3.14.3.2.15") +szOID_OIWSEC_dhCommMod = make_flag("szOID_OIWSEC_dhCommMod", "1.3.14.3.2.16") +szOID_OIWSEC_desEDE = make_flag("szOID_OIWSEC_desEDE", "1.3.14.3.2.17") +szOID_OIWSEC_sha = make_flag("szOID_OIWSEC_sha", "1.3.14.3.2.18") +szOID_OIWSEC_mdc2 = make_flag("szOID_OIWSEC_mdc2", "1.3.14.3.2.19") +szOID_OIWSEC_dsaComm = make_flag("szOID_OIWSEC_dsaComm", "1.3.14.3.2.20") +szOID_OIWSEC_dsaCommSHA = make_flag("szOID_OIWSEC_dsaCommSHA", "1.3.14.3.2.21") +szOID_OIWSEC_rsaXchg = make_flag("szOID_OIWSEC_rsaXchg", "1.3.14.3.2.22") +szOID_OIWSEC_keyHashSeal = make_flag("szOID_OIWSEC_keyHashSeal", "1.3.14.3.2.23") +szOID_OIWSEC_md2RSASign = make_flag("szOID_OIWSEC_md2RSASign", "1.3.14.3.2.24") +szOID_OIWSEC_md5RSASign = make_flag("szOID_OIWSEC_md5RSASign", "1.3.14.3.2.25") +szOID_OIWSEC_sha1 = make_flag("szOID_OIWSEC_sha1", "1.3.14.3.2.26") +szOID_OIWSEC_dsaSHA1 = make_flag("szOID_OIWSEC_dsaSHA1", "1.3.14.3.2.27") +szOID_OIWSEC_dsaCommSHA1 = make_flag("szOID_OIWSEC_dsaCommSHA1", "1.3.14.3.2.28") +szOID_OIWSEC_sha1RSASign = make_flag("szOID_OIWSEC_sha1RSASign", "1.3.14.3.2.29") +szOID_OIWDIR = make_flag("szOID_OIWDIR", "1.3.14.7.2") +szOID_OIWDIR_CRPT = make_flag("szOID_OIWDIR_CRPT", "1.3.14.7.2.1") +szOID_OIWDIR_HASH = make_flag("szOID_OIWDIR_HASH", "1.3.14.7.2.2") +szOID_OIWDIR_SIGN = make_flag("szOID_OIWDIR_SIGN", "1.3.14.7.2.3") +szOID_OIWDIR_md2 = make_flag("szOID_OIWDIR_md2", "1.3.14.7.2.2.1") +szOID_OIWDIR_md2RSA = make_flag("szOID_OIWDIR_md2RSA", "1.3.14.7.2.3.1") +szOID_INFOSEC = make_flag("szOID_INFOSEC", "2.16.840.1.101.2.1") +szOID_INFOSEC_sdnsSignature = make_flag("szOID_INFOSEC_sdnsSignature", "2.16.840.1.101.2.1.1.1") +szOID_INFOSEC_mosaicSignature = make_flag("szOID_INFOSEC_mosaicSignature", "2.16.840.1.101.2.1.1.2") +szOID_INFOSEC_sdnsConfidentiality = make_flag("szOID_INFOSEC_sdnsConfidentiality", "2.16.840.1.101.2.1.1.3") +szOID_INFOSEC_mosaicConfidentiality = make_flag("szOID_INFOSEC_mosaicConfidentiality", "2.16.840.1.101.2.1.1.4") +szOID_INFOSEC_sdnsIntegrity = make_flag("szOID_INFOSEC_sdnsIntegrity", "2.16.840.1.101.2.1.1.5") +szOID_INFOSEC_mosaicIntegrity = make_flag("szOID_INFOSEC_mosaicIntegrity", "2.16.840.1.101.2.1.1.6") +szOID_INFOSEC_sdnsTokenProtection = make_flag("szOID_INFOSEC_sdnsTokenProtection", "2.16.840.1.101.2.1.1.7") +szOID_INFOSEC_mosaicTokenProtection = make_flag("szOID_INFOSEC_mosaicTokenProtection", "2.16.840.1.101.2.1.1.8") +szOID_INFOSEC_sdnsKeyManagement = make_flag("szOID_INFOSEC_sdnsKeyManagement", "2.16.840.1.101.2.1.1.9") +szOID_INFOSEC_mosaicKeyManagement = make_flag("szOID_INFOSEC_mosaicKeyManagement", "2.16.840.1.101.2.1.1.10") +szOID_INFOSEC_sdnsKMandSig = make_flag("szOID_INFOSEC_sdnsKMandSig", "2.16.840.1.101.2.1.1.11") +szOID_INFOSEC_mosaicKMandSig = make_flag("szOID_INFOSEC_mosaicKMandSig", "2.16.840.1.101.2.1.1.12") +szOID_INFOSEC_SuiteASignature = make_flag("szOID_INFOSEC_SuiteASignature", "2.16.840.1.101.2.1.1.13") +szOID_INFOSEC_SuiteAConfidentiality = make_flag("szOID_INFOSEC_SuiteAConfidentiality", "2.16.840.1.101.2.1.1.14") +szOID_INFOSEC_SuiteAIntegrity = make_flag("szOID_INFOSEC_SuiteAIntegrity", "2.16.840.1.101.2.1.1.15") +szOID_INFOSEC_SuiteATokenProtection = make_flag("szOID_INFOSEC_SuiteATokenProtection", "2.16.840.1.101.2.1.1.16") +szOID_INFOSEC_SuiteAKeyManagement = make_flag("szOID_INFOSEC_SuiteAKeyManagement", "2.16.840.1.101.2.1.1.17") +szOID_INFOSEC_SuiteAKMandSig = make_flag("szOID_INFOSEC_SuiteAKMandSig", "2.16.840.1.101.2.1.1.18") +szOID_INFOSEC_mosaicUpdatedSig = make_flag("szOID_INFOSEC_mosaicUpdatedSig", "2.16.840.1.101.2.1.1.19") +szOID_INFOSEC_mosaicKMandUpdSig = make_flag("szOID_INFOSEC_mosaicKMandUpdSig", "2.16.840.1.101.2.1.1.20") +szOID_INFOSEC_mosaicUpdatedInteg = make_flag("szOID_INFOSEC_mosaicUpdatedInteg", "2.16.840.1.101.2.1.1.21") +szOID_NIST_sha256 = make_flag("szOID_NIST_sha256", "2.16.840.1.101.3.4.2.1") +szOID_NIST_sha384 = make_flag("szOID_NIST_sha384", "2.16.840.1.101.3.4.2.2") +szOID_NIST_sha512 = make_flag("szOID_NIST_sha512", "2.16.840.1.101.3.4.2.3") +CRYPT_E_NOT_FOUND = make_flag("CRYPT_E_NOT_FOUND", ( 0x80092004 )) \ No newline at end of file diff --git a/windows/generated_def/winfuncs.py b/windows/generated_def/winfuncs.py index ff7ab88..fa932f2 100644 --- a/windows/generated_def/winfuncs.py +++ b/windows/generated_def/winfuncs.py @@ -6,7 +6,7 @@ from ctypes.wintypes import * from winstructs import * -functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtCreateFile', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'NtProtectVirtualMemory', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'QueryWorkingSet', 'QueryWorkingSetEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'NtWow64WriteVirtualMemory64', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'ReadFile', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcCreatePort', 'NtAlpcConnectPort', 'NtAlpcConnectPortEx', 'NtAlpcAcceptConnectPort', 'AlpcInitializeMessageAttribute', 'AlpcGetMessageAttribute', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW', 'GetFileVersionInfoA', 'GetFileVersionInfoW', 'GetFileVersionInfoSizeA', 'GetFileVersionInfoSizeW', 'VerQueryValueA', 'VerQueryValueW', 'GetSystemMetrics', 'GetComputerNameA', 'GetComputerNameW', 'LookupAccountSidA', 'LookupAccountSidW', 'CoInitializeEx', 'CoInitializeSecurity', 'CoCreateInstance', 'GetInterfaceInfo', 'GetIfTable', 'GetIpAddrTable', 'NtOpenDirectoryObject', 'NtQueryDirectoryObject', 'NtQuerySymbolicLinkObject', 'NtOpenSymbolicLinkObject', 'GetProcessTimes', 'GetShortPathNameA', 'GetShortPathNameW', 'GetLongPathNameA', 'GetLongPathNameW', 'GetProcessDEPPolicy', 'CryptQueryObject', 'CryptMsgGetParam', 'CryptDecodeObject', 'CertFindCertificateInStore', 'CertGetNameStringA', 'CertGetNameStringW', 'CertGetCertificateChain', 'CertCreateSelfSignCertificate', 'CertStrToNameA', 'CertStrToNameW', 'CertOpenStore', 'CertAddCertificateContextToStore', 'PFXExportCertStoreEx', 'PFXImportCertStore', 'CryptGenKey', 'CryptAcquireContextA', 'CryptAcquireContextW', 'CryptExportKey', 'CertGetCertificateContextProperty', 'CertEnumCertificateContextProperties'] +functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtCreateFile', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'NtProtectVirtualMemory', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'QueryWorkingSet', 'QueryWorkingSetEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'NtWow64WriteVirtualMemory64', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'ReadFile', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcCreatePort', 'NtAlpcConnectPort', 'NtAlpcConnectPortEx', 'NtAlpcAcceptConnectPort', 'AlpcInitializeMessageAttribute', 'AlpcGetMessageAttribute', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW', 'GetFileVersionInfoA', 'GetFileVersionInfoW', 'GetFileVersionInfoSizeA', 'GetFileVersionInfoSizeW', 'VerQueryValueA', 'VerQueryValueW', 'GetSystemMetrics', 'GetComputerNameA', 'GetComputerNameW', 'LookupAccountSidA', 'LookupAccountSidW', 'CoInitializeEx', 'CoInitializeSecurity', 'CoCreateInstance', 'GetInterfaceInfo', 'GetIfTable', 'GetIpAddrTable', 'NtOpenDirectoryObject', 'NtQueryDirectoryObject', 'NtQuerySymbolicLinkObject', 'NtOpenSymbolicLinkObject', 'GetProcessTimes', 'GetShortPathNameA', 'GetShortPathNameW', 'GetLongPathNameA', 'GetLongPathNameW', 'GetProcessDEPPolicy', 'CryptQueryObject', 'CryptMsgGetParam', 'CryptDecodeObject', 'CertFindCertificateInStore', 'CertGetNameStringA', 'CertGetNameStringW', 'CertGetCertificateChain', 'CertCreateSelfSignCertificate', 'CertStrToNameA', 'CertStrToNameW', 'CertOpenStore', 'CertAddCertificateContextToStore', 'PFXExportCertStoreEx', 'PFXImportCertStore', 'CryptGenKey', 'CryptAcquireContextA', 'CryptAcquireContextW', 'CryptExportKey', 'CertGetCertificateContextProperty', 'CertEnumCertificateContextProperties', 'CryptEncryptMessage', 'CryptDecryptMessage', 'CryptAcquireCertificatePrivateKey', 'CertDuplicateCertificateContext', 'CertEnumCertificatesInStore'] #def ExitProcess(uExitCode): @@ -1183,3 +1183,28 @@ CertGetCertificateContextPropertyParams = ((1, 'pCertContext'), (1, 'dwPropId'), # return CertEnumCertificateContextProperties.ctypes_function(pCertContext, dwPropId) CertEnumCertificateContextPropertiesPrototype = WINFUNCTYPE(DWORD, PCCERT_CONTEXT, DWORD) CertEnumCertificateContextPropertiesParams = ((1, 'pCertContext'), (1, 'dwPropId')) + +#def CryptEncryptMessage(pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeEncrypted, cbToBeEncrypted, pbEncryptedBlob, pcbEncryptedBlob): +# return CryptEncryptMessage.ctypes_function(pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeEncrypted, cbToBeEncrypted, pbEncryptedBlob, pcbEncryptedBlob) +CryptEncryptMessagePrototype = WINFUNCTYPE(BOOL, PCRYPT_ENCRYPT_MESSAGE_PARA, DWORD, POINTER(PCCERT_CONTEXT), POINTER(BYTE), DWORD, POINTER(BYTE), POINTER(DWORD)) +CryptEncryptMessageParams = ((1, 'pEncryptPara'), (1, 'cRecipientCert'), (1, 'rgpRecipientCert'), (1, 'pbToBeEncrypted'), (1, 'cbToBeEncrypted'), (1, 'pbEncryptedBlob'), (1, 'pcbEncryptedBlob')) + +#def CryptDecryptMessage(pDecryptPara, pbEncryptedBlob, cbEncryptedBlob, pbDecrypted, pcbDecrypted, ppXchgCert): +# return CryptDecryptMessage.ctypes_function(pDecryptPara, pbEncryptedBlob, cbEncryptedBlob, pbDecrypted, pcbDecrypted, ppXchgCert) +CryptDecryptMessagePrototype = WINFUNCTYPE(BOOL, PCRYPT_DECRYPT_MESSAGE_PARA, POINTER(BYTE), DWORD, POINTER(BYTE), POINTER(DWORD), POINTER(PCCERT_CONTEXT)) +CryptDecryptMessageParams = ((1, 'pDecryptPara'), (1, 'pbEncryptedBlob'), (1, 'cbEncryptedBlob'), (1, 'pbDecrypted'), (1, 'pcbDecrypted'), (1, 'ppXchgCert')) + +#def CryptAcquireCertificatePrivateKey(pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey): +# return CryptAcquireCertificatePrivateKey.ctypes_function(pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey) +CryptAcquireCertificatePrivateKeyPrototype = WINFUNCTYPE(BOOL, PCCERT_CONTEXT, DWORD, POINTER(VOID), POINTER(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE), POINTER(DWORD), POINTER(BOOL)) +CryptAcquireCertificatePrivateKeyParams = ((1, 'pCert'), (1, 'dwFlags'), (1, 'pvParameters'), (1, 'phCryptProvOrNCryptKey'), (1, 'pdwKeySpec'), (1, 'pfCallerFreeProvOrNCryptKey')) + +#def CertDuplicateCertificateContext(pCertContext): +# return CertDuplicateCertificateContext.ctypes_function(pCertContext) +CertDuplicateCertificateContextPrototype = WINFUNCTYPE(PCCERT_CONTEXT, PCCERT_CONTEXT) +CertDuplicateCertificateContextParams = ((1, 'pCertContext'),) + +#def CertEnumCertificatesInStore(hCertStore, pPrevCertContext): +# return CertEnumCertificatesInStore.ctypes_function(hCertStore, pPrevCertContext) +CertEnumCertificatesInStorePrototype = WINFUNCTYPE(PCCERT_CONTEXT, HCERTSTORE, PCCERT_CONTEXT) +CertEnumCertificatesInStoreParams = ((1, 'hCertStore'), (1, 'pPrevCertContext')) diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index 9b8654f..c916ce9 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -3426,6 +3426,39 @@ class _CRYPT_KEY_PROV_INFO(Structure): CRYPT_KEY_PROV_INFO = _CRYPT_KEY_PROV_INFO PCRYPT_KEY_PROV_INFO = POINTER(_CRYPT_KEY_PROV_INFO) +class _CRYPT_ENCRYPT_MESSAGE_PARA(Structure): + _fields_ = [ + ("cbSize", DWORD), + ("dwMsgEncodingType", DWORD), + ("hCryptProv", HCRYPTPROV_LEGACY), + ("ContentEncryptionAlgorithm", CRYPT_ALGORITHM_IDENTIFIER), + ("pvEncryptionAuxInfo", POINTER(VOID)), + ("dwFlags", DWORD), + ("dwInnerContentType", DWORD), + ] +PCRYPT_ENCRYPT_MESSAGE_PARA = POINTER(_CRYPT_ENCRYPT_MESSAGE_PARA) +CRYPT_ENCRYPT_MESSAGE_PARA = _CRYPT_ENCRYPT_MESSAGE_PARA + +class _CRYPT_DECRYPT_MESSAGE_PARA(Structure): + _fields_ = [ + ("cbSize", DWORD), + ("dwMsgAndCertEncodingType", DWORD), + ("cCertStore", DWORD), + ("rghCertStore", POINTER(HCERTSTORE)), + ("dwFlags", DWORD), + ] +PCRYPT_DECRYPT_MESSAGE_PARA = POINTER(_CRYPT_DECRYPT_MESSAGE_PARA) +CRYPT_DECRYPT_MESSAGE_PARA = _CRYPT_DECRYPT_MESSAGE_PARA + +class _CERT_KEY_CONTEXT(Structure): + _fields_ = [ + ("cbSize", DWORD), + ("hCryptProv", HCRYPTPROV), + ("dwKeySpec", DWORD), + ] +CERT_KEY_CONTEXT = _CERT_KEY_CONTEXT +PCERT_KEY_CONTEXT = POINTER(_CERT_KEY_CONTEXT) + class tagRECT(Structure): _fields_ = [ ("left", LONG), diff --git a/windows/winobject/service.py b/windows/winobject/service.py index def7ad7..3bbb596 100644 --- a/windows/winobject/service.py +++ b/windows/winobject/service.py @@ -105,7 +105,7 @@ def enumerate_services(): while True: size = size_needed.value - buffer = (ctypes.c_byte * size)() + buffer = (BYTE * size)() try: windows.winproxy.EnumServicesStatusExA(scmanager, SC_ENUM_PROCESS_INFO, SERVICE_TYPE_ALL, SERVICE_ACTIVE, buffer, size, ctypes.byref(size_needed), ctypes.byref(nb_services), byref(counter), None) diff --git a/windows/winproxy.py b/windows/winproxy.py index f6af9f2..baf3392 100644 --- a/windows/winproxy.py +++ b/windows/winproxy.py @@ -1012,7 +1012,104 @@ def CertStrToNameW(dwCertEncodingType, pszX500, dwStrType, pvReserved, pbEncoded def CertCreateSelfSignCertificate(hCryptProvOrNCryptKey, pSubjectIssuerBlob, dwFlags, pKeyProvInfo, pSignatureAlgorithm, pStartTime, pEndTime, pExtensions): return CertCreateSelfSignCertificate.ctypes_function(hCryptProvOrNCryptKey, pSubjectIssuerBlob, dwFlags, pKeyProvInfo, pSignatureAlgorithm, pStartTime, pEndTime, pExtensions) + +@Crypt32Proxy('CertOpenStore') +def CertOpenStore(lpszStoreProvider, dwMsgAndCertEncodingType, hCryptProv, dwFlags, pvPara): + return CertOpenStore.ctypes_function(lpszStoreProvider, dwMsgAndCertEncodingType, hCryptProv, dwFlags, pvPara) + +@Crypt32Proxy('CertAddCertificateContextToStore') +def CertAddCertificateContextToStore(hCertStore, pCertContext, dwAddDisposition, ppStoreContext): + return CertAddCertificateContextToStore.ctypes_function(hCertStore, pCertContext, dwAddDisposition, ppStoreContext) + + +@Crypt32Proxy('PFXExportCertStoreEx') +def PFXExportCertStoreEx(hStore, pPFX, szPassword, pvPara, dwFlags): + return PFXExportCertStoreEx.ctypes_function(hStore, pPFX, szPassword, pvPara, dwFlags) + + +@Advapi32Proxy('CryptGenKey') +def CryptGenKey(hProv, Algid, dwFlags, phKey): + return CryptGenKey.ctypes_function(hProv, Algid, dwFlags, phKey) + + +@Advapi32Proxy('CryptAcquireContextA') +def CryptAcquireContextA(phProv, pszContainer, pszProvider, dwProvType, dwFlags): + return CryptAcquireContextA.ctypes_function(phProv, pszContainer, pszProvider, dwProvType, dwFlags) + + +@Advapi32Proxy('CryptAcquireContextW') +def CryptAcquireContextW(phProv, pszContainer, pszProvider, dwProvType, dwFlags): + return CryptAcquireContextW.ctypes_function(phProv, pszContainer, pszProvider, dwProvType, dwFlags) + + +@Advapi32Proxy('CryptExportKey') +def CryptExportKey(hKey, hExpKey, dwBlobType, dwFlags, pbData, pdwDataLen): + return CryptExportKey.ctypes_function(hKey, hExpKey, dwBlobType, dwFlags, pbData, pdwDataLen) + + +@Crypt32Proxy('PFXImportCertStore') +def PFXImportCertStore(pPFX, szPassword, dwFlags): + return PFXImportCertStore.ctypes_function(pPFX, szPassword, dwFlags) + + +@Crypt32Proxy('CertFindCertificateInStore') +def CertFindCertificateInStore(hCertStore, dwCertEncodingType, dwFindFlags, dwFindType, pvFindPara, pPrevCertContext): + return CertFindCertificateInStore.ctypes_function(hCertStore, dwCertEncodingType, dwFindFlags, dwFindType, pvFindPara, pPrevCertContext) + + +@Crypt32Proxy('CertGetCertificateContextProperty') +def CertGetCertificateContextProperty(pCertContext, dwPropId, pvData, pcbData): + return CertGetCertificateContextProperty.ctypes_function(pCertContext, dwPropId, pvData, pcbData) + +@Crypt32Proxy('CertEnumCertificateContextProperties', no_error_check) +def CertEnumCertificateContextProperties(pCertContext, dwPropId): + return CertEnumCertificateContextProperties.ctypes_function(pCertContext, dwPropId) + + +@Crypt32Proxy('CryptEncryptMessage') +def CryptEncryptMessage(pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeEncrypted, cbToBeEncrypted, pbEncryptedBlob, pcbEncryptedBlob): + if isinstance(pbToBeEncrypted, basestring): + # Transform string to array of byte + pbToBeEncrypted = (BYTE * len(pbToBeEncrypted))(*bytearray(pbToBeEncrypted)) + if cbToBeEncrypted is None and pbToBeEncrypted is not None: + cbToBeEncrypted = len(pbToBeEncrypted) + return CryptEncryptMessage.ctypes_function(pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeEncrypted, cbToBeEncrypted, pbEncryptedBlob, pcbEncryptedBlob) + + +@Crypt32Proxy('CryptDecryptMessage') +def CryptDecryptMessage(pDecryptPara, pbEncryptedBlob, cbEncryptedBlob, pbDecrypted, pcbDecrypted, ppXchgCert): + return CryptDecryptMessage.ctypes_function(pDecryptPara, pbEncryptedBlob, cbEncryptedBlob, pbDecrypted, pcbDecrypted, ppXchgCert) + + +@Crypt32Proxy('CryptAcquireCertificatePrivateKey') +def CryptAcquireCertificatePrivateKey(pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey): + return CryptAcquireCertificatePrivateKey.ctypes_function(pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey) + + +@Crypt32Proxy('CertGetNameStringA') +def CertGetNameStringA(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString): + return CertGetNameStringA.ctypes_function(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString) + + +@Crypt32Proxy('CertGetNameStringW') +def CertGetNameStringW(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString): + return CertGetNameStringW.ctypes_function(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString) + + +@Crypt32Proxy('CertGetCertificateChain') +def CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, ppChainContext): + return CertGetCertificateChain.ctypes_function(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, ppChainContext) + +@Crypt32Proxy('CertDuplicateCertificateContext') +def CertDuplicateCertificateContext(pCertContext): + return CertDuplicateCertificateContext.ctypes_function(pCertContext) + + +@Crypt32Proxy('CertEnumCertificatesInStore') +def CertEnumCertificatesInStore(hCertStore, pPrevCertContext): + return CertEnumCertificatesInStore.ctypes_function(hCertStore, pPrevCertContext) + # ## User32 stuff ## # EnumWindows = TransparentUser32Proxy('EnumWindows')