# IMAGE\_OPTIONAL\_HEADER64

```csharp
[StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct IMAGE_OPTIONAL_HEADER64
{
    public IMAGE_OPTIONAL_HEADER_MAGIC Magic;
    public byte MajorLinkerVersion;
    public byte MinorLinkerVersion;
    public uint SizeOfCode;
    public uint SizeOfInitializedData;
    public uint SizeOfUninitializedData;
    public uint AddressOfEntryPoint;
    public uint BaseOfCode;
    public ulong ImageBase;
    public uint SectionAlignment;
    public uint FileAlignment;
    public ushort MajorOperatingSystemVersion;
    public ushort MinorOperatingSystemVersion;
    public ushort MajorImageVersion;
    public ushort MinorImageVersion;
    public ushort MajorSubsystemVersion;
    public ushort MinorSubsystemVersion;
    public uint Win32VersionValue;
    public uint SizeOfImage;
    public uint SizeOfHeaders;
    public uint CheckSum;
    public IMAGE_SUBSYSTEM Subsystem;
    public IMAGE_DLL_CHARACTERISTICS DllCharacteristics;
    public ulong SizeOfStackReserve;
    public ulong SizeOfStackCommit;
    public ulong SizeOfHeapReserve;
    public ulong SizeOfHeapCommit;

    [Obsolete]
    public uint LoaderFlags;

    public uint NumberOfRvaAndSizes;
    public IMAGE_DATA_DIRECTORY DataDirectory;
}
```

[image\_optional\_header\_magic](https://www.pinvoke.dev/debug/image_optional_header_magic "mention")

[image\_subsystem](https://www.pinvoke.dev/debug/image_subsystem "mention")

[image\_dll\_characteristics](https://www.pinvoke.dev/debug/image_dll_characteristics "mention")

[image\_data\_directory](https://www.pinvoke.dev/debug/image_data_directory "mention")


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.pinvoke.dev/debug/image_optional_header64.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
