protected void processDataDirectory(NTHeader nt, BinaryReader rdr) throws IOException {
		this.ntHeader = nt;
		this.reader = rdr;

		virtualAddress = rdr.readNextInt();
		size = rdr.readNextInt();

		if (virtualAddress == 0) {
			return;
		}

		if (!nt.checkRVA(virtualAddress)) {
			Msg.warn(this,
				"Skipping DataDirectory '%s'. RVA outside of image (RVA: 0x%x, Size: 0x%x). Could be a file-only data directory."
						.formatted(getDirectoryName(), virtualAddress, size));
			return;
		}

		if (size < 0 && validateSize()) {
			Msg.warn(this, "Skipping DataDirectory '%s'. Invalid size (Size: 0x%x)."
					.formatted(getDirectoryName(), size));
			return;
		}

		hasParsed = parse();
	}
The size of the data directory, in bytes.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pe/DataDirectory.java