Функция MbbDeviceReceiveDeviceServiceSessionData (mbbcx.h)
Клиентские драйверы вызывают метод MbbDeviceReceiveServiceSessionData для передачи полученных данных сеанса службы устройств в приложение через платформу MBBCx.
Синтаксис
void MbbDeviceReceiveDeviceServiceSessionData(
WDFDEVICE Device,
DSS_SESSION_ID SessionId,
WDFMEMORY Data
);
Параметры
Device
Дескриптор объекта устройства платформы, полученный из предыдущего вызова WdfDeviceCreate.
SessionId
Идентификатор сеанса службы устройств, полученного из предыдущего вызова MbbAdapterGetSessionId.
Data
Выделенный драйвером объект WDFMEMORY, содержащий данные для передачи в приложение.
Возвращаемое значение
Никакой
Замечания
Дополнительные сведения см. в разделе Обработка сеансов службы устройств.
Пример
В следующем примере показано, как драйвер клиента может передавать полученные данные DSS в обработчик получения DSS платформы.
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);
}
}
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1809 |
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.27 |
заголовка | mbbcx.h |
библиотеки | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |