EVT_UCM_CONNECTOR_SET_POWER_ROLE fungsi panggilan balik (ucmmanager.h)
Implementasi driver klien dari fungsi panggilan balik peristiwa EVT_UCM_CONNECTOR_SET_POWER_ROLE yang mengatur peran daya konektor ke peran yang ditentukan saat dilampirkan ke konektor mitra.
Sintaks
EVT_UCM_CONNECTOR_SET_POWER_ROLE EvtUcmConnectorSetPowerRole;
NTSTATUS EvtUcmConnectorSetPowerRole(
[in] UCMCONNECTOR Connector,
[in] UCM_POWER_ROLE PowerRole
)
{...}
Parameter
[in] Connector
Tangani ke konektor yang diterima driver klien dalam panggilan sebelumnya ke metode UcmConnectorCreate .
[in] PowerRole
Bendera UCM_POWER_ROLE-ketik 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_POWER_ROLE , klien harus memanggil UcmConnectorCreate.
Ekstensi kerangka kerja manajer konektor USB (UcmCx) dapat meminta UcmPowerRoleSink atau UcmPowerRoleSource. Jika port sudah dalam peran yang diminta, driver klien dapat menyelesaikan permintaan tanpa perubahan apa pun. Jika tidak, ia memulai operasi pertukaran peran daya (PR_Swap). Driver memanggil UcmConnectorPowerDirectionChanged 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 PR_Swap, driver klien harus menolak permintaan.
Contoh
EVT_UCM_CONNECTOR_SET_POWER_ROLE EvtSetPowerRole;
NTSTATUS
EvtSetPowerRole(
UCMCONNECTOR Connector,
UCM_POWER_ROLE PowerRole
)
{
PCONNECTOR_CONTEXT connCtx;
TRACE_INFO("EvtSetPowerRole(%!UCM_POWER_ROLE!) Entry", PowerRole);
connCtx = GetConnectorContext(Connector);
//PR_Swap operation.
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