次の方法で共有


WdfStringCreate 関数 (wdfstring.h)

[KMDF と UMDF に適用]

WdfStringCreate メソッドは、フレームワーク文字列オブジェクトを作成し、必要に応じて、指定した Unicode 文字列をオブジェクトに割り当てます。

構文

NTSTATUS WdfStringCreate(
  [in, optional] PCUNICODE_STRING       UnicodeString,
  [in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
  [out]          WDFSTRING              *String
);

パラメーター

[in, optional] UnicodeString

Unicode 文字列定数を含む UNICODE_STRING 構造体へのポインター。 フレームワークは、新しいフレームワーク文字列オブジェクトに文字列をコピーします。 このポインターは省略可能であり、NULL できます。

[in, optional] StringAttributes

新しい文字列オブジェクトのドライバー指定の属性を含む WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。

[out] String

新しい文字列オブジェクトへのハンドルを受け取る場所へのポインター。

戻り値

WdfStringCreate は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは次のいずれかの値を返す可能性があります。

リターン コード 形容
STATUS_INVALID_DEVICE_REQUEST

IRQL = PASSIVE_LEVEL で WdfStringCreate が呼び出されませんでした。

STATUS_INVALID_PARAMETER
無効なパラメーターが指定されました。
STATUS_INSUFFICIENT_RESOURCES
文字列オブジェクトを割り当てませんでした。
 

WdfStringCreate メソッドが返す可能性があるその他の戻り値の一覧については、「Framework オブジェクト作成エラー」を参照してください。

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

備考

フレームワーク文字列オブジェクトの既定の親は、ドライバーのフレームワーク ドライバー オブジェクトです。 ただし、文字列がドライバーに関連付けられていない限り、ドライバーは、WDF_OBJECT_ATTRIBUTES 構造体の ParentObject メンバーを、文字列のスコープを表すオブジェクトに設定する必要があります。 通常、文字列はデバイス固有であり、その親オブジェクトはフレームワーク デバイス オブジェクトである必要があります。

ドライバーが EvtCleanupCallback 提供するか、フレームワーク文字列オブジェクトのコールバック関数 EvtDestroyCallback を する場合、フレームワークは IRQL = PASSIVE_LEVEL でこれらのコールバック関数を呼び出します。

フレームワーク文字列オブジェクトの詳細については、「文字列オブジェクトの使用」を参照してください。

次のコード例では、WDF_OBJECT_ATTRIBUTES 構造体を初期化し、フレームワーク文字列オブジェクトを作成します。

NTSTATUS  status;
WDFSTRING  stringHandle = NULL;
WDF_OBJECT_ATTRIBUTES  attributes;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pDeviceContext->Device;
status = WdfStringCreate(
                         NULL,
                         &attributes,
                         &stringHandle
                         );
if (!NT_SUCCESS(status)){
    return status;
}

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfstring.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

関連項目

UNICODE_STRING

WDF_OBJECT_ATTRIBUTES

WdfStringGetUnicodeString