次の方法で共有


IWDFRemoteTarget::OpenFileByName メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

OpenFileByName メソッドは、ファイルであるリモート I/O ターゲットを開きます。

構文

HRESULT OpenFileByName(
  [in]           PCWSTR                      pszFileName,
  [in]           DWORD                       DesiredAccess,
  [in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);

パラメーター

[in] pszFileName

開くファイルの名前を表す、呼び出し元が指定した null で終わる文字列へのポインター。 このメンバーの詳細については、Windows SDKの CreateFileFileName パラメーターを参照してください。

[in] DesiredAccess

ファイルへの呼び出し元の必要なアクセスを指定するビットマスク。 このメンバーの詳細については、Windows SDKの CreateFiledwDesiredAccess パラメーターを参照してください。

[in, optional] pOpenParams

追加のパラメーターを含む呼び出し元によって割り当てられた UMDF_IO_TARGET_OPEN_PARAMS 構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます

戻り値

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

リターン コード 説明
E_OUTOFMEMORY
フレームワークのメモリ割り当て試行に失敗しました。
 

このメソッドは、Winerror.h に含まれる他の値の 1 つを返す場合があります。

フレームワークの 検証ツール は、フレームワークがファイルを開くことができない場合にエラーを報告します。

注釈

ドライバーが属するドライバー スタックがファイルのデバイスをサポートしていない場合、ドライバーは OpenFileByName を使用してファイルを開くことができます。 ドライバーが属するドライバー スタックがファイルのデバイスをサポートしている場合は、 IWDFFileHandleTargetFactory::CreateFileHandleTarget を使用してファイルを開きます。

指定したファイルには、UMDF ベースのドライバー (通常はローカル サービス アカウント) を読み込んだアカウントからアクセスできる必要があります。 ただし、ドライバーが OpenFileByName を呼び出すときに偽装を使用する場合は、偽装されたアカウントからファイルにアクセスできる必要があります。

OpenFileByName を呼び出して、コントロール デバイス オブジェクトへのリモート ターゲットを開かないでください。 代わりに、 CreateFile を呼び出してコントロール デバイスを直接開きます。

OpenFileByName メソッドとリモート I/O ターゲットの詳細については、「UMDF の一般的な I/O ターゲット」を参照してください。

次のコード例では、リモート ターゲット オブジェクトを作成し、読み取り専用アクセス権を持つ既存のファイルを開きます。

UMDF_IO_TARGET_OPEN_PARAMS openParams;
HRESULT hr;

//
// Create a new remote target object and provide a callback 
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
                                  fxRemoteInterface,
                                  &fxTarget);
if (FAILED(hr)) goto Error;

//
// Open existing file for read-only access.
//
openParams.dwShareMode = 0;
openParams.dwCreationDisposition = OPEN_EXISTING;
openParams.dwFlagsAndAttributes = FILE_ATTRIBUTE_READONLY;

hr = fxTarget->OpenFileByName(FILE_PATH,
                              GENERIC_READ,
                              &openParams);
 

要件

要件
サポート終了 UMDF 2.0 以降では使用できません。
対象プラットフォーム デスクトップ
最小 UMDF バージョン 1.9
Header wudfddi.h (Wudfddi.h を含む)
[DLL] WUDFx.dll

こちらもご覧ください

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface