エラー「No More Items 259 (0x103)」を解決する4つの簡単な手順
主な注意事項
- SetupDiGetClassDevs関数の制限フラグ
- INFファイルに変更を加える
- CfsDep2.inf をスタンドアロン プロセスとしてインストールする
開発環境でのERROR_NO_MORE_ITEMS(コード259)の解決
ERROR_NO_MORE_ITEMS(多くの場合、コード259(0x103)として表示されます)は、USBドライバのインストール中に追加データが利用できないことを示します。これは主に開発者が遭遇する問題ですが、このガイドでは、問題を効果的にトラブルシューティングして解決するためのさまざまな方法を紹介します。
ERROR_NO_MORE_ITEMS 問題を解決する手順
ステップ1: SetupDiGetClassDevsのフラグを調整する
コードエディタを開き、コード内のSetupDiGetClassDevs関数を見つけます。フラグを調整して、DIGCF_PRESENTのみを含めます(下図参照)。
deviceInfoSet = SetupDiGetClassDevs(&classGuid, NULL, NULL, DIGCF_PRESENT);
プロのヒント:余分なフラグを追加すると、存在しないデバイスが組み込まれ、ERROR_NO_MORE_ITEMS メッセージが表示される可能性があるため、追加は避けてください。ユーザーエクスペリエンスに基づいて、DIGCF_PROFILEフラグの使用を検討してください。
ステップ2:必要なINFファイルを変更する
必要なINFファイルを見つけて開き、以下の行を挿入します。
[USB_Install. Wdf] KmdfService=WINUSB, WinUsb_Install[WinUsb_Install] KmdfLibraryVersion=1.11
これらの変更を挿入した後、ファイルを保存し、Visual Studio を使用して GUID を生成し、レジストリに追加していることを確認します。
ステップ3: CfsDep2.infの個別インストールを実行する
PVS サーバーで、コマンド プロンプトから次のコマンドを実行します。
rundll32.exe setupapi, InstallHinfSection DefaultInstall 129 c:\Program Files\Citrix\Provisioning Services\drivers\cfsdep2.inf
コマンドの実行が完了したら、ERROR_NO_MORE_ITEMS が継続するかどうかを確認します。
ステップ4:データの整合性を確保する
リクエストへの応答として十分なデータが送信されていることを確認してください。このエラーは、重複した操作で発生することが多く、完了表示によって意図せずエラーが発生する可能性があることに注意してください。
その他の役立つヒント
- システム ドライバーが最新かどうかを確認します。
- デバッグ ツールを使用して、起こりうる問題を追跡します。
- USB ドライバーのトラブルシューティングに特化したサポート フォーラムを参照してください。
まとめ
ERROR_NO_MORE_ITEMS 問題を解決するには、SetupDiGetClassDevs 関数で使用されるフラグを合理化し、INF ファイルを適切に変更し、CfsDep2.inf を別途インストールし、処理するデータの整合性を確認してください。これらの手順に従うことで、エラーを効果的に軽減できるはずです。
結論
推奨されるトラブルシューティング手順に従えば、ERROR_NO_MORE_ITEMS エラーの解決は簡単です。コードと設定を適宜調整し、問題が解決しない場合は、フォーラムを参照したり、コミュニティに助けを求めたりしてください。
FAQ(よくある質問)
ERROR_NO_MORE_ITEMS エラーはどういう意味ですか?
ERROR_NO_MORE_ITEMS エラーは、利用可能な追加データエントリがないことを示します。デバイスドライバーのインストール中に、リクエストとレスポンスの整合性が取れていない場合に発生することがあります。
今後のインストールでこのエラーを防ぐにはどうすればよいですか?
このエラーが発生するリスクを最小限に抑えるには、INF 構成を検証し、デバイスの操作中に必要なフラグのみを使用するようにしてください。