用于驱动程序的 DO_DEVICE_INITIALIZING 注释

使用 _Kernel_clear_do_init_ 注释指定已注释的函数是否应清除设备对象“标志”字段中的 DO_DEVICE_INITIALIZING 位。

此注释具有以下语法:

_Kernel_clear_do_init_(yes|no)

调用一个使用 _Kernel_clear_do_init_(yes) 注释的函数可使调用函数无需清除 DO_DEVICE_INITIALIZING 位。

注释应几乎总是应用于函数成功返回时的一种条件上下文中,除非注释应用到函数类型定义上。例如,在下面的 DRIVER_ADD_DEVICE 函数类函数类型定义中,注释指定函数无法提升 IRQL,以及函数应清除 DO_DEVICE_INITIALIZING 位。


typedef
_IRQL_always_function_max_(PASSIVE_LEVEL)
_IRQL_requires_same_
_Kernel_clear_do_init_(yes)
__drv_functionClass(DRIVER_ADD_DEVICE)
NTSTATUS
DRIVER_ADD_DEVICE (
    _In_ struct _DRIVER_OBJECT *DriverObject,
    _In_ struct _DEVICE_OBJECT *PhysicalDeviceObject
    );
typedef DRIVER_ADD_DEVICE *PDRIVER_ADD_DEVICE;
 


相关主题

用于 Windows 驱动程序的 SAL 2.0 注释

 

 

显示:
© 2014 Microsoft