EFI_USBFN_POLICY_TYPE 列挙体には、エンドポイントの種類を示すために使用される値が含まれています。
構文
typedef enum _EFI_USBFN_POLICY_TYPE{
EfiUsbPolicyUndefined = 0,
EfiUsbPolicyMaxTransactionSize,
EfiUsbPolicyZeroLengthTerminationSupport,
EfiUsbPolicyZeroLengthTermination
} EFI_USBFN_POLICY_TYPE;
定数
EfiUsbPolicyUndefined
ドライバーの境界を越えて使用できない無効なポリシー値。 これを使用と、呼び出し先の関数が成功状態のコードを返すことはありません。
EfiUsbPolicyMaxTransactionSize
このポリシーは読み取り専用です。 EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy と共に使用する場合、コントローラーがサポートする最大の単一トランザクション(片度ポイントへのサービス配信)のサイズが返されます。 EFI_USBFN_IO_PROTOCOL.GetMaxTransferSize を呼び出して取得できる最大転送サイズ以上であることが必要です。
| GetEndpointPolicy | SetEndpointPolicy | |
|---|---|---|
| BufferSize | 4 バイト、sizeof(UINT32) | 適用なし |
| リターン状態 | EFI_STATUS | EFI_UNSUPPORTED |
EfiUsbPolicyZeroLengthTerminationSupport
このポリシーは読み取り専用です。 EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy と共に使用する場合、転送サイズが USB 最大パケット サイズの倍数である際にUSB コントローラー ハードウェアが長さゼロのパケットを自動的に処理できるなら TRUE、このようなシナリオがコントローラー ハードウェアにでサポートされていないなら FALSE が返されます。
| GetEndpointPolicy | SetEndpointPolicy | |
|---|---|---|
| BufferSize | 1 バイト、sizeof(BOOLEAN) | 適用なし |
| リターン状態 | EFI_STATUS | EFI_UNSUPPORTED |
EfiUsbPolicyZeroLengthTermination
EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy と共に使用する場合、転送サイズが USB 最大パケット サイズの倍数である際にUSB コントローラー ハードウェアが長さゼロのパケットを自動的に処理するように構成されているなら TRUE、コントローラー ハードウェアがこのようなシナリオをサポートするように構成されていないなら FALSE が返されます。
EFI_USBFN_IO_PROTOCOL.SetEndpointPolicy は、USB コントローラー ハードウェアが長さゼロのパケットの自動的な終了をサポートできる場合にのみ、このポリシーの種類を受け入れます。 この値が TRUE に設定されている場合、指定したエンドポイントの長さゼロの終了を処理するようにコントローラーを構成する必要があります。FALSE 値はこのような設定でコントローラを構成しません。
コントローラー ハードウェアが長さゼロの自動的な終了をサポートできる場合でも、これをデフォルトの構成にすることはできません。
| GetEndpointPolicy | SetEndpointPolicy | |
|---|---|---|
| BufferSize | 1 バイト、sizeof(BOOLEAN) | 1 バイト、sizeof(BOOLEAN) |
| リターン状態 | EFI_STATUS | EFI_STATUS |
要件
ヘッダー: ユーザー生成