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


Листинг 9



Листинг 9

Отображение локальных дисков на // сетевые каталоги // Файл dirmap\dirmap.cpp // // (C) A. Frolov, 1993 // =================================================== #include <stdlib.h> #include <stdio.h> #include <string.h> #include <time.h> #define BYTE unsigned char #define WORD unsigned int extern "C" int GetNetWareShellVersion(char *,char *, char *); extern "C" int AllocPermanentDirectoryHandle(BYTE, char *, char, BYTE*, BYTE*); void main(int argc, char *argv[]) { char MajorVersion=0; char MinorVersion=0; char Revision=0; BYTE NewDirectoryHandle; BYTE RightsMask; int ccode; printf("\n*DIRMAP* (C) Frolov A., 1993\n"); // Проверяем наличие сетевой оболочки asm push si GetNetWareShellVersion(&MajorVersion, &MinorVersion, &Revision); asm pop si if(MajorVersion == 0) { printf("\nОболочка NetWare не загружена\n"); return; } // Необходимо задать букву, обозначающую имя // локального диска и путь к сетевому каталогу if(argc < 3) { printf("Укажите локальный диск и путь " "к каталогу, \nнапример: dirmap f sys:users\n"); return; } // Параметры должны быть заданы заглавными буквами strupr(argv[1]); strupr(argv[2]); // Создаем новый индекс каталога и отображаем диск ccode = AllocPermanentDirectoryHandle(0, argv[2], argv[1][0], &NewDirectoryHandle, &RightsMask); // Если ошибок не было, выводим индекс каталога // и маску прав для каталога if(!ccode) printf("Индекс каталога: %d, маска прав: %02.2X\n", NewDirectoryHandle, RightsMask); else printf("Ошибка %02.2X\n", ccode); }







Начало  Назад  Вперед