EVT_URS_SET_ROLE Rückruffunktion (ursdevice.h)

Die URS-Klassenerweiterung ruft diesen Ereignisrückruf auf, wenn der Clienttreiber die Rolle des Controllers ändern muss.

Syntax

EVT_URS_SET_ROLE EvtUrsSetRole;

NTSTATUS EvtUrsSetRole(
  [in] WDFDEVICE Device,
  [in] URS_ROLE Role
)
{...}

Parameter

[in] Device

Ein Handle für das Framework-Geräteobjekt, das der Clienttreiber im vorherigen Aufruf von WdfDeviceCreate abgerufen hat.

[in] Role

Ein URS_ROLE Typwert, der die rolle angibt, die für das Controllergerät festgelegt werden soll.

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion STATUS_SUCCESS oder einen anderen status Wert zurückgeben, für den NT_SUCCESS(status) true entspricht. Andernfalls muss ein status Wert zurückgegeben werden, für den NT_SUCCESS(status) false entspricht.

Hinweise

Um die Implementierung des Ereignisrückrufs durch den Clienttreiber zu registrieren, muss der Treiber das EvtUrsSetRole-Element von URS_CONFIG auf einen Funktionszeiger der Implementierungsmethode festlegen und dann die UrsDeviceInitialize-Methode aufrufen, indem die aufgefüllte Struktur übergeben wird. Der Treiber muss die -Methode aufrufen, nachdem er das Framework-Geräteobjekt für den Controller erstellt hat.

Beispiele



NTSTATUS
EvtUrsSetRole (
    _In_ WDFDEVICE Device,
    _In_ URS_ROLE Role
    )
{
    NTSTATUS status;
    PFDO_CONTEXT fdoContext;

    TRACE_FUNC_ENTRY(TRACE_FLAG);
    TRY {


           // Change the current role of the controller to the specified role.
           // The driver might have stored the control registers in the device context. 
           // Read and write the register to get and set the current role. 

        }


        TRACE_INFO(TRACE_FLAG, "[Device: 0x%p] Successfully set role to %!URS_ROLE!", Device, Role);

        status = STATUS_SUCCESS;

    } FINALLY {

    }

    TRACE_FUNC_EXIT(TRACE_FLAG);

    return status;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Windows
KMDF-Mindestversion 1.15
Kopfzeile ursdevice.h (include Urscx.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

UrsDeviceInitialize