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 |