WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME関数 (wdfiotarget.h)

[KMDF と UMDF に適用]

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME関数は、ドライバーがデバイス、ファイル、またはデバイス インターフェイスの名前を指定して I/O ターゲットを開くことができるように、ドライバーのWDF_IO_TARGET_OPEN_PARAMS構造を初期化します。 指定された名前が存在しない場合、オペレーティング システムによって作成が試みされます。

構文

void WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
  [out] PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in]  PCUNICODE_STRING           TargetDeviceName,
  [in]  ACCESS_MASK                DesiredAccess
);

パラメーター

[out] Params

ドライバーによって割り当てられた WDF_IO_TARGET_OPEN_PARAMS 構造体へのポインター。この構造体は、関数によって初期化されます。

[in] TargetDeviceName

WDF_IO_TARGET_OPEN_PARAMS構造体の TargetDeviceName メンバーの値。

[in] DesiredAccess

WDF_IO_TARGET_OPEN_PARAMS構造体の DesiredAccess メンバーの値。

戻り値

なし

解説

TargetDeviceName で既に存在するファイルの名前が指定されている場合、システムは既存のファイルを置き換えます。 ファイルが存在しない場合は、システムによって作成されます。

WDF_IO_TARGET_OPEN_PARAMS構造体は、WdfIoTargetOpen メソッドへの入力として使用されます。

Kmdf WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME関数は、指定したWDF_IO_TARGET_OPEN_PARAMS構造体の SizeTypeTargetDeviceNameDesiredAccessCreateOptions の各メンバーを初期化します。

Umdf WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME関数は、指定したWDF_IO_TARGET_OPEN_PARAMS構造体の SizeTypeDesiredAccessおよび TargetDeviceName の各メンバーを初期化します。 ShareAccess メンバーを 0 に設定します。 また、FileAttributes メンバーをFILE_ATTRIBUTE_NORMALに設定します。

I/O ターゲットの詳細については、「 I/O ターゲットの使用」を参照してください。

次のコード例では、I/O ターゲット オブジェクトを作成し、ファイル名を指定してターゲットを開きます。

UNICODE_STRING  fileName;

RtlInitUnicodeString(
                     &fileName, 
                     (PCWSTR)PROTOCOL_INTERFACE_NAME
                     );

status = WdfIoTargetCreate(
                           Adapter->WdfDevice,
                           WDF_NO_OBJECT_ATTRIBUTES,
                           &Adapter->IoTarget
                           );
if (!NT_SUCCESS(status)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", status));
    return status;
}

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
                                              &openParams,
                                              &fileName,
                                              STANDARD_RIGHTS_ALL
                                              );

status = WdfIoTargetOpen(
                         Adapter->IoTarget,
                         &openParams
                         );
if (!NT_SUCCESS(status)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", status));
    return status;
}

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfiotarget.h (Wdf.h を含む)
IRQL 任意のレベル

こちらもご覧ください

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen