Freigeben über


MbbDeviceReceiveDeviceServiceSessionData-Funktion (mbbcx.h)

Clienttreiber rufen die MbbDeviceReceiveServiceSessionData Methode auf, um empfangene Gerätedienstsitzungsdaten über das MBBCx-Framework an eine Anwendung zu übergeben.

Syntax

void MbbDeviceReceiveDeviceServiceSessionData(
  WDFDEVICE      Device,
  DSS_SESSION_ID SessionId,
  WDFMEMORY      Data
);

Parameter

Device

Ein Handle zu einem Framework-Geräteobjekt, das der Clienttreiber aus einem vorherigen Aufruf von WdfDeviceCreateabgerufen hat.

SessionId

Die ID der Gerätedienstsitzung, die aus einem vorherigen Aufruf von MbbAdapterGetSessionIdabgerufen wurde.

Data

Ein vom Treiber zugewiesenes WDFMEMORY-Objekt, das die Daten enthält, die an die Anwendung übergeben werden sollen.

Rückgabewert

Nichts

Bemerkungen

Weitere Informationen finden Sie unter Behandeln von Gerätedienstsitzungen.

Beispiel

Das folgende Beispiel zeigt, wie ein Clienttreiber empfangene DSS-Daten an den DSS-Empfangshandler des Frameworks übergeben kann.

VOID
MyReceiveDssData(
    _In_ PMY_DEVICE_CONTEXT DeviceContext,
    _In_ ULONG SessionId,
    _In_ PUCHAR InBuffer,
    _In_ ULONG InBufferSize
)
{
    NTSTATUS status = STATUS_SUCCESS;
    WDFMEMORY data;

    // Allocate the WDFMEMORY object from the received data buffer
    status = WdfMemoryAllocatePreallocated(WDF_NO_OBJECT_ATTRIBUTES,
                                            InBuffer,
                                            InBufferSize,
                                            &data);

    // Pass the received data to the framework
    if(NT_SUCCESS(status))
    {
        DeviceContext->DSSPacketsReceivedCount++;

        MbbDeviceReceiveServiceSessionData(DeviceContext->WdfDevice,
                                            SessionId,
                                            data);
        WdfObjectDelete(data);
    }
}

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1809
Zielplattform- Universal
Minimale KMDF-Version 1.27
Header- mbbcx.h
Library mbbcxstub.lib
IRQL- PASSIVE_LEVEL