[英]How to get number of bytes written successfully?
我正在做一個項目,將代碼從C ++轉換為C#用於打印機。 我用C#中的SerialPort.Write()
替換C ++中的WriteFile()
。
C#
public void Write(
byte[] buffer,
int offset,
int count
)
C ++
BOOL WINAPI WriteFile(
_In_ HANDLE hFile,
_In_ LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Out_opt_ LPDWORD lpNumberOfBytesWritten,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
在C ++中,我可以獲得用lpNumberOfBytesWritten編寫的字節數。 如何在C#中做同樣的事情?
在c#中我們可以使用如下的API調用,
[DllImport("kernel32.dll")]
static extern bool WriteFile(IntPtr hFile, byte [] lpBuffer,
uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten,
[In] ref System.Threading.NativeOverlapped lpOverlapped);
有關更多信息,請參閱http://www.pinvoke.net/default.aspx/kernel32.writefile
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.