簡體   English   中英

如何成功寫入字節數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM