UcmTcpciPortControllerStart 関数 (ucmtcpciportcontroller.h)

クライアント ドライバーがポート コントローラーのハードウェア要求をサービスする準備ができたことを UcmTcpciCx クラス拡張機能に示します。

構文

NTSTATUS UcmTcpciPortControllerStart(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

パラメーター

PortControllerObject

UcmTcpciPortControllerCreate の前回の呼び出しでクライアント ドライバーが受信したポート コントローラー オブジェクトを処理します。

戻り値

(NTSTATUS)メソッドは、操作が成功した場合STATUS_SUCCESSを返します。 それ以外の場合、このメソッドは適切な NTSTATUS エラー コードを返す可能性があります。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
ポート コントローラーは既に開始状態です。
STATUS_INVALID_HANDLE
UcmTcpciPortControllerSetHardwareRequestQueue を呼び出して、ハードウェア要求キューが設定されていません。

注釈

クライアント ドライバーがポート コントローラー オブジェクトの UCMPORTCONTROLLER ハンドルを受け取った後、ドライバーはこのメソッドを呼び出して、ドライバーがハードウェア要求の受信を開始できることをクラス拡張機能に通知します。 このメソッド呼び出しを使用すると、クライアント ドライバーは、ドライバーのコールバック関数またはポート コントローラー オブジェクトの要求を呼び出す前に、ポート コントローラー オブジェクトのフレームワーク コンテキスト空間の初期化を実行できます。 ドライバーは、ポート コントローラーが開始されるまで UcmTcpciPortControllerAlert または UcmTcpciPortControllerStop を呼び出すことができません。

クライアント ドライバーは、 UcmTcpciPortControllerCreate を 呼び出してコンテキスト構造を初期化した直後に、このメソッドを呼び出します ( WDF_OBJECT_ATTRIBUTES 構造体で Attributes パラメーター値として指定されている場合)。 ドライバーは、 UcmTcpciPortControllerStart がこの DDI 呼び出し内から返される前でも、クラス拡張機能が要求を送信できるものとします。 ドライバーが UcmTcpciPortControllerStart の呼び出し中にロックを保持していて、ハードウェア要求 (ハードウェア要求キュー コールバック) の処理中にロックを取得しようとすると、デッドロックが発生する可能性があります。

既に開始状態のポート コントローラー オブジェクトを開始するために UcmTcpciPortControllerStart を呼び出すと、エラーが発生します。

起動時に、BIOS が PD コントラクトを既にネゴシエートしている場合、UcmTcpciCx は接続されていない状態から開始されます。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム Windows
ヘッダー ucmtcpciportcontroller.h
Library Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

UcmTcpciPortControllerStop