Модуль "P2KApi" (часть 70) - TP2KAPI.WriteDataZ
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
function TP2KAPI.WriteDataZ(DevH: Thandle; Send_Data: Pointer; Send_Data_Size: dword): boolean; var HEvent: Thandle; rdata: array[1..256] of byte; rsize: dword; Ovr: OVERLAPPED; POvr,PRData:Pointer;
begin
result:= false;
HEvent:= CreateEvent(nil,true,false,nil);
ResetEvent(HEvent);
ovr.Internal:=0;
ovr.InternalHigh:= 0;
ovr.Offset:= 0;
ovr.OffsetHigh:=0;
ovr.hEvent:= Hevent;
rsize:=0;
// DeviceIOControl(DevH, $80002014, Send_Data, Send_Data_Size, @rdata, 5, rsize, @Ovr);
POvr:=@Ovr;
PRData:=@RData;
asm
push POvr
push 0
push 5h
push PRData
push Send_Data_Size
push Send_Data
push 80002014h
push DevH
call DeviceIOControl
end;
if WaitForSingleObject(HEvent, 10000) <> 0 then
begin
CancelIo(DevH);
CloseHandle(HEvent);
Log('WriteData DevIOCtl fail');
exit;
end
else
if not GetOverlappedResult(DevH, Ovr, rsize, false) then
begin
CancelIo(DevH);
CloseHandle(HEvent);
Log('WriteData GetOverlappedResult fail');
exit;
end
else
begin
CloseHandle(HEvent);
result:= true
end;
end;
Еще записи по теме
- Модуль "ObexFM" (часть 18) - OBEX_UploadFile
- Модуль "Пункты меню" (часть 19) - LoadMenuExFromFile
- Модуль "Стили звонка" (часть 8) - SetMelodiesToPhone
- Модуль "P2KFileManager" (часть 13) - MotoExecuteFile
- Модуль "P2KApi" (часть 49) - TP2KAPI.USB_WriteDataEx
- Модуль "Будильник" (часть 9)
- Главный модуль программы (часть 4) - Status_Notifyer
