Compartilhar via


DO_DEVICE_INITIALIZING anotação para drivers

Use a anotação _Kernel_clear_do_init_ para especificar se a função anotada deve limpar o bit DO_DEVICE_INITIALIZING no campo Sinalizadores do objeto do dispositivo.

Essa anotação tem a seguinte sintaxe:

_Kernel_clear_do_init_(yes|no)

Chamar uma função anotada com _Kernel_clear_do_init_(sim) isenta a função de chamada de ter que limpar a DO_DEVICE_INITIALIZING bit.

A anotação quase sempre deve ser usada em um contexto condicional quando a função retorna êxito, a menos que a anotação seja aplicada a uma definição de tipo de função. Por exemplo, na seguinte definição de tipo de função para a classe de função DRIVER_ADD_DEVICE, as anotações especificam que a função não pode gerar o IRQL e que a função deve limpar o bit 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;

Anotações de SAL 2.0 para drivers do Windows