[DllImport("advapi32.dll", SetLastError=true)]
static extern UInt32 GetNamedSecurityInfo
(string pObjectName,
int ObjectType,
int SecurityInfo,
out IntPtr pSidOwner,
out IntPtr pSidGroup,
out IntPtr pDacl,
out IntPtr pSacl,
out IntPtr pSecurityDescriptor);
Declare Function GetNamedSecurityInfo Lib "advapi32.dll" ( _
ByVal pObjectName As String, _
ByVal ObjectType As Integer, _
ByVal SecurityInfo As Integer, _
ByRef pSidOwner As IntPtr, _
ByRef pSidGroup As IntPtr, _
ByRef pDacl As IntPtr, _
ByRef pSacl As IntPtr, _
ByRef pSecurityDescriptor As IntPtr) As Integer
None.
Definition from the API:
DWORD GetNamedSecurityInfo(
LPTSTR pObjectName,
SE_OBJECT_TYPE ObjectType,
SECURITY_INFORMATION SecurityInfo,
PSID* pSidOwner,
PSID* pSidGroup,
PACL* pDacl,
PACL* pSacl,
PSECURITY_DESCRIPTOR* pSecurityDescriptor
);
Please add some!
Please add some!
' Type of Securable Object we are operating in this sample code
Private Const SE_FILE_OBJECT = 1&
' The Security Information constants required
Private Const DACL_SECURITY_INFORMATION = 4&
Dim pSecDesc, pOldDACL As IntPtr
Dim Win32Error As Win32Exception
Dim ret As Integer
' get the Security Descriptor and DACL
ret = GetNamedSecurityInfo(strPath, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, Nothing, Nothing, pOldDACL, Nothing, pSecDesc)
If ret <> 0 Then
Win32Error = New Win32Exception(ret)
Throw New Exception(Win32Error.Message)
End If
Do you know one? Please contribute it!