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(status) が TRUE の別の状態値を返す必要があります。 それ以外の場合は、NT_SUCCESS(status) が 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;
}
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | ウィンドウズ |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | usbfnattach.h |
IRQL | PASSIVE_LEVEL |
独自の充電器をサポートするための USBフィルタドライバ