You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CREDENTIALW is an interesting related case. It isn't empty in the metadata, nor should it be. But CredReadW returns a PCREDENTIALW that is important to not copy around. The original pointer is native allocated memory that must be freed via the original pointer. Further, the struct may point to addresses outside itself but within the same memory allocation. So it's important that projections not simply copy the struct and/or release the memory and expect the copy to be self-contained.
I think these fall in with the native classes mentioned in the description, in that the metadata should be able to indicate that this type should never be dereferenced for purposes of copying around, as the original pointer is important.
Pulled out of #1821 so we don't lose it.
CREDENTIALW
is an interesting related case. It isn't empty in the metadata, nor should it be. ButCredReadW
returns aPCREDENTIALW
that is important to not copy around. The original pointer is native allocated memory that must be freed via the original pointer. Further, the struct may point to addresses outside itself but within the same memory allocation. So it's important that projections not simply copy the struct and/or release the memory and expect the copy to be self-contained.I think these fall in with the native classes mentioned in the description, in that the metadata should be able to indicate that this type should never be dereferenced for purposes of copying around, as the original pointer is important.
Originally posted by @AArnott in #1821 (comment)
The text was updated successfully, but these errors were encountered: