The CTL_USAGE structure is used with the X509_ENHANCED_KEY_USAGE extension in CryptEncodeObject, CryptEncodeObjectEx, CryptDecodeObject, and CryptDecodeObjectEx.
typedef struct _CTL_USAGE {
DWORD cUsageIdentifier;
LPSTR *rgpszUsageIdentifier; // array of pszObjId
} CTL_USAGE, *PCTL_USAGE,
CERT_ENHKEY_USAGE, *PCERT_ENHKEY_USAGE;
CTL_INFO, CTL_FIND_USAGE_PARA, CertFindCertificateInStore, CertGetCertificateContextProperty, CertVerifyCTLUsage, CryptDecodeObject, CryptEncodeObject