다음을 통해 공유


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
머리글 wudfusb.h(Wudfusb.h 포함)
DLL WUDFx.dll

추가 정보

IWDFUsbInterface

IWDFUsbInterface::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR