Freigeben über


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

Siehe auch

IWDFDevice-

IWDFDevice::CommitPnpState

IWDFDevice::GetPnpState

WDF_PNP_STATE