информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как создать substed диск из под Win32? 07.12.01 14:25  Число просмотров: 1119
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> а запусти команду subst

Это не интересно. Охота узнать можно ли это сделать из Win32 приложения, и если можно то как.
<programming>
[Win32] Как создать substed диск из под Win32? 06.12.01 18:38  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я знаю только функцию 21h-го прерывания. (DOS)
А как сделать subj из Win32?
[Win32] Как создать substed диск из под Win32? 07.12.01 15:27  
Автор: cb <cb> Статус: Member
<"чистая" ссылка>
> Я знаю только функцию 21h-го прерывания. (DOS)
> А как сделать subj из Win32?

RTFM однако... ;))

DefineDosDevice(DDD_RAW_TARGET_PATH, "K:", "\\??\\c:\\tmp");

#define DDD_RAW_TARGET_PATH 0x00000001
#define DDD_REMOVE_DEFINITION 0x00000002
#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
#define DDD_NO_BROADCAST_SYSTEM 0x00000008

BOOL
DefineDosDeviceA(
DWORD dwFlags,
LPCSTR lpDeviceName,
LPCSTR lpTargetPath
);

cb.
[Win32] Как создать substed диск из под Win32? 13.12.01 15:29  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А под Win9x?
[Win32] Как создать substed диск из под Win32? 13.12.01 19:59  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> А под Win9x?

В Win98 юзай DefineDosDevice(), она там реализована (хотя в MSDN написано Win9x unsupported - это неправда, мало ли чего там пишут :-))
В Win95 она и правда только заглушка, возвращающая ошибку, поэтому в Win95 вызывай Int 21h/AX=71AAh через VWIN32.VXD
[Win32] Как создать substed диск из под Win32? 14.12.01 16:30  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > А под Win9x?
>
> В Win98 юзай DefineDosDevice(), она там реализована (хотя в
> MSDN написано Win9x unsupported - это неправда, мало ли
> чего там пишут :-))
> В Win95 она и правда только заглушка, возвращающая ошибку,
> поэтому в Win95 вызывай Int 21h/AX=71AAh через VWIN32.VXD

А как его вызвать, в MS SDK есть пример для вызова только IOCTL функций 21-го прерывания через VWIN32.VXD, а как вызвать произвольную функцию?
[Win32] Как создать substed диск из под Win32? 14.12.01 20:10  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
В VWIN32.VXD есть сервис Int21h_Dispatch, через него kernel32.dll вызывает Int 21h. Ну а чем мы хуже kernel32.dll ? :-))
Про это безобразие можно почитать у Мэтта Питрека.

Из k32.def сделать lib и линковать subst.cpp c ним

; ---- k32.def ----
LIBRARY KERNEL32
EXPORTS
        _VxDcall @9

// ---- subst.cpp 
extern "C" int _declspec(dllimport) _VxDcall;

void main()
{
  char szSubstPath[] = "c:\\1";
  
  _asm 
  {
     mov    eax, 71AAh
     mov    ebx, 'M' - 'A'+1
     lea    edx, szSubstPath
     push   ecx
     push   eax
     push   2A0010h   // Int21h_Dispatch
     call   _VxDcall
  }
}

---
[Win32] Как создать substed диск из под Win32? 06.12.01 19:06  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
а запусти команду subst
[Win32] Как создать substed диск из под Win32? 07.12.01 14:25  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> а запусти команду subst

Это не интересно. Охота узнать можно ли это сделать из Win32 приложения, и если можно то как.
[Win32] Как создать substed диск из под Win32? 07.12.01 14:51  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> > а запусти команду subst
>
> Это не интересно. Охота узнать можно ли это сделать из
> Win32 приложения, и если можно то как.

Можно, это совершенно точно.
FAR например под Win98/ME/NT/2K позволяет удалять substо'вый диск клавишей Del в в меню выбора дисков.
Возьми subst.exe из NT/2K и посмотри, какие он API юзает.
В крайнем случае можно вызвать Int 21h (поищи по доске, я давал пример как вызывать Int 21h из Win32 прог), но это только для Win9x
[Win32] Как создать substed диск из под Win32? 07.12.01 14:42  
Автор: NeuronViking_IForgotMyPassword Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > а запусти команду subst
>
> Это не интересно. Охота узнать можно ли это сделать из
> Win32 приложения, и если можно то как.
а ты subst дизассемблируй, поковыряйся и может найдешь что нужно...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach