Freigeben über


DO_DEVICE_INITIALIZING Anmerkung für Treiber

Verwenden Sie die _Kernel_clear_do_init_ Anmerkung, um anzugeben, ob die kommentierte Funktion das DO_DEVICE_INITIALIZING Bit im Feld Flags des Geräteobjekts löschen soll.

Diese Anmerkung weist die folgende Syntax auf:

_Kernel_clear_do_init_(yes|no)

Durch das Aufrufen einer Funktion, die mit _Kernel_clear_do_init_(ja) versehen ist, muss die aufrufende Funktion das DO_DEVICE_INITIALIZING Bit löschen.

Die Anmerkung sollte fast immer in einem bedingten Kontext verwendet werden, wenn die Funktion erfolgreich zurückgibt, es sei denn, die Anmerkung wird auf eine Funktionstypdefinition angewendet. Beispielsweise geben die Anmerkungen in der folgenden Funktionstypdefinition für die DRIVER_ADD_DEVICE-Funktionsklasse an, dass die Funktion den IRQL nicht auslösen kann und dass die Funktion das DO_DEVICE_INITIALIZING Bit löschen soll.

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;

SAL 2.0-Anmerkungen für Windows-Treiber