Вниз
Скачать: CL | DM;

Как использовать средства DDK в Delphi   Найти похожие ветки 

← →
Th ©   (2002-10-08 21:09) [0]

Помогите плз кто знает!
Мне необходимо реализовать вот такой код в Delphi:

function OpenPorts;
type
plw=^longword;
var
PortHandle: THandle;
BytesReturned:plw;
err1,err2:boolean;
tgProcess:integer;
tgMask:byte;
IOCTL_SET_IOPM,IOCTL_ENABLE_IOPM_ON_PROCESSID:integer;

DevInfo:SP_Device_Info_Data;
DevNameSize:integer;
DevInfoSet:HDevInfo;
DevName:string;
DevDetailInfo:SP_Device_Interface_Detail_Data;
DevData:SP_Device_Interface_Data;
MemberIndex:integer;
begin
IOCTL_SET_IOPM:=CTL_CODE(_8SMCC_TYPE, $902, METHOD_BUFFERED, FILE_ANY_ACCESS);
IOCTL_ENABLE_IOPM_ON_PROCESSID:=CTL_CODE(_8SMCC_TYPE, $903, METHOD_BUFFERED, FILE_ANY_ACCESS);

DevInfoSet:=SetupDIGetClassDevs(pchar(_8SMCC1_ClassGUID),
0,
ProcessHWND,
DIGCF_DEVICEINTERFACE or DIGCF_PRESENT or DIGCF_PROFILE);

MemberIndex:=0;
DevData.cbSize:=sizeof(SP_Device_Interface_Data);
while SetupDIEnumDeviceInterfaces(DevInfoSet,
nil,
pchar(_8SMCC1_ClassGUID),
MemberIndex,
@DevData) and
(GetLastError<>ERROR_NO_MORE_ITEMS) do
begin
Inc(MemberIndex);
DevInfo.cbSize:=sizeof(SP_Device_Info_Data);
SetupDIGetDeviceInterfaceDetail(DevInfoSet,DevData,nil,0,DevNameSize,@DevInfo);

DevDetailInfo.cbSize:=sizeof(SP_Device_Interface_Detail_Data);
SetupDIGetDeviceInterfaceDetail(DevInfoSet,DevData,@DevDetailInfo,DevNameSize,DevNameSize,@DevInfo);

DevName:=string(DevDetailInfo.DevicePath);
end;

PortHandle:=CreateFile(PChar(DevName),
GENERIC_READ,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);

GetMem(BytesReturned,4);
err1:=DeviceIoControl(PortHandle,
IOCTL_ENABLE_IOPM_ON_PROCESSID,
@ProcessHWND,
4,
0,
4,
BytesReturned^,
0);

tgMask:=0; // Allows IO on all ports within the range of the Hole.
err2:=DeviceIoControl(PortHandle,
IOCTL_SET_IOPM,
@tgMask,
1,
nil,
0,
BytesReturned^,
nil);
result:=(PortHandle<>0)and err1 and err2;

FreeMem(BytesReturned,4);
CloseHandle(PortHandle);
end;


Delphi функций типа SetupDI... не понимает, равно как и структур данных.

Что надо сделать, чтобы понимала???


← →
Ученик ©   (2002-10-08 22:30) [1]

ftp://delphi-jedi.org/api/SetupAPI.zip


← →
Th ©   (2002-10-09 12:14) [2]

Пасиба!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-27971
vaneks
2002-11-27 09:13
2002.12.09
WinXP Style


14-28271
Masterlomaster
2002-11-19 07:03
2002.12.09
ПОМОГИТЕ ПЛИЗ,,,,,,,,,,,,,,, ЧЁРТ ЧЁ ДЕЛАТЬ!!!!!!!!!!!! ПОМОГИТЕ!


3-27904
Игорь, г.Алапаевск
2002-11-21 17:06
2002.12.09
Упаковать таблицу


3-27868
Bill
2002-11-21 12:08
2002.12.09
Проблема с свойством FILTER


3-27876
skiph
2002-11-21 06:35
2002.12.09
Ошибка запроса




   Наверх