Bagikan melalui


DO_DEVICE_INITIALIZING anotasi untuk driver

Gunakan anotasi _Kernel_clear_do_init_ untuk menentukan apakah fungsi anotasi diharapkan menghapus bit DO_DEVICE_INITIALIZING di bidang Bendera objek perangkat.

Anotasi ini memiliki sintaks berikut:

_Kernel_clear_do_init_(yes|no)

Memanggil fungsi yang dianotasikan dengan _Kernel_clear_do_init_(ya) mengecualikan fungsi panggilan agar tidak perlu menghapus bit DO_DEVICE_INITIALIZING.

Anotasi hampir selalu harus digunakan dalam konteks bersyarat ketika fungsi mengembalikan keberhasilan, kecuali anotasi diterapkan ke definisi jenis fungsi. Misalnya, dalam definisi jenis fungsi berikut untuk kelas fungsi DRIVER_ADD_DEVICE, anotasi menentukan bahwa fungsi tidak dapat menaikkan IRQL dan bahwa fungsi diharapkan untuk menghapus 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;

Anotasi SAL 2.0 untuk Driver Windows