还是在看驱动代码,看到了这个:
WDFDEVICE hDevice;
我去找WDFDEVICE
的定义
DECLARE_HANDLE( WDFDEVICE );
然后我又去找DECLARE_HANDLE
的定义
#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name
看懂是啥意思了吗
这相当于定义了一个WDFDEVICE
结构体
#include
#include
#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name
//struct WDFDEVICE__ {
// int unused;
//};
//
//typedef struct WDFDEVICE__* WDFDEVICE;
int main() {
DECLARE_HANDLE(test_struct_name);
test_struct_name test_struct = (test_struct_name)malloc(sizeof(test_struct_name__));
if (NULL == test_struct) return 0;
test_struct->unused = 123;
printf("%d\n", test_struct->unused);
return 0;
}