次の方法で共有


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
ヘッダー wdfpdo.h (Wdf.h を含む)
図書館 Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf)

こちらもご覧ください

RtlInitUnicodeString を する

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID