Função MbbDeviceReceiveDeviceServiceSessionData (mbbcx.h)
Os drivers cliente chamam o método MbbDeviceReceiveServiceSessionData para passar dados de sessão de serviço de dispositivo recebidos para um aplicativo por meio da estrutura MBBCx.
Sintaxe
void MbbDeviceReceiveDeviceServiceSessionData(
WDFDEVICE Device,
DSS_SESSION_ID SessionId,
WDFMEMORY Data
);
Parâmetros
Device
Um identificador para um objeto de dispositivo de estrutura que o driver cliente obteve de uma chamada anterior para WdfDeviceCreate.
SessionId
A ID da sessão de serviço do dispositivo obtida de uma chamada anterior para MbbAdapterGetSessionId.
Data
Um objeto WDFMEMORY alocado pelo driver que contém os dados a serem passados para o aplicativo.
Retornar valor
Nenhum
Comentários
Para obter mais informações, consulte Manipulando sessões de serviço de dispositivo.
Exemplo
O exemplo a seguir mostra como um driver de cliente pode passar dados DSS recebidos para o manipulador de recebimento DSS da estrutura.
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1809 |
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.27 |
Cabeçalho | mbbcx.h |
Biblioteca | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |