问个C语言基础知识
最近在看WDM的例子Toaster,里面一个基础知识不会,半天没想通,谁给解释一下:
1、看下面定义:
#define TOASTER_POOL_TAG (ULONG) 'saoT'
印象中单引号‘’只能定义字符,例如‘a’ '\n'等等,这一连串的字符被单引号括起来是什么意思?代表字符串常量?其前面为什么用ULONG做转换?代表什么意思?
2、定义DEVICE_OBJECT的扩展部分:
typedef struct _FDO_DATA
{
ULONG Signature;
PDEVICE_OBJECT Self;
...
}FDO_DATA, *PFDO_DATA;
这个Signature怎么用,其实还是问题1
3、下面这个展开是什么:
ToasterDebugPrint(TRACE, "Entered DriverEntry of "_DRIVER_NAME_" version "
"built on " __DATE__" at "__TIME__ "\n");
没找到ToasterDebugPrint、_DRIVER_NAME_等得定义哈。
基础知识大家伙儿莫笑,谢谢!