Metode IWDFDevice::SetPnpState (wudfddi.h)
[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]
Metode SetPnpState mengaktifkan atau menonaktifkan (atau mengatur ke status default) properti Plug and Play (PnP) yang ditentukan dari perangkat.
Sintaks
void SetPnpState(
[in] WDF_PNP_STATE State,
[in] WDF_TRI_STATE Value
);
Parameter
[in] State
Nilai jenis WDF_PNP_STATE yang mengidentifikasi properti PnP untuk diatur.
[in] Value
Nilai WDF_TRI_STATE-ketik yang mengidentifikasi cara mengatur properti PnP yang ditentukan Status . Tabel berikut ini memperlihatkan nilai yang mungkin untuk Nilai.
Nilai | Makna |
---|---|
WdfUseDefault (0) | Atur properti PnP ke status default. |
WdfFalse (1) | Matikan properti PnP. |
WdfTrue (2) | Aktifkan properti PnP. |
Nilai kembali
Tidak ada
Keterangan
Sebelum status properti PnP yang ditetapkan SetPnpState dapat berlaku, driver harus memanggil metode IWDFDevice::CommitPnpState .
Contoh
Contoh kode berikut menunjukkan cara menunjukkan bahwa perangkat gagal sebagai hasil dari permintaan.
VOID
CUmdfHidDevice::OnCompletion(
__in IWDFIoRequest* WdfRequest,
__in IWDFIoTarget* /* WdfTarget */,
__in IWDFRequestCompletionParams* WdfCompletionParams,
__in PVOID /* Context */
)
{
ULONG_PTR bytesRead;
if (!SUCCEEDED(WdfCompletionParams->GetCompletionStatus()))
{
m_WdfDevice->SetPnpState(WdfPnpStateFailed, WdfTrue);
m_WdfDevice->CommitPnpState();
return;
}
// Lock the device to prevent files from closing.
m_WdfDevice->AcquireLock();
// Retrieve the number of bytes that were read.
bytesRead = WdfCompletionParams->GetInformation();
// Process the reports.
ProcessInputReports((PBYTE) m_ReadMemory->GetDataBuffer(NULL), bytesRead);
m_WdfDevice->ReleaseLock();
// Release the request.
m_InterruptReadRequest = NULL;
WdfRequest->DeleteWdfObject();
// Send a new request.
SendInterruptPipeRead();
}
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1,5 |
Header | wudfddi.h (termasuk Wudfddi.h) |
DLL | WUDFx.dll |
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