USBD_BuildRegisterCompositeDevice関数 (usbdlib.h)

USBD_BuildRegisterCompositeDevice ルーチンは、USB マルチファンクション デバイス (複合ドライバー) のドライバーによって呼び出され、ドライバーを USB ドライバー スタックに登録するために必要な情報を使用してREGISTER_COMPOSITE_DEVICE構造体を初期化します。

ルーチンは、Microsoft 提供の複合ドライバー (Usbccgp.sys) を置き換えるドライバーによって呼び出されます。

構文

void USBD_BuildRegisterCompositeDevice(
  [in]  USBD_HANDLE                   USBDHandle,
  [in]  COMPOSITE_DEVICE_CAPABILITIES CapabilityFlags,
  [in]  ULONG                         FunctionCount,
  [out] PREGISTER_COMPOSITE_DEVICE    RegisterCompositeDevice
);

パラメーター

[in] USBDHandle

USBD_CreateHandle ルーチンの以前の呼び出しで取得された USBD ハンドル。

[in] CapabilityFlags

複合ドライバーでサポートされている機能を示す呼び出し元によって割り当てられた COMPOSITE_DEVICE_CAPABILITIES 構造体。 たとえば、複合ドライバーが関数の中断をサポートしていることを示すには、COMPOSITE_DEVICE_CAPABILITIESCapabilityFunctionSuspend メンバーを 1 に設定します。

[in] FunctionCount

親ドライバーによって作成される物理デバイス オブジェクト (PDO) の数。 FunctionCount 値は 255 を超えることはできません。

[out] RegisterCompositeDevice

呼び出し元によって割り当てられた REGISTER_COMPOSITE_DEVICE 構造体へのポインター。 完了すると、構造体に指定された登録情報が設定されます。 複合ドライバーを登録するには、 IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE I/O 要求を送信し、設定された構造体を渡します。

戻り値

なし

必要条件

要件
サポートされている最小のクライアント Windows 8には WDK が必要です。 Windows Vista 以降のバージョンの Windows オペレーティング システムを対象としています。
対象プラットフォーム デスクトップ
Header usbdlib.h
Library Usbdex.lib
IRQL < = DISPATCH_LEVEL

こちらもご覧ください

IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE

REGISTER_COMPOSITE_DEVICE