Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than Structures, prefix the name with the module name and a period.
OBJECT_ATTRIBUTES (Structures)
.
VB.NET Definition:
<StructLayout(LayoutKind.Sequential)> _
Public Structure OBJECT_ATTRIBUTES
Implements IDisposable
Public Length As Integer
Public RootDirectory As IntPtr
Private m_objectName As IntPtr
Public Attributes As UInteger
Public SecurityDescriptor As IntPtr
Public SecurityQualityOfService As IntPtr
C# Definition:
[StructLayout(LayoutKind.Sequential)]
public struct OBJECT_ATTRIBUTES : IDisposable
{
public int Length;
public IntPtr RootDirectory;
private IntPtr objectName;
public uint Attributes;
public IntPtr SecurityDescriptor;
public IntPtr SecurityQualityOfService;
Public Sub New(name As String, attrs As UInteger)
Length = 0
RootDirectory = IntPtr.Zero
m_objectName = IntPtr.Zero
Attributes = attrs
SecurityDescriptor = IntPtr.Zero
SecurityQualityOfService = IntPtr.Zero
public OBJECT_ATTRIBUTES(string name, uint attrs)
{
Length = 0;
RootDirectory = IntPtr.Zero;
objectName = IntPtr.Zero;
Attributes = attrs;
SecurityDescriptor = IntPtr.Zero;
SecurityQualityOfService = IntPtr.Zero;
Length = Marshal.SizeOf(Me)
ObjectName = New UNICODE_STRING(name)
End Sub
Length = Marshal.SizeOf(this);
ObjectName = new UNICODE_STRING(name);
}
Public Property ObjectName As UNICODE_STRING
Get
Return DirectCast(Marshal.PtrToStructure(m_objectName, GetType(UNICODE_STRING)), UNICODE_STRING)
End Get
public UNICODE_STRING ObjectName
{
get
{
return (UNICODE_STRING)Marshal.PtrToStructure(
objectName, typeof(UNICODE_STRING));
}
Set
Dim fDeleteOld As Boolean = m_objectName <> IntPtr.Zero
If Not fDeleteOld Then
m_objectName = Marshal.AllocHGlobal(Marshal.SizeOf(value))
End If
Marshal.StructureToPtr(value, m_objectName, fDeleteOld)
End Set
End Property
set
{
bool fDeleteOld = objectName != IntPtr.Zero;
if (!fDeleteOld)
objectName = Marshal.AllocHGlobal(Marshal.SizeOf(value));
Marshal.StructureToPtr(value, objectName, fDeleteOld);
}
}
Public Sub Dispose()
If m_objectName <> IntPtr.Zero Then
Marshal.DestroyStructure(m_objectName, GetType(UNICODE_STRING))
Marshal.FreeHGlobal(m_objectName)
m_objectName = IntPtr.Zero
End If
End Sub
End Structure
C# Definition:
[StructLayout(LayoutKind.Sequential)]
public struct OBJECT_ATTRIBUTES : IDisposable
{
public int Length;
public IntPtr RootDirectory;
private IntPtr objectName;
public uint Attributes;
public IntPtr SecurityDescriptor;
public IntPtr SecurityQualityOfService;