EVT_MBB_DEVICE_SEND_DEVICE_SERVICE_SESSION_DATA Rückruffunktion (mbbcx.h)
Ein Clienttreiber EvtMbbDeviceSendServiceSessionData Ereignisrückruffunktion sendet Gerätedienstsitzungsdaten an sein Modemgerät.
Syntax
EVT_MBB_DEVICE_SEND_DEVICE_SERVICE_SESSION_DATA EvtMbbDeviceSendDeviceServiceSessionData;
void EvtMbbDeviceSendDeviceServiceSessionData(
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 WDFMEMORY-Objekt, das die Daten enthält, die an das Gerät übergeben werden sollen.
Rückgabewert
Nichts
Bemerkungen
MBBCx ruft die EvtMbbDeviceSendServiceSessionData Rückruffunktion eines Clienttreibers auf, wenn eine Anwendung DSS-Daten an das Modemgerät sendet. Nach dem asynchronen Senden der Daten an das Gerät muss der Clienttreiber MbbDeviceSendServiceSessionDataComplete aufrufen, damit MBBCx den für die Daten zugeordneten Speicher freigeben kann.
Beispiel
Das folgende Beispiel zeigt, wie ein Client DSS-Daten an sein Modemgerät senden kann. Die Fehlerbehandlung wurde in diesem Beispiel aus Platz und Klarheit herausgelassen.
VOID
MyEvtMbbDeviceSendServiceSessionData(
_In_ WDFDEVICE Device,
_In_ DSS_SESSION_ID SessionId,
_In_ WDFMEMORY Data
)
{
// Get the device context and NETADAPTER context
PMY_DEVICE_CONTEXT deviceContext = GetMyDeviceContext(Device);
// Set up a driver-defined DSS packet structure
PMY_DSS_PACKET packet = NULL;
// Get the data to send from the WDFMEMORY object
size_t bufferSize = 0;
PVOID buffer = WdfMemoryGetBuffer(Data,
&bufferSize);
// Populate the DSS packet
packet = MyAllocateDssPacket(Data,
buffer,
bufferSize,
SessionId);
// Send the data asynchronously, which returns STATUS_PENDING when successful
status = MyModemBusWriteData(deviceContext->BusHandle,
packet);
// Increment count of sent packets
deviceContext->DSSPacketsSentCount++;
// Clean up the memory
MbbDeviceSendServiceSessionDataComplete(Data,
status);
MyCleanupDssPacket(packet);
}
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1809 |
Zielplattform- | Universal |
Minimale KMDF-Version | 1.27 |
Header- | mbbcx.h |
IRQL- | PASSIVE_LEVEL |