'Gets information from the #WINDOWS file.
Checks the #WINDOWS file to see if it has any info that was
not found in #SYSTEM (topics, index or default page.'

def GetWindowsInfo(self):

    (result, ui) = chmlib.chm_resolve_object(self.file, '/#WINDOWS')
    if (result != chmlib.CHM_RESOLVE_SUCCESS):
        return (-1)
    (size, text) = chmlib.chm_retrieve_object(self.file, ui, 0L, 8)
    if (size < 8):
        return (-2)
    buff = array.array('B', text)
    num_entries = self.GetDWORD(buff, 0)
    entry_size = self.GetDWORD(buff, 4)
    if (num_entries < 1):
        return (-3)
    (size, text) = chmlib.chm_retrieve_object(self.file, ui, 8L, entry_size)
    if (size < entry_size):
        return (-4)
    buff = array.array('B', text)
    toc_index = self.GetDWORD(buff, 96)
    idx_index = self.GetDWORD(buff, 100)
    dft_index = self.GetDWORD(buff, 104)
    (result, ui) = chmlib.chm_resolve_object(self.file, '/#STRINGS')
    if (result != chmlib.CHM_RESOLVE_SUCCESS):
        return (-5)
    (size, text) = chmlib.chm_retrieve_object(self.file, ui, 0L, ui.length)
    if (size == 0):
        return (-6)
    if (not self.topics):
        self.topics = self.GetString(text, toc_index)
        if (not self.topics.startswith('/')):
            self.topics = ('/' + self.topics)
    if (not self.index):
        self.index = self.GetString(text, idx_index)
        if (not self.index.startswith('/')):
            self.index = ('/' + self.index)
    if (dft_index != 0):
        self.home = self.GetString(text, dft_index)
        if (not self.home.startswith('/')):
            self.home = ('/' + self.home)
