если файловая система ntfs то тебе достаточно открыть нужный тебе файл и сделать один deviceiocontrol.
Интерфейсы IEncodingFilterFactory и IDataFilter из urlmon использует IE и другой софт для сжатия/распаковки gzip/deflate. Поиском находятся рабочие примеры. Также есть работа с cab (FCICreate/FDICreate и т.д), сами dll поставляются с Windows, на сайте M$ можно скачать CabinetSDK - хидеры + либы + пример использования. Без лишнего гемора извлечь файлы из cab можно через SetupIterateCabinet из setupapi.dll. Ну а одиночный файл распаковать и того проще - SetupDecompressOrCopyFile. В WinXP есть ещё zipfldr.dll, но вот как его использовать для работы с zip архивами - самому хотелось бы знать.