다음을 통해 공유


IWDFDevice::SetPnpState 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.

SetPnpState 메서드는 디바이스의 지정된 PnP(플러그 앤 플레이) 속성을 켜거나 끕니다(또는 기본 상태로 설정).

통사론

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

매개 변수

[in] State

설정할 PnP 속성을 식별하는 WDF_PNP_STATE형식화된 값입니다.

[in] Value

State 지정하는 PnP 속성을 설정하는 방법을 식별하는 WDF_TRI_STATE 형식의 값입니다. 다음 표에서는 Value가능한 값을 보여 주세요.

의미
WdfUseDefault (0) PnP 속성을 기본 상태로 설정합니다.
WdfFalse (1) PnP 속성을 끕니다.
WdfTrue (2) PnP 속성을 켭니다.

반환 값

없음

발언

SetPnpState 집합을 PnP 속성의 상태가 적용되기 전에 드라이버는 IWDFDevice::CommitPnpState 메서드를 호출해야 합니다.

예제

다음 코드 예제에서는 요청의 결과로 디바이스가 실패했음을 나타내는 방법을 보여 있습니다.

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

요구 사항

요구
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 바탕 화면
최소 UMDF 버전 1.5
헤더 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

참고 항목

IWDFDevice

IWDFDevice::CommitPnpState

IWDFDevice::GetPnpState

WDF_PNP_STATE