Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
[Win32] Как создать substed диск из под Win32? 07.12.01 15:27 Число просмотров: 1073
Автор: 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.
|
<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 дизассемблируй, поковыряйся и может найдешь что нужно...
|
|
|