You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,133 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="NativeMethods.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
// <owner current="true" primary="true">markash</owner>
|
||||
// <owner current="true" primary="false">blained</owner>
|
||||
// <owner current="true" primary="false">mithomas</owner>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Versioning;
|
||||
|
||||
namespace System.Data.Common {
|
||||
|
||||
internal static class NativeMethods {
|
||||
|
||||
#if !NO_OLEDB
|
||||
[Guid("0c733a1e-2a1c-11ce-ade5-00aa0044773d"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport]
|
||||
internal interface ISourcesRowset {
|
||||
|
||||
[PreserveSig] System.Data.OleDb.OleDbHResult GetSourcesRowset(
|
||||
[In] IntPtr pUnkOuter,
|
||||
[In, MarshalAs(UnmanagedType.LPStruct)] Guid riid,
|
||||
[In] int cPropertySets,
|
||||
[In] IntPtr rgProperties,
|
||||
[Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset);
|
||||
}
|
||||
#endif
|
||||
|
||||
[Guid("0C733A5E-2A1C-11CE-ADE5-00AA0044773D"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown), ComImport]
|
||||
internal interface ITransactionJoin {
|
||||
[ Obsolete("not used", true)] [PreserveSig] int GetOptionsObject(
|
||||
/*deleted parameter signature*/);
|
||||
|
||||
void JoinTransaction(
|
||||
[In, MarshalAs(UnmanagedType.Interface)] object punkTransactionCoord,
|
||||
[In] Int32 isoLevel,
|
||||
[In] Int32 isoFlags,
|
||||
[In] IntPtr pOtherOptions);
|
||||
}
|
||||
|
||||
[DllImport(ExternDll.Kernel32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto)]
|
||||
[ResourceExposure(ResourceScope.Machine)]
|
||||
static internal extern IntPtr MapViewOfFile(IntPtr hFileMappingObject, int dwDesiredAccess, int dwFileOffsetHigh, int dwFileOffsetLow, IntPtr dwNumberOfBytesToMap);
|
||||
|
||||
// OpenFileMappingA contains a security venerability, in the unicode->ansi conversion
|
||||
// Its possible to spoof the directory and construct ../ sequeences, See FxCop Warrning
|
||||
// Specify marshaling for pinvoke string arguments
|
||||
[DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Ansi, BestFitMapping=false, ThrowOnUnmappableChar=true)]
|
||||
// [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Ansi)]
|
||||
[ResourceExposure(ResourceScope.Machine)]
|
||||
static internal extern IntPtr OpenFileMappingA(int dwDesiredAccess, bool bInheritHandle, [MarshalAs(UnmanagedType.LPStr)] string lpName);
|
||||
|
||||
// CreateFileMappingA contains a security venerability, in the unicode->ansi conversion
|
||||
// Its possible to spoof the directory and construct ../ sequeences, See FxCop Warrning
|
||||
// Specify marshaling for pinvoke string arguments
|
||||
[DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Ansi, BestFitMapping=false, ThrowOnUnmappableChar=true)]
|
||||
// [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Ansi)]
|
||||
[ResourceExposure(ResourceScope.Machine)]
|
||||
static internal extern IntPtr CreateFileMappingA(IntPtr hFile, IntPtr pAttr, int flProtect, int dwMaximumSizeHigh, int dwMaximumSizeLow, [MarshalAs(UnmanagedType.LPStr)] string lpName);
|
||||
|
||||
[DllImport(ExternDll.Kernel32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto)]
|
||||
[ResourceExposure(ResourceScope.Machine)]
|
||||
static internal extern bool UnmapViewOfFile(IntPtr lpBaseAddress);
|
||||
|
||||
[DllImport(ExternDll.Kernel32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.Machine)]
|
||||
static internal extern bool CloseHandle(IntPtr handle);
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool AllocateAndInitializeSid(
|
||||
IntPtr pIdentifierAuthority, // authority
|
||||
byte nSubAuthorityCount, // count of subauthorities
|
||||
int dwSubAuthority0, // subauthority 0
|
||||
int dwSubAuthority1, // subauthority 1
|
||||
int dwSubAuthority2, // subauthority 2
|
||||
int dwSubAuthority3, // subauthority 3
|
||||
int dwSubAuthority4, // subauthority 4
|
||||
int dwSubAuthority5, // subauthority 5
|
||||
int dwSubAuthority6, // subauthority 6
|
||||
int dwSubAuthority7, // subauthority 7
|
||||
ref IntPtr pSid ); // SID
|
||||
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern int GetLengthSid(
|
||||
IntPtr pSid); // SID to query
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool InitializeAcl(
|
||||
IntPtr pAcl, // ACL
|
||||
int nAclLength, // size of ACL
|
||||
int dwAclRevision ); // revision level of ACL
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool AddAccessDeniedAce(
|
||||
IntPtr pAcl, // access control list
|
||||
int dwAceRevision, // ACL revision level
|
||||
int AccessMask, // access mask
|
||||
IntPtr pSid ); // security identifier
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool AddAccessAllowedAce(
|
||||
IntPtr pAcl, // access control list
|
||||
int dwAceRevision, // ACL revision level
|
||||
uint AccessMask, // access mask
|
||||
IntPtr pSid ); // security identifier
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool InitializeSecurityDescriptor(
|
||||
IntPtr pSecurityDescriptor, // SD
|
||||
int dwRevision ); // revision level
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern bool SetSecurityDescriptorDacl(
|
||||
IntPtr pSecurityDescriptor, // SD
|
||||
bool bDaclPresent, // DACL presence
|
||||
IntPtr pDacl, // DACL
|
||||
bool bDaclDefaulted); // default DACL
|
||||
|
||||
[DllImport(ExternDll.Advapi32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)]
|
||||
[ResourceExposure(ResourceScope.None)]
|
||||
static internal extern IntPtr FreeSid(
|
||||
IntPtr pSid); // SID to free
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user