Hallo,
wie übergebe ich einen String an einen VxD-Treiber mit
DeviceIOControl?
Die Parameter sehen wie folgt aus:
<pre>
DeviceIoControl(
hDevice: Cardinal, // VxD-Handle
dwIoControlCode: Cardinal, // gibt die auszuführende Operation an
lpInBuffer: Pointer, // für die zu übergebenden Daten ???
nInBufferSize:Cardinal, // Größe für "oben"
lpOutBuffer:Pointer, // Puffer für die empfangenen Daten ???
nOutBufferSize: Cardinal, // Größe ...
lpBytesReturned:Cardinal, // ???
lpOverlapped: POOverlapped // ???
);
</pre>
Nun versuche ich den Aufruf so zu gestalten:
<pre>
var
hVxD : THandle;
Puffer : PChar;
begin
hVxD:= CreateFile (...);
Puffer:= 'Hallo World';
DIOC (hVxD,1,
Puffer,
SizeOf (Puffer),
nil,
0,
Returned,
0);
end;
</pre>
Was mache ich falsch?
Tschüss Tim
wie übergebe ich einen String an einen VxD-Treiber mit
DeviceIOControl?
Die Parameter sehen wie folgt aus:
<pre>
DeviceIoControl(
hDevice: Cardinal, // VxD-Handle
dwIoControlCode: Cardinal, // gibt die auszuführende Operation an
lpInBuffer: Pointer, // für die zu übergebenden Daten ???
nInBufferSize:Cardinal, // Größe für "oben"
lpOutBuffer:Pointer, // Puffer für die empfangenen Daten ???
nOutBufferSize: Cardinal, // Größe ...
lpBytesReturned:Cardinal, // ???
lpOverlapped: POOverlapped // ???
);
</pre>
Nun versuche ich den Aufruf so zu gestalten:
<pre>
var
hVxD : THandle;
Puffer : PChar;
begin
hVxD:= CreateFile (...);
Puffer:= 'Hallo World';
DIOC (hVxD,1,
Puffer,
SizeOf (Puffer),
nil,
0,
Returned,
0);
end;
</pre>
Was mache ich falsch?
Tschüss Tim
Comment