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

       

Программа DIRMAP


При помощи программы DIRMAP (листинг 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); }



Содержание раздела