Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Теоретические сведения. Now you can run the application and test the server by clicking the Raise button

Читайте также:
  1. I. Общие сведения о больном
  2. I. Общие сведения о больном
  3. I. Теоретические аспекты управления качеством медицинской помощи.
  4. I. Теоретические основы изучения туристских информационных систем как новой модели туристского бизнеса
  5. II. Общие сведения о горных породах
  6. А) Знакомство с краткими биографическими сведениями
  7. Абсорбция. Общие сведения и области его применения.
  8. ВВЕДЕНИЕ И НЕКОТОРЫЕ ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
  9. Введение. Общие сведения
  10. ВВЕДЕНИЕ. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ УПРАВЛЕНИЯ СИСТЕМАМИ

 

Now you can run the application and test the server by clicking the Raise button. Do be careful, there is no error checking to see if you put a valid number in Text2. What you are seeing is Visual Basic running an assembly language server.

 

Note the sample program available for download is somewhat more complex, as it creates two copies of the server object to test. This demonstrates each object is capable of holding it's own private data information. It is quite true this server doesn't do all that much, but it is a baby step to full COM functionality from assembly.

 

 

Bibliography:

---------------------------------------------------------------------------------------------------------------------"Inside COM, Microsoft's Component Object Model" Dale Rogerson

Copyright 1997,

Paperback - 376 pages CD-ROM edition

Microsoft Press;

ISBN: 1572313498

(THE fundamental book on understanding how COM works on a fundamental level. Uses C++ code to illustrate basic concepts as it builds simple fully functional COM object)

 

"Automation Programmer's Reference: Using ActiveX Technology to Create Programmable Applications" (no author listed)

Copyright 1997,

Paperback - 450 pages

Microsoft Press;

ISBN: 1572315849

(This book has been available online on MSDN in the past, but it is cheap enough for those of you who prefer real books you can hold in your hand. Defines the practical interfaces and functions that the automation libraries provide you, but is more of a reference book then a "user's guide")

 

Microsoft Developers Network <http://msdn.microsoft.com>

 

"Professional Visual C++ 5 ActiveX/Com Control Programming" Sing Li and Panos Economopoulos Copyright April 1997,

Paperback - 500 pages (no CD ROM, files available online)

Wrox Press Inc;

ISBN: 1861000375

(Excellent description of activeX control and control site interfaces. A recent review of this book on Amazon.com stated "These guys are the type that want to rewrite the world's entire software base in assembler." Need I say more?)

 

"sean's inconsequential homepage <http://www.eburg.com/~baxters/>"

(Various hardcore articles on low-level COM and ATL techniques. Coded in C++)

 

"COM in Assembly Part II" http://asmjournal.freeservers.com Bill Tyler

(no copyright noted)

Assembly Programming Journal July-Sep 99

(Basic object creation and use through COM-like interfaces)

Теоретические сведения

 

Для работы с файловой системой могут использоваться следующие функции:

 

CreateFile – создание или открытие объекта ядра “файл”.

---> (Рихтер2, стр.32–33, 422–423)

GetVolumeInformation – получение информации о томе, где расположен указанный корневой каталог.

FindFirstFile – поиск файла в директории с заданным именем (можно задать маску имени).

FindFirstFileEx – поиск файла в директории с заданным именем и атрибутами.

FindNextFile – продолжение поиска файла. Вызывается после FindFirstFile или FindFirstFileEx.

GetBinaryType – определение, является ли файл исполняемым, и если это так, то определяет его тип (для какой системы).

GetCurrentDirectory – получение полного имени текущего каталога для текущего процесса. ---> (Рихтер2, стр.60)

GetDiskFreeSpace – получение информации о свободном месте, размере кластера, размере сектора для тома, где расположен указанный корневой каталог.

GetDriveType – получение информации о типе диска: сменный носитель, жесткий диск, CD-ROM, RAM диск, сетевой диск.

GetFileAttributes – получение атрибутов для указанного файла или каталога.

GetFileInformationByHandle – получение подробной информации о файле по его дескриптору.

GetFileSize – получение размера указанного файла. ---> (Рихтер2, стр.431)

GetFileSizeEx – получение размера указанного файла (для хранения размера требуется тип больше чем DWORD (больше 4 ГБ)).

GetFileType – получение типа указанного файла: блочный, символьный, канал.

GetFullPathName – получение полного пути и имени указанного файла.

---> (Рихтер2, стр.61)

GetLogicalDrives – получение битовой маски с информацией об отображении логических дисков.

GetLogicalDriveStrings – получение строки с информацией об отображении логических дисков.

GetLongPathName – преобразует указанный путь в его длинную форму представления.

GetShortPathName – преобразует указанный путь в его короткую форму представления.

SearchPath – поиск указанного файла.

SetCurrentDirectory – изменяет текущий каталог для текущего процесса.

---> (Рихтер2, стр.60)

 

Для работы с памятью могут использоваться следующие функции (подробно механизмы управления памятью изучаются в лабораторной работе 6):

 

CopyMemory – копирование блока памяти с одного места в другое.

FillMemory – заполнение блока памяти указанным значением.

MoveMemory – перемещение блок памяти с одного места в другое.

---> (Рихтер2, стр.430)

ZeroMemory – заполнение блока памяти нулями. ---> (Рихтер2, стр.385)

GlobalAlloc – выделение указанного числа байт из глобальной кучи.

GlobalFree – освобождение объекта глобальной кучи.

GlobalReAlloc – изменение размера или атрибутов объекта глобальной кучи.

GlobalSize – получение текущего размера указанного глобального объекта.

LocalAlloc – выделение указанного числа байт из локальной кучи.

LocalFree – освобождение объекта глобальной кучи.

LocalReAlloc – изменение размера или атрибутов объекта глобальной кучи.

LocalSize – получение текущего размера указанного глобального объекта.

GetProcessHeap – получение дескриптора кучи вызывающего процесса.

---> (Рихтер2, стр.462)

HeapAlloc – выделение блока памяти из кучи. ---> (Рихтер2, стр.466–467)

HeapCompact – попытка сжать кучу. ---> (Рихтер2, стр.472)

HeapCreate – создание объекта кучи. ---> (Рихтер2, стр.465–466)

HeapDestroy – разрушение объекта кучи. ---> (Рихтер2, стр.468–469)

HeapFree – освобождение блока памяти, выделенного в куче.

---> (Рихтер2, стр.468)

HeapQueryInformation – получение информации о куче.

HeapReAlloc – изменение размера или атрибутов объекта глобальной кучи.

---> (Рихтер2, стр.467–468)

HeapSize – получение размера блока памяти, выделенного в куче.

---> (Рихтер2, стр.468)

 

Дополнительная информация о работе с файловой системой и памятью может быть получена из соответствующей литературы и из системы помощи MS SDK.

 

Постановка задачи: разработать оконное приложение в среде программирования Visual C, которое решает поставленную задачу в соответствии со своим вариантом (учесть наличие алиасов и косвенных файлов). Для хранения промежуточных результатов можно использовать средства WIN32 API для работы с памятью.

 




Дата добавления: 2014-12-18; просмотров: 43 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.012 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав