Clean up ClrFacade.cs - remove ClrFacade.DestroyStructure (#4378)

This commit is contained in:
Dongbo Wang
2017-07-29 17:04:38 -07:00
committed by GitHub
parent 16f408c2f7
commit dce0bab626
5 changed files with 20 additions and 29 deletions
@@ -155,7 +155,7 @@ namespace System.Management.Automation.SecurityAccountsManager.Native
{
if (objectName != IntPtr.Zero)
{
ClrFacade.DestroyStructure<UNICODE_STRING>(objectName);
Marshal.DestroyStructure<UNICODE_STRING>(objectName);
Marshal.FreeHGlobal(objectName);
objectName = IntPtr.Zero;
}
@@ -1252,7 +1252,7 @@ namespace System.Management.Automation.SecurityAccountsManager
out userHandle,
out grantedAccess,
out relativeId);
ClrFacade.DestroyStructure<UNICODE_STRING>(buffer);
Marshal.DestroyStructure<UNICODE_STRING>(buffer);
Marshal.FreeHGlobal(buffer);
buffer = IntPtr.Zero;
ThrowOnFailure(status);
@@ -1371,7 +1371,7 @@ namespace System.Management.Automation.SecurityAccountsManager
{
if (buffer != IntPtr.Zero)
{
ClrFacade.DestroyStructure<ALIAS_NAME_INFORMATION>(buffer);
Marshal.DestroyStructure<ALIAS_NAME_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
}
if (aliasHandle != IntPtr.Zero)
@@ -1700,7 +1700,7 @@ namespace System.Management.Automation.SecurityAccountsManager
status = SamApi.SamSetInformationUser(userHandle,
USER_INFORMATION_CLASS.UserAllInformation,
buffer);
ClrFacade.DestroyStructure<USER_ALL_INFORMATION>(buffer);
Marshal.DestroyStructure<USER_ALL_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
buffer = IntPtr.Zero;
ThrowOnFailure(status);
@@ -1760,7 +1760,7 @@ namespace System.Management.Automation.SecurityAccountsManager
{
if (buffer != IntPtr.Zero)
{
ClrFacade.DestroyStructure<USER_ACCOUNT_NAME_INFORMATION>(buffer);
Marshal.DestroyStructure<USER_ACCOUNT_NAME_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
}
if (userHandle != IntPtr.Zero)
@@ -1903,7 +1903,7 @@ namespace System.Management.Automation.SecurityAccountsManager
Win32.MAXIMUM_ALLOWED,
out aliasHandle,
out relativeId);
ClrFacade.DestroyStructure<UNICODE_STRING>(buffer);
Marshal.DestroyStructure<UNICODE_STRING>(buffer);
Marshal.FreeHGlobal(buffer);
buffer = IntPtr.Zero;
ThrowOnFailure(status);
@@ -1920,7 +1920,7 @@ namespace System.Management.Automation.SecurityAccountsManager
ALIAS_INFORMATION_CLASS.AliasAdminCommentInformation,
buffer);
ClrFacade.DestroyStructure<ALIAS_ADM_COMMENT_INFORMATION>(buffer);
Marshal.DestroyStructure<ALIAS_ADM_COMMENT_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
buffer = IntPtr.Zero;
ThrowOnFailure(status);
@@ -1995,7 +1995,7 @@ namespace System.Management.Automation.SecurityAccountsManager
{
if (buffer != IntPtr.Zero)
{
ClrFacade.DestroyStructure<ALIAS_ADM_COMMENT_INFORMATION>(buffer);
Marshal.DestroyStructure<ALIAS_ADM_COMMENT_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
}
if (aliasHandle != IntPtr.Zero)
@@ -2268,7 +2268,7 @@ namespace System.Management.Automation.SecurityAccountsManager
{
if (buffer != IntPtr.Zero)
{
ClrFacade.DestroyStructure<USER_ALL_INFORMATION>(buffer);
Marshal.DestroyStructure<USER_ALL_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
}
}
@@ -2612,7 +2612,7 @@ namespace System.Management.Automation.SecurityAccountsManager
{
if (buffer != IntPtr.Zero)
{
ClrFacade.DestroyStructure<USER_SET_PASSWORD_INFORMATION>(buffer);
Marshal.DestroyStructure<USER_SET_PASSWORD_INFORMATION>(buffer);
Marshal.FreeHGlobal(buffer);
}
}
@@ -216,7 +216,7 @@ namespace System.Management.Automation
if (si.pSignExtInfo != null)
{
ClrFacade.DestroyStructure<NativeMethods.CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO>(si.pSignExtInfo);
Marshal.DestroyStructure<NativeMethods.CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO>(si.pSignExtInfo);
Marshal.FreeCoTaskMem(si.pSignExtInfo);
}
@@ -268,7 +268,7 @@ namespace System.Management.Automation
}
finally
{
ClrFacade.DestroyStructure<NativeMethods.CRYPTUI_WIZ_DIGITAL_SIGN_INFO>(pSignInfo);
Marshal.DestroyStructure<NativeMethods.CRYPTUI_WIZ_DIGITAL_SIGN_INFO>(pSignInfo);
Marshal.FreeCoTaskMem(pSignInfo);
}
@@ -552,9 +552,9 @@ namespace System.Management.Automation
}
finally
{
ClrFacade.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.FreeCoTaskMem(WINTRUST_ACTION_GENERIC_VERIFY_V2);
ClrFacade.DestroyStructure<NativeMethods.WINTRUST_DATA>(wtdBuffer);
Marshal.DestroyStructure<NativeMethods.WINTRUST_DATA>(wtdBuffer);
Marshal.FreeCoTaskMem(wtdBuffer);
}
return dwResult;
@@ -1037,9 +1037,9 @@ namespace System.Management.Automation.Security
}
finally
{
ClrFacade.DestroyStructure<WINTRUST_DATA>(wtdBuffer);
Marshal.DestroyStructure<WINTRUST_DATA>(wtdBuffer);
Marshal.FreeCoTaskMem(wtdBuffer);
ClrFacade.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.FreeCoTaskMem(WINTRUST_ACTION_GENERIC_VERIFY_V2);
}
@@ -1051,12 +1051,12 @@ namespace System.Management.Automation.Security
(WINTRUST_BLOB_INFO)ClrFacade.PtrToStructure<WINTRUST_BLOB_INFO>(wtd.Choice.pBlob);
Marshal.FreeCoTaskMem(originalBlob.pbMemObject);
ClrFacade.DestroyStructure<WINTRUST_BLOB_INFO>(wtd.Choice.pBlob);
Marshal.DestroyStructure<WINTRUST_BLOB_INFO>(wtd.Choice.pBlob);
Marshal.FreeCoTaskMem(wtd.Choice.pBlob);
}
else
{
ClrFacade.DestroyStructure<WINTRUST_FILE_INFO>(wtd.Choice.pFile);
Marshal.DestroyStructure<WINTRUST_FILE_INFO>(wtd.Choice.pFile);
Marshal.FreeCoTaskMem(wtd.Choice.pFile);
}
@@ -1170,9 +1170,9 @@ namespace System.Management.Automation.Security
}
finally
{
ClrFacade.DestroyStructure<WINTRUST_DATA>(wtdBuffer);
Marshal.DestroyStructure<WINTRUST_DATA>(wtdBuffer);
Marshal.FreeCoTaskMem(wtdBuffer);
ClrFacade.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.DestroyStructure<Guid>(WINTRUST_ACTION_GENERIC_VERIFY_V2);
Marshal.FreeCoTaskMem(WINTRUST_ACTION_GENERIC_VERIFY_V2);
}
}
@@ -78,15 +78,6 @@ namespace System.Management.Automation
return Marshal.SizeOf<T>();
}
/// <summary>
/// Facade for Marshal.DestroyStructure
/// </summary>
internal static void DestroyStructure<T>(IntPtr ptr)
{
// Marshal.DestroyStructure(IntPtr, Type) is obsolete in CoreCLR
Marshal.DestroyStructure<T>(ptr);
}
/// <summary>
/// Facade for Marshal.PtrToStructure
/// </summary>