Función MbbDeviceReceiveDeviceServiceSessionData (mbbcx.h)
Los controladores de cliente llaman al método MbbDeviceReceiveServiceSessionData para pasar los datos de sesión del servicio de dispositivo recibidos hasta una aplicación a través del marco MBBCx.
Sintaxis
void MbbDeviceReceiveDeviceServiceSessionData(
WDFDEVICE Device,
DSS_SESSION_ID SessionId,
WDFMEMORY Data
);
Parámetros
Device
Identificador de un objeto de dispositivo de marco que el controlador cliente obtuvo de una llamada anterior a WdfDeviceCreate.
SessionId
Identificador de la sesión del servicio de dispositivo obtenida de una llamada anterior a MbbAdapterGetSessionId.
Data
Objeto WDFMEMORY asignado por el controlador que contiene los datos que se van a pasar a la aplicación.
Valor devuelto
None
Observaciones
Para obtener más información, consulte Control de sesiones de servicio de dispositivos.
Ejemplo
En el ejemplo siguiente se muestra cómo un controlador de cliente puede pasar datos DSS recibidos al controlador de recepción de DSS del marco.
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);
}
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1809 |
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.27 |
Encabezado | mbbcx.h |
Library | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |