次の方法で共有


WdfPdoInitAssignContainerID 関数 (wdfpdo.h)

[KMDF にのみ適用]

WdfPdoInitAssignContainerID メソッドは、子デバイスのコンテナー ID を更新します。

構文

NTSTATUS WdfPdoInitAssignContainerID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING ContainerID
);

パラメーター

[in] DeviceInit

WDFDEVICE_INIT構造体へのポインター。

[in] ContainerID

コンテナー ID 文字列を含む UNICODE_STRING 構造体へのポインター。 ドライバーは、ページ プールから文字列のバッファーを割り当てることができます。

戻り値

操作が成功した場合、メソッドは STATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
ドライバーは、PDO ではなく FDO を初期化しています。
STATUS_INSUFFICIENT_RESOURCES
ドライバーは、コンテナー ID 文字列を格納する領域を割り当てませんでした。
 

メソッドは、他の NTSTATUS 値を返す場合もあります。

注釈

コンテナー ID の詳細については、「 デバイス識別文字列」を参照してください。

ドライバーは、WdfDeviceCreate を呼び出す前に WdfPdoInitAssignContainerID を呼び出す必要があります。 WdfDeviceCreate の呼び出しの詳細については、「フレームワーク デバイス オブジェクトの作成」を参照してください。

次のコード例では、 UNICODE_STRING 構造体を初期化し、その構造体に Unicode 文字列を格納してから、Unicode 文字列をデバイスのコンテナー ID として登録します。

UNICODE_STRING containerId = {0}; 

RtlInitUnicodeString(
                     &containerId,
                     strContainerId //Unicode string for container ID
                     );
status = WdfPdoInitAssignContainerID(
                                     pDeviceInit,
                                     &containerId
                                     );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.9
Header wdfpdo.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)

こちらもご覧ください

RtlInitUnicodeString

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID