Локальные сети персональных компьютеров. Работа с сервером Novell NetWare


9. Приложение 1. БИБЛИОТЕКА ФУНКЦИЙ NETWARE C INTERFACE FOR DOS


9.1. Разные функции

9.2. Каналы, подключение к файл-серверу и отключение от файл-сервера

9.3. Работа с томами файл-сервера

9.4. Отображение дисков рабочей станции на сетевые каталоги

9.5. Просмотр содержимого каталогов

9.6. Создание, переименование и удаление каталога

9.7. Работа с файлами

9.8. Синхронизация процессов

9.9. Работа с базой объектов Bindery

9.10. Передача и прием сообщений

9.11. Управление файл-сервером

9.12. Работа с протоколом IPX

Проверка сетевой оболочки
Проверка сетевой оболочки int GetShellVersionInformation(BYTE *MajorVersion, BYTE *MinorVersion, BYTE *RevisionLevel); Функция возвращает 0xFF при нормальном завершении или 0 при ошибке....
Обмен байтов в 16-битовом слове
Обмен байтов в 16-битовом слове int IntSwap(int UnswappedInteger); Функция меняет местами байты в 16-битовом слове, которое передается ей в качестве параметра, возвращая полученное значение. Пара...
Обмен байтов в 32-битовом слове
Обмен байтов в 32-битовом слове long LongSwap(long UnswappedLong); Функция меняет местами байты в 32-битовом слове, которое передается ей в качестве параметра, возвращая полученное значение. Пара...
Подключение к файл-серверу
Подключение к файл-серверу int AttachToFileServer(char *ServerName, WORD *ConnectionID); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: ServerName указатель на текстовую...
Отключение от файл-сервера
Отключение от файл-сервера void DetachFromFileServer(WORD ConnectionID); Параметры: ConnectionIDномер канала, распределенного серверу, от которого вы собираетесь отключиться...
Получить номер канала первичного сервера
Получить номер канала первичного сервера WORD GetPrimaryConnectionID(void); Функция возвращает номер канала первичного сервера....
Получить номер канала текущего сервера
Получить номер канала текущего сервера WORD GetDefaultConnectionID(void); Функция возвращает номер канала текущего сервера....
Установить предпочтительный сервер
Установить предпочтительный сервер void SetPreferredConnectionID(BYTE ConnectionID); Параметры: ConnectionIDномер канала для сервера, который должен стать предпочтительным...
Подключение к файл-серверу
Подключение к файл-серверу int LoginToFileServer(char *ObjectName, WORD ObjectType, char *ObjectPassword); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Obje...
Отключение от всех файл-серверов
Отключение от всех файл-серверов void Logout(void);...
Отключение от одного файл-сервера
Отключение от одного файл-сервера void LogoutFromFileServer(WORD ConnectionID); Параметры: ConnectionIDномер канала сервера, от которого выполняется отключение...
Получить имя тома по номеру тома
Получить имя тома по номеру тома int GetVolumeName(int VolumeNumber, char*VolumeName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: VolumeNumberномер тома, для которого...
Получить номер тома по имени тома
Получить номер тома по имени тома int GetVolumeNamber(char*VolumeName, int *VolumeNumber); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: VolumeNameимя томаVolumeNumberук...
Получить информацию о томе
Получить информацию о томе int GetVolumeInfoWithNumber(BYTE VolumeNumber, char *VolumeName, WORD *TotalBlocks, WORD *SectorsPerBlock, WORD *AvailableBlocks, WORD *TotalDirectorySlots,...
Создание нового элемента в таблице индексов каталога
Создание нового элемента в таблице индексов каталога int AllocPermanentDirectoryHandle(BYTE DirectoryHandle, char *DirectoryPath, char DriveLetter, BYTE *NewDirectoryHandle, BYTE *EffectiveRig...
Удаление элемента из таблицы индексов каталога
Удаление элемента из таблицы индексов каталога int DeallocateDirectoryHandle(BYTE DirectoryHandle); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: DirectoryHandleиндекс к...
Получить индекс каталога по номеру диска
Получить индекс каталога по номеру диска int GetDirectoryHandle(char Drive); Функция возвращает индекс каталога или 0 при ошибке. Параметры: Driveномер диска, для которого необходимо получить инд...
Создание временного элемента в таблице индексов каталога
Создание временного элемента в таблице индексов каталога int AllocTemporaryDirectoryHandle(BYTE DirectoryHandle, char *DirectoryPath, char DriveLetter, BYTE *NewDirectoryHandle, BYTE *Effecti...
Поиск подкаталогов в сетевых каталогах
Поиск подкаталогов в сетевых каталогах int ScanDirectoryInformation(BYTE DirectoryHandle, char *SearchDirectoryPath, int *SequenceNumber, char *DirectoryName, BYTE *CreationDateAndTime,...
Создание каталога
Создание каталога int CreateDirectory(BYTE DirectoryHandle, char* DirectoryPath, BYTE MaximumGightsMask); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: DirectoryHandle...
Переименование каталога
Переименование каталога int RenameDirectory(BYTE DirectoryHandle, char* DirectoryPath, char *NewDirectoryName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Directory...
Удаление каталога
Удаление каталога int DeleteDirectory(BYTE DirectoryHandle, char* DirectoryPath); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: DirectoryHandleиндекс каталога DirectoryP...
Получение маски прав доступа каталога
Получение маски прав доступа каталога int GetEffectiveDirectoryRights(BYTE DirectoryHandle, char *DirectoryPath, BYTE *EffectiveRightsMask); Функция возвращает 0 при успешном завершении или код...
Изменение атрибутов каталога
Изменение атрибутов каталога int SetDirectoryInformation(BYTE DirectoryHandle, char *DirectoryPath, BYTE *NewCreationDateAndTime, long NewOwnerObjectID, BYTE MaximumRightsMask); Функция возвр...
Изменение маски доступа каталога
Изменение маски доступа каталога int ModifyMaximumRightsMask(BYTE DirectoryHandle, char *DirectoryPath, BYTE RevokeRightsMask, BYTE GrantRightsMask); Функция возвращает 0 при успешном завер...
Поиск файлов
Поиск файлов int _ScanFileInformation(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes, int *SequenceNumber, char *FileName, BYTE *FileAttributes, BYTE *ExtendedFileAttributes, long...
Изменение атрибутов файла
Изменение атрибутов файла int SetFileInformation(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes, BYTE FileAttributes, BYTE ExtendedFileAttributes, char *CreationDate, char *LastAcc...
Получение байта расширенных атрибутов
Получение байта расширенных атрибутов int GetExtendedFileAttributes(char *FilePath, BYTE *ExtendedFileAttributes); Функция возвращает 0 при успешном завершении или код ошибки. Параметры:...
Изменение байта расширенных атрибутов
Изменение байта расширенных атрибутов int SetExtendedFileAttributes(char *FilePath, BYTE *NewExtendedFileattributes); Функция возвращает 0 при успешном завершении или код ошибки. Параметр...
Копирование файлов
Копирование файлов int FileServerFileCopy(int FromHandle, int ToHandle, long SourceFileOffset, long DestinationFileOffset, long NumberOfBytesToCopy, long *BytesCopied); Функция возвращает...
Удаление файлов
Удаление файлов int EraseFiles(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: DirectoryHandleиндекс...
Добавление файла в группу
Добавление файла в группу int LogFile(char *FileName, BYTE LockDirective,WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: FileNameпуть к файлу, который необх...
Удаление файла из группы
Удаление файла из группы int ClearFile(char *FileName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: FileNameпуть к файлу, который необходимо удалить из группы...
Удаление группы и разблокирование всех файлов
Удаление группы и разблокирование всех файлов void ClearFileSet(void);...
Блокирование группы файлов
Блокирование группы файлов int LockFileSet(WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Timeoutпериод времени (в 18-х долях секунды), в течение которого...
Разблокирование отдельных файлов
Разблокирование отдельных файлов int ReleaseFile(char *FileName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: FileNameпуть к файлу, который необходимо разблокировать...
Разблокирование всех файлов
Разблокирование всех файлов void ReleaseFileSet(void);...
Добавление физической записи в группу
Добавление физической записи в группу int LogPhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength, BYTE LockDirective,WORD Timeout); Функция возвращает 0 при успешном заверш...
Удаление записи из группы
Удаление записи из группы int ClearPhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: FileHandleи...
Разблокирование группы записей и удаление группы
Разблокирование группы записей и удаление группы void ClearPhysicalRecordSet(void);...
Блокирование группы физических записей
Блокирование группы физических записей int LockPhysicalRecordSet(BYTE LockDirective, WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: LockDirectiveпараметр L...
Разблокирование отдельных записей
Разблокирование отдельных записей int ReleasePhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: F...
Разблокирование всех физических записей
Разблокирование всех физических записей void ReleasePhysicalRecordSet(void);...
Добавление логической записи в группу
Добавление логической записи в группу int LogLogicalRecord(char LogicalRecordName, BYTE LockDirective,WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Logi...
Удаление логической записи из группы
Удаление логической записи из группы int ClearLogicalRecord(char LogicalRecordName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: LogicalRecordNameимя логической записи...
Разблокирование всех логических записей и удаление группы
Разблокирование всех логических записей и удаление группы void ClearLogicalRecordSet(void);...
Блокирование группы логических записей
Блокирование группы логических записей int LockLogicalRecordSet(WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Timeoutпериод времени (в 18-х долях секунды)...
Разблокирование отдельных логических записей
Разблокирование отдельных логических записей int ReleaseLogicalRecord(char LogicalRecordName); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: LogicalRecordNameимя логичес...
Разблокирование всех логических записей
Разблокирование всех логических записей void ReleaseLogicalRecordSet(void);...
Открытие семафора
Открытие семафора int OpenSemaphore(char *SemaphoreName, int InitialValue, long *SemaphoreHandle, WORD *OpenCount); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Sema...
Закрытие семафора
Закрытие семафора int CloseSemaphore(long SemaphoreHandle); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SemaphoreHandleиндекс семафора...
Определение состояния семафора
Определение состояния семафора int ExamineSemaphore(long SemaphoreHandle, int *SemaphoreValue, WORD *OpenCount); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Semapho...
Уменьшение значения семафора
Уменьшение значения семафора int WaitOnSemaphore(long SemaphoreHandle, WORD Timeout); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SemaphoreHandleиндекс семафора Timeou...
Увеличение значения семафора
Увеличение значения семафора int SignalSemaphore(long SemaphoreHandle); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SemaphoreHandleиндекс семафора...
Определение собственного уровня доступа
Определение собственного уровня доступа int GetBinderyAccessLevel(BYTE *SecurityAccessLevel, long *ObjectID); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SecurityAcces...
Получение имени и типа объекта по его идентификатору
Получение имени и типа объекта по его идентификатору int GetBinderyObjectName(long ObjectID, char *ObjectName, WORD *ObjectType); Функция возвращает 0 при успешном завершении или код ошибки. П...
Получение идентификатора объекта по его имени и типу
Получение идентификатора объекта по его имени и типу int GetBinderyObjectID(char *ObjectName,WORD ObjectType, long *ObjectID); Функция возвращает 0 при успешном завершении или код ошибки. Парамет...
Поиск объектов в базе Bindery
Поиск объектов в базе Bindery int ScanBinderyObject(char *SearchObjectName, WORD SearchObjectType, long *ObjectID, char *ObjectName, WORD *ObjectType, char *ObjectHasProperties, char *ObjectFlag...
Поиск записей для объектов
Поиск записей для объектов int ScanProperty(char *ObjectName, WORD ObjectType, char *SearchPropertyName, long *SequenceNumber, char *PropertyName, char *PropertyFlag, char *PropertySecurity, c...
Определение режима приема сообщений
Определение режима приема сообщений BYTE GetBroadcastMode(void); Функция возвращает значение в диапазона от 0 до 3, соответствующее текущему режиму приема сообщений....
Установка режима приема сообщений
Установка режима приема сообщений void SetBroadcastMode(BYTE BroadcastMode); Параметры: BroadcastModeновый режим приема сообщений...
Передача сообщений пользователям
Передача сообщений пользователям int SendBroadcastMessage(char *Message, WORD *ConnectionList, BYTE *ResultList, WORD ConnectionCount); Функция возвращает 0 при успешном завершении или код оши...
Запись сообщения в журнал
Запись сообщения в журнал int LogNetworkMessage(char *Message); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: Messagecообщение, которое должно быть записано в журнал (фа...
Прием сообщений
Прием сообщений int GetBroadcastMessage(char *MessageBuffer); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: MessageBufferбуфер для принимаемого сообщения...
Определение даты и времени
Определение даты и времени void GetFileServerDateAndTime(BYTE *DateAndTime); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: DateAndTimeуказатель на массив размером 7 байт...
Получение строк описания файл-сервера
Получение строк описания файл-сервера int GetFileServerDescriptionStrings(char *CompanyName, char *Revision, char *RevisionDate, char *CopyrightNotice); Функция возвращает 0 при успешном заве...
Определение имени файл-сервера
Определение имени файл-сервера void GetFileServerName(WORD ConnectionID, char *FileServerName); Параметры: ConnectionIDномер канала, используемый рабочей станцией для связи с файл-сервером FileSe...
Получение информации о файл-сервере
Получение информации о файл-сервере int GetServerInformation(int StructSize, FILE_SERV_INFO *ServerInfo); Параметры: StructSizeколичество байт, которые необходимо записать в структуру FILE_SERV_I...
Определение возможности подключения к файл-серверу
Определение возможности подключения к файл-серверу int GetFileServerLoginStatus(int *LoginEnabledFlag); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: LoginEnabledFlagпо...
Установка даты и времени
Установка даты и времени int SetFileServerDateAndTime(WORD Year, WORD Month, WORD Day, WORD Hour, WORD Minute, WORD Second); Параметры: Yearновое значение для года MonthмесяцDayдень месяц...
Запрет подключения к файл-серверу
Запрет подключения к файл-серверу int DisableFileServerLogin(void); Функция возвращает 0 при успешном завершении или код ошибки....
Разрешение подключения к файл-серверу
Разрешение подключения к файл-серверу int EnableFileServerLogin(void); Функция возвращает 0 при успешном завершении или код ошибки....
Останов файл-сервера
Останов файл-сервера int DownFileServer(int ForceFlag); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: ForceFlagпараметр определяет, надо ли завершать работу файл-сервера...
9.12. Работа с протоколом IPX
В этом разделе мы приведем описание тех функций, предназначенных для работы с протоколом IPX, которые были использованы в нашей книге. Полное описание дано в документации, поставляющейся с библиот...
Инициализация драйвера IPX
Инициализация драйвера IPX int IPXInitialize(void) ; Функция возвращает 0 при успешном завершении или код ошибки....
Открытие сокета
Открытие сокета int IPXOpenSocket(char *SocketNumber, char SocketType) ; Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SocketNumberуказатель на двухбайтовый массив, соде...
Закрытие сокета
Закрытие сокета int IPXCloseSocket(char *SocketNumber); Функция возвращает 0 при успешном завершении или код ошибки. Параметры: SocketNumberуказатель на двухбайтовый массив, содержащий значение з...
Прием IPX-пакета
Прием IPX-пакета void IPXListenForPacket(ECB *EventControlBlock); Параметры: EventControlBlockуказатель на блок ECB...
Передача пакета
Передача пакета void IPXSendPacket(ECB *EventControlBlock); Параметры: EventControlBlockуказатель на блок ECB...
Отмена блока ECB
Отмена блока ECB void IPXCancelEvent(ECB *EventControlBlock); Параметры: EventControlBlockуказатель на блок ECB...
Определение собственного сетевого адреса
Определение собственного сетевого адреса void IPXGetInternetworkAddress(IPXAddress *NetworkAddress) ; Параметры: NetworkAddressуказатель на массив из 12 байт, в который будет записан полный сетев...
Типы данных
Типы данныхСетевой адрес typedef struct IPXAddress { BYTE network[4]; BYTE node[6]; BYTE socket[2]; } IPXAddress; Заголовок пакета IPX typedef struct IPXHeader { WORD checkSum; WO...








Начало