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