IWDFDevice::SetPnpState-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die SetPnpState--Methode aktiviert oder deaktiviert (oder auf den Standardzustand festgelegt) die angegebene Plug and Play -Eigenschaft (PnP) eines Geräts.
Syntax
void SetPnpState(
[in] WDF_PNP_STATE State,
[in] WDF_TRI_STATE Value
);
Parameter
[in] State
Ein WDF_PNP_STATE-typed-Wert, der die festzulegende PnP-Eigenschaft identifiziert.
[in] Value
Ein WDF_TRI_STATE typisierter Wert, der angibt, wie die PnP-Eigenschaft festgelegt wird, die State angibt. In der folgenden Tabelle sind die möglichen Werte für Valueaufgeführt.
Wert | Bedeutung |
---|---|
WdfUseDefault- (0) | Legen Sie die PnP-Eigenschaft auf den Standardzustand fest. |
WdfFalse- (1) | Deaktivieren Sie die PnP-Eigenschaft. |
WdfTrue- (2) | Aktivieren Sie die PnP-Eigenschaft. |
Rückgabewert
Nichts
Bemerkungen
Bevor der Zustand der PnP-Eigenschaft, die SetPnpState- festgelegt wird, wirksam werden kann, muss der Treiber die IWDFDevice::CommitPnpState-Methode aufrufen.
Beispiele
Das folgende Codebeispiel zeigt, wie sie angeben, dass ein Gerät aufgrund einer Anforderung fehlgeschlagen ist.
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();
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.5 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |