Compartilhar via


Método IWDFDevice::SetPnpState (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução aoda UMDF .]

O método SetPnpState ativa ou desativa (ou define para o estado padrão) a propriedade PnP (Plug and Play) especificada de um dispositivo.

Sintaxe

void SetPnpState(
  [in] WDF_PNP_STATE State,
  [in] WDF_TRI_STATE Value
);

Parâmetros

[in] State

Um valor WDF_PNP_STATEdigitado que identifica a propriedade PnP a ser definida.

[in] Value

Um valor tipo WDF_TRI_STATE que identifica como definir a propriedade PnP especificada State. A tabela a seguir mostra os valores possíveis para Value.

Valor Significado
WdfUseDefault (0) Defina a propriedade PnP como o estado padrão.
WdfFalse (1) Desative a propriedade PnP.
WdfTrue (2) Ative a propriedade PnP.

Valor de retorno

Nenhum

Observações

Antes que o estado da propriedade PnP que setPnpState conjunto possa entrar em vigor, o driver deve chamar o método IWDFDevice::CommitPnpState.

Exemplos

O exemplo de código a seguir mostra como indicar que um dispositivo falhou como resultado de uma solicitação.

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();
}

Requisitos

Requisito Valor
fim do suporte Indisponível no UMDF 2.0 e posterior.
da Plataforma de Destino Área de trabalho
versão mínima do UMDF 1.5
cabeçalho wudfddi.h (inclua Wudfddi.h)
de DLL WUDFx.dll

Consulte também

IWDFDevice

IWDFDevice::CommitPnpState

IWDFDevice::GetPnpState

WDF_PNP_STATE