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 |