드라이버에 대한 DO_DEVICE_INITIALIZING 주석

드라이버에 대한 DO_DEVICE_INITIALIZING 주석

주석이 달린 함수가 장치 개체의 플래그 필드에서 DO_DEVICE_INITIALIZING 비트를 지워야 하는지 여부를 지정하려면 _Kernel_clear_do_init_ 주석을 사용합니다.

이 주석의 구문은 다음과 같습니다.

_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 주석

 

 

표시:
© 2016 Microsoft