EVT_MBB_DEVICE_SEND_DEVICE_SERVICE_SESSION_DATA fungsi panggilan balik (mbbcx.h)
Fungsi panggilan balik peristiwa EvtMbbDeviceSendServiceSessionData driver klien mengirimkan data sesi layanan perangkat ke perangkat modemnya.
Sintaks
EVT_MBB_DEVICE_SEND_DEVICE_SERVICE_SESSION_DATA EvtMbbDeviceSendDeviceServiceSessionData;
void EvtMbbDeviceSendDeviceServiceSessionData(
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 berisi data untuk diteruskan ke perangkat.
Nilai kembali
Tidak ada
Keterangan
MBBCx memanggil fungsi panggilan balik EvtMbbDeviceSendSendServiceSessionData driver klien saat aplikasi mengirim data DSS ke perangkat modem. Setelah mengirim data ke perangkat secara asinkron, driver klien harus memanggil MbbDeviceSendServiceSessionDataComplete sehingga MBBCx dapat membebaskan memori yang dialokasikan untuk data.
Contoh
Contoh berikut menunjukkan bagaimana klien mungkin mengirim data DSS ke perangkat modemnya. Penanganan kesalahan telah dibiarkan dari contoh ini untuk keringkasan dan kejelasan.
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);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, version 1809 |
Target Platform | Universal |
Versi KMDF minimum | 1.27 |
Header | mbbcx.h |
IRQL | PASSIVE_LEVEL |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk