internal static extern HRESULT PrjUpdateFileIfNeeded( IntPtr namespaceVirtualizationContext, [MarshalAs(UnmanagedType.LPWStr)] String destinationFileName, [MarshalAs(UnmanagedType.LPStruct)] PRJ_PLACEHOLDER_INFO placeholderInfo, int placeholderInfoSize, PRJ_UPDATE_TYPES updateFlags, out PRJ_UPDATE_FAILURE_CAUSES failureReason );
internal static NativeBuffer <PRJ_PLACEHOLDER_INFO> PRJ_PLACEHOLDER_INFOFromPlaceholderInfo(PlaceholderInfo original) { var ph = new PRJ_PLACEHOLDER_INFO { FileBasicInfo = PRJ_FILE_BASIC_INFOFromBasicInfo(original.BasicInfo), VersionInfo = PRJ_PLACEHOLDER_VERSION_INFOFromPlaceholderVersion(original.Version) }; if (original.Security == null) { return(new NativeBuffer <PRJ_PLACEHOLDER_INFO>(ph)); } var securityBuffer = original.Security.GetSecurityDescriptorBinaryForm(); ph.SecurityInformation.OffsetToSecurityDescriptor = Marshal.SizeOf <PRJ_PLACEHOLDER_INFO>(); ph.SecurityInformation.SecurityBufferSize = securityBuffer.Length; return(new NativeBuffer <PRJ_PLACEHOLDER_INFO>(ph, securityBuffer)); }