Fungsi MbbDeviceReceiveDeviceServiceSessionData (mbbcx.h)

Driver klien memanggil metode MbbDeviceReceiveServiceSessionData untuk meneruskan data sesi layanan perangkat yang diterima hingga aplikasi melalui kerangka kerja MBBCx.

Sintaks

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

Parameter

Device

Handel ke objek perangkat kerangka kerja yang diperoleh driver klien dari panggilan sebelumnya ke WdfDeviceCreate.

SessionId

ID sesi layanan perangkat yang diperoleh dari panggilan sebelumnya ke MbbAdapterGetSessionId.

Data

Objek WDFMEMORY yang dialokasikan driver yang berisi data untuk diteruskan ke aplikasi.

Nilai kembali

Tidak ada

Keterangan

Untuk informasi selengkapnya, lihat Menangani sesi layanan perangkat.

Contoh

Contoh berikut menunjukkan bagaimana driver klien mungkin meneruskan data DSS yang diterima ke handler penerima DSS kerangka kerja.

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);
    }
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, version 1809
Target Platform Universal
Versi KMDF minimum 1.27
Header mbbcx.h
Pustaka mbbcxstub.lib
IRQL PASSIVE_LEVEL