EVT_UCM_CONNECTOR_SET_DATA_ROLE fungsi panggilan balik (ucmmanager.h)
Implementasi driver klien dari fungsi panggilan balik peristiwa EVT_UCM_CONNECTOR_SET_DATA_ROLE yang menukar peran data konektor ke peran yang ditentukan saat dilampirkan ke konektor mitra.
Sintaks
EVT_UCM_CONNECTOR_SET_DATA_ROLE EvtUcmConnectorSetDataRole;
NTSTATUS EvtUcmConnectorSetDataRole(
[in] UCMCONNECTOR Connector,
[in] UCM_DATA_ROLE DataRole
)
{...}
Parameter
[in] Connector
Tangani ke konektor yang diterima driver klien dalam panggilan sebelumnya ke metode UcmConnectorCreate .
[in] DataRole
Bendera UCM_TYPEC_PARTNER-typed yang menentukan peran yang akan diatur.
Nilai kembali
Jika operasi berhasil, fungsi panggilan balik harus mengembalikan STATUS_SUCCESS, atau nilai status lain yang NT_SUCCESS(status) sama dengan TRUE. Jika tidak, itu harus mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE.
Keterangan
Untuk mendaftarkan fungsi panggilan balik EVT_UCM_CONNECTOR_SET_DATA_ROLE , driver klien harus memanggil UcmConnectorCreate.
Ekstensi kerangka kerja manajer konektor USB (UcmCx) dapat meminta UcmTypeCPortStateUfp atau UcmTypeCPortStateDfp. Jika port sudah dalam peran yang diminta, driver klien dapat menyelesaikan permintaan tanpa perubahan apa pun. Jika tidak, operasi pertukaran peran data dimulai (DR_Swap). Driver memanggil UcmConnectorDataDirectionChanged untuk memberi tahu UcmCx tentang keberhasilan atau kegagalan operasi itu. Driver dapat memanggil metode tersebut dalam fungsi panggilan balik.
Peran berlanjut untuk koneksi saat ini.
Jika operasi pertukaran peran tertunda, UcmCx tidak meminta pertukaran peran lain. Operasi tersebut diserialisasikan di seluruh pertukaran peran daya dan data.
Setelah operasi pertukaran selesai, jika port mitra mengirim permintaan DR_Swap, driver klien harus menolak permintaan.
Contoh
EVT_UCM_CONNECTOR_SET_DATA_ROLE EvtSetDataRole;
NTSTATUS
EvtSetDataRole(
UCMCONNECTOR Connector,
UCM_TYPE_C_PORT_STATE DataRole
)
{
PCONNECTOR_CONTEXT connCtx;
TRACE_INFO("EvtSetDataRole(%!UCM_TYPE_C_PORT_STATE!) Entry", DataRole);
connCtx = GetConnectorContext(Connector);
TRACE_FUNC_EXIT();
return STATUS_SUCCESS;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 |
Server minimum yang didukung | Server Windows 2016 |
Target Platform | Windows |
Versi KMDF minimum | 1.15 |
Versi UMDF minimum | 2.15 |
Header | ucmmanager.h (termasuk Ucmcx.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
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