We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows
0.46.0
There are some structs missing from the crate. In C header, there is this definition:
typedef struct _CRYPTOAPI_BLOB { DWORD cbData; _Field_size_bytes_(cbData) BYTE *pbData; } CRYPT_INTEGER_BLOB, *PCRYPT_INTEGER_BLOB, CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB, CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB, CERT_NAME_BLOB, *PCERT_NAME_BLOB, CERT_RDN_VALUE_BLOB, *PCERT_RDN_VALUE_BLOB, CERT_BLOB, *PCERT_BLOB, CRL_BLOB, *PCRL_BLOB, DATA_BLOB, *PDATA_BLOB, CRYPT_DATA_BLOB, *PCRYPT_DATA_BLOB, CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB, CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB, CRYPT_DER_BLOB, *PCRYPT_DER_BLOB, CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB;
However in rust I cannot find definitions for some of them, such as CERT_NAME_BLOB CRYPT_HASH_BLOB, DATA_BLOB. I have not checked them all.
Yeah, they are all different names for the same root struct, but it helps readability to use the correct name in context.
Another issue is that some definitions seem to have taken a shortcut:
#[repr(C)] #[doc = "*Required features: `\"Win32_Security_Cryptography\"`*"] pub struct CERT_ID { pub dwIdChoice: CERT_ID_OPTION, pub Anonymous: CERT_ID_0, } .. #[repr(C)] #[doc = "*Required features: `\"Win32_Security_Cryptography\"`*"] pub union CERT_ID_0 { pub IssuerSerialNumber: CERT_ISSUER_SERIAL_NUMBER, pub KeyId: CRYPT_INTEGER_BLOB, pub HashId: CRYPT_INTEGER_BLOB, }
whereas the C header definition is:
typedef struct _CERT_ID { DWORD dwIdChoice; union { CERT_ISSUER_SERIAL_NUMBER IssuerSerialNumber; CRYPT_HASH_BLOB KeyId; CRYPT_HASH_BLOB HashId; } DUMMYUNIONNAME; } CERT_ID, *PCERT_ID;
No response
Try to resolve any of the above mentioned names. No specific code.
[dependencies.windows] version = "0.46.0" features = [ "Win32_Foundation", "Win32_Security", "Win32_Security_Cryptography", ]
The definitions mentioned in MSDN documentation should be available in the crate
The text was updated successfully, but these errors were encountered:
Another issue is that some definitions seem to have taken a shortcut
Rust doesn't support nested structs/unions hence the distinct definitions.
they are all different names for the same root struct
I'm not we want to capture aliases as that may not translate well to metadata, but I'll transfer to the Win32 metadata repo for consideration.
Sorry, something went wrong.
I see that we have CRYPT_INTEGER_BLOB - we want to replace that with the more generic CRYPT_BLOB that matches CRYPT_BLOB_ARRAY.
CRYPT_INTEGER_BLOB
CRYPT_BLOB
CRYPT_BLOB_ARRAY
I believe this is a duplicate of #1339.
No branches or pull requests
Which crate is this about?
windows
Crate version
0.46.0
Summary
There are some structs missing from the crate. In C header, there is this definition:
However in rust I cannot find definitions for some of them, such as CERT_NAME_BLOB CRYPT_HASH_BLOB, DATA_BLOB. I have not checked them all.
Yeah, they are all different names for the same root struct, but it helps readability to use the correct name in context.
Another issue is that some definitions seem to have taken a shortcut:
whereas the C header definition is:
Toolchain version/configuration
No response
Reproducible example
Crate manifest
Expected behavior
The definitions mentioned in MSDN documentation should be available in the crate
Actual behavior
No response
Additional comments
No response
The text was updated successfully, but these errors were encountered: