public interface ExportDirectoryTable
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDLLName()
Convenience routine which returns the name of the DLL containing
this export directory.
|
int |
getExportAddress(short ordinal)
Takes in an ordinal from the Export Ordinal Table (see
getExportOrdinal(int) ). |
java.lang.String |
getExportAddressForwarder(short ordinal)
Get the forwarder name for the given ordinal.
|
int |
getExportAddressTableRVA()
Address of the Export Address Table, relative to the image
base.
|
int |
getExportFlags()
A reserved field, set to zero for now.
|
java.lang.String |
getExportName(int i)
Returns the ith exported symbol (from 0..
getNumberOfNamePointers() - 1). |
short |
getExportOrdinal(int i)
Returns the ith entry (0..
getNumberOfNamePointers() in the Export Ordinal Table. |
short |
getMajorVersion()
Major version number.
|
short |
getMinorVersion()
Minor version number.
|
int |
getNamePointerTableRVA()
Address of the Export Name Pointer Table, relative to the image
base.
|
int |
getNameRVA()
Address of the ASCII string containing the name of the
DLL.
|
int |
getNumberOfAddressTableEntries()
Number of entries in the Export Address Table.
|
int |
getNumberOfNamePointers()
Number of entries in the Name Pointer Table (also the number of
entries in the Ordinal Table).
|
int |
getOrdinalBase()
Starting ordinal number for exports in this image.
|
int |
getOrdinalTableRVA()
Address of the Ordinal Table, relative to the image base.
|
int |
getTimeDateStamp()
Time and date the export data was created.
|
boolean |
isExportAddressForwarder(short ordinal)
Indicates whether the specified export address is really a
forwarder, in which case the value is not an address but a
string.
|
int getExportFlags()
int getTimeDateStamp()
short getMajorVersion()
short getMinorVersion()
int getNameRVA()
getDLLName()
.java.lang.String getDLLName()
int getOrdinalBase()
int getNumberOfAddressTableEntries()
int getNumberOfNamePointers()
int getExportAddressTableRVA()
int getNamePointerTableRVA()
int getOrdinalTableRVA()
java.lang.String getExportName(int i)
getNumberOfNamePointers()
- 1). These are arranged in sorted
order to allow binary searches.short getExportOrdinal(int i)
getNumberOfNamePointers()
in the Export Ordinal Table. This is
used for looking up a given symbol's address in the Export
Address Table; see getExportAddress(short)
.boolean isExportAddressForwarder(short ordinal)
java.lang.String getExportAddressForwarder(short ordinal)
int getExportAddress(short ordinal)
Takes in an ordinal from the Export Ordinal Table (see
getExportOrdinal(int)
). This ordinal is biased by getOrdinalBase()
; however, the subtraction described in the
documentation is done internally for convenience. Returns an
address that is in one of two formats. If the address specified
is not within the export section (as defined by the address and
length indicated in the Optional Header), the field is an Export
RVA: an actual address in code or data. Otherwise, the field is
a Forwarder RVA, which names a symbol in another DLL.
An Export RVA is the address of the exported symbol when loaded into memory, relative to the image base. For example, the address of an exported function.
A Forwarder RVA is a pointer to a null-terminated ASCII string in the export section, giving the DLL name and the name of the export (for example, "MYDLL.expfunc") or the DLL name and an export (for example, "MYDLL.#27").
NOTE: the value returned has been transformed from an RVA to a file pointer which can be added to the image base to find an absolute address for the symbol.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.