UCHAR或WCHAR用于通信缓冲区
UCHAR or WCHAR for communication buffer
我有一个缓冲区:
typedef struct _MESSAGE {
UCHAR Data[];
} MESSAGE, *PMESSAGE;
用于驱动程序和用户模式应用程序之间的通信(传递参数,如ulong)。我将其用作UCHAR类型。但现在我还想用这个缓冲区发送宽字符,如果我改变它的类型改成WCHAR还是PCHAR?
什么数据类型在这里是更好的套件?
您不需要更改数据类型,它是一个通用字节(原始数据流类型)。
typedef struct _MESSAGE {
UCHAR Data[200];
} MESSAGE_T, *PMESSAGE_T;
int byte_offset = 0; // byte offset inside your data stream
wchar_t MyMessage1[] = L"Ciao Mondo";
wchar_t MyMessage2[100];
MESSAGE_T Message;
// write message1 in the data stream
wcscpy( (wchar_t*)&Message.Data[byte_offset], MyMessage1);
// read message from the data stream
wcscpy( MyMessage2, (wchar_t*)&Message.Data[byte_offset]);
// TESTED AND WORK!
为什么不使用字节数组呢?BYTE*
吗?如果我没记错的话,您还可以将void*传递给驱动程序,并在那里将其作为结构体读取。
相关文章:
- C++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- Xaudio2在更改缓冲区或循环时弹出声音
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 混合int并在通信缓冲区中浮动
- 如何处理C++中的通信缓冲区
- ClearCommError中的串行通信在读取缓冲区中找不到任何数据
- 谷歌协议缓冲区与JSON:C++到C#通信
- 将整数转换为字符缓冲区以进行串行通信
- UCHAR或WCHAR用于通信缓冲区
- 用于通信的二进制缓冲区,c++
- 与Thrift或协议缓冲区的双向通信
- 协议缓冲区-Google protobuf:推荐使用C++库来处理通信