IWDFUsbInterface::GetNumEndPoints メソッド (wudfusb.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。
GetNumEndPoints メソッドは、USB インターフェイス上のエンドポイント (パイプ) の数を取得します。
構文
UCHAR GetNumEndPoints();
戻り値
GetNumEndPoints は、 USB インターフェイス上のエンドポイントの数を返します。
注釈
UMDF ドライバーは、IWDFUsbInterface::GetInterfaceDescriptor メソッドの呼び出し時にドライバーが取得するUSB_INTERFACE_DESCRIPTOR構造体の bNumEndpoints メンバーからエンドポイントの数を取得できるため、便宜上、GetNumEndPoints メソッドが提供されます。
例
次のコード例では、USB インターフェイス上のパイプの数を取得し、特定の種類のパイプを取得します。
HRESULT hr;
UCHAR NumEndPoints;
NumEndPoints = pIUsbInterface->GetNumEndPoints();
if (NumEndPoints != NUM_OSRUSB_ENDPOINTS) {
hr = E_UNEXPECTED;
}
if (SUCCEEDED(hr)) {
for (UCHAR PipeIndex = 0; PipeIndex < NumEndPoints; PipeIndex++) {
hr = pIUsbInterface->RetrieveUsbPipeObject(PipeIndex,
&pIUsbPipe);
if (FAILED(hr)) {
// Output an error.
}
else {
if ( pIUsbPipe->IsInEndPoint() && (UsbdPipeTypeBulk == pIUsbPipe->GetType()) ) {
pIUsbInputPipe = pIUsbPipe;
}
else if ( pIUsbPipe->IsOutEndPoint() && (UsbdPipeTypeBulk == pIUsbPipe->GetType()) )
{
pIUsbOutputPipe = pIUsbPipe;
}
else
{
SAFE_RELEASE(pIUsbPipe);
}
}
要件
要件 | 値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
対象プラットフォーム | デスクトップ |
最小 UMDF バージョン | 1.5 |
Header | wudfusb.h (Wudfusb.h を含む) |
[DLL] | WUDFx.dll |