次の方法で共有


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 関数は、サイズTargetDeviceNameDesiredAccessおよび指定した WDF_IO_TARGET_OPEN_PARAMS 構造体の createOptions メンバーを初期化します。

UMDF WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 関数は、SizeTypeDesiredAccessおよび TargetDeviceName 指定した WDF_IO_TARGET_OPEN_PARAMS 構造体のメンバーを初期化します。 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
ヘッダー 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 する