USBFN_SET_DEVICE_STATE 콜백 함수(usbfnattach.h)

디바이스 상태 및 운영 버스 속도를 설정하는 필터 드라이버의 구현입니다.

구문

USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;

NTSTATUS UsbfnSetDeviceState(
  [in] PVOID Context,
  [in] USBFN_DEVICE_STATE DeviceState,
  [in] USBFN_BUS_SPEED BusSpeed
)
{...}

매개 변수

[in] Context

드라이버 정의 컨텍스트에 대한 포인터입니다.

[in] DeviceState

디바이스의 상태를 나타내는 USBFN_DEVICE_STATE 형식의 플래그입니다.

[in] BusSpeed

버스 속도를 나타내는 USBFN_BUS_SPEED 형식의 플래그입니다.

반환 값

작업이 성공하면 콜백 함수는 STATUS_SUCCESS 반환하거나 NT_SUCCESS(상태)이 TRUE인 다른 상태 값을 반환해야 합니다. 그렇지 않으면 NT_SUCCESS(상태)이 FALSE와 같은 상태 값을 반환해야 합니다.

설명

연결 및 분리 감지를 지원하려면 USB 하위 필터 드라이버가 지원을 게시해야 합니다. 게시 프로세스 중에 드라이버는 이 콜백 함수의 구현도 등록합니다. 자세한 내용은 독점 충전기를 지원하기 위한 USB 필터 드라이버를 참조하세요.

낮은 필터 드라이버는 호스트에 연결할 때 또는 USB를 통한 충전을 사용하지 않도록 설정해야 하는 랩 시나리오에서 디바이스 상태 변경에 대한 알림이 필요한 경우 USBFN_SET_DEVICE_STATE 콜백 함수를 구현할 수 있습니다.

예제

NTSTATUS
UsbLowerFilter_SetDeviceState(
    _In_ PVOID Context,
    _In_ USBFN_DEVICE_STATE DeviceState,
    _In_ USBFN_BUS_SPEED BusSpeed
    )
{
    PPDCP_CONTEXT PdcpContext = NULL;

    PAGED_CODE();

    // Get our context
    PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);

    PdcpContext->CurrentDeviceState = DeviceState;
    PdcpContext->BusSpeed = BusSpeed;

    return STATUS_SUCCESS;
}

요구 사항

요구 사항
대상 플랫폼 Windows
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 usbfnattach.h
IRQL PASSIVE_LEVEL

추가 정보

독점 충전기를 지원하기 위한 USB 필터 드라이버