IWDFFileHandleTargetFactory::CreateFileHandleTarget メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDFの概要」を参照してください。
CreateFileHandleTarget メソッドは、ファイル ハンドルベースの I/O ターゲット オブジェクトを作成します。
構文
HRESULT CreateFileHandleTarget(
[in] HANDLE hTarget,
[out] IWDFIoTarget **ppTarget
);
パラメーター
[in] hTarget
ターゲット デバイスへのハンドル。 ハンドルは、FILE_FLAG_OVERLAPPED フラグを使用して以前に開かれている必要があります。 たとえば、FILE_FLAG_OVERLAPPEDは、Microsoft Win32 CreateFile 関数の dwFlagsAndAttributes パラメーターで指定されている必要があります。
[out] ppTarget
I/O ターゲット オブジェクトの IWDFIoTarget インターフェイスへのポインターを受け取る場所へのポインター。
戻り値
CreateFileHandleTarget
リターン コード | 形容 |
---|---|
|
CreateFileHandleTarget |
|
CreateFileHandleTarget 割り当てエラーが発生。 |
CreateFileHandleTarget
備考
ドライバーがファイル ハンドル ベースの I/O ターゲットを使用している場合、ドライバーの INF ファイルの
ドライバーは、ファイル ハンドル ベースの I/O ターゲット オブジェクトを作成した後、I/O 要求を書式設定し、I/O ターゲットに送信できます。 通常、ドライバーが
ドライバーが IWDFIoRequest::Send
ドライバーが CreateFileHandleTarget に渡す Win32 ハンドルは、ファイル ハンドル ベースの I/O ターゲット オブジェクトの有効期間中も有効なままである必要があります。 (フレームワークはこのターゲット ハンドルの参照を受け取らないので、ドライバーは Win32 ハンドルが有効なままであることを確認する必要があります)。
CreateFileHandleTarget が提供する
CreateFileHandleTarget および I/O ターゲット
例
次のコード例は、名前付きパイプのファイル ハンドル ベースの I/O ターゲットを作成する方法を示しています。 この例では、
HRESULT hr = S_OK;
CComPtr<IWDFFileHandleTargetFactory> pFileHandleTargetFactory;
//
// Create a pipe and get the handle.
//
m_WriteHandle = CreateNamedPipe(NP_NAME,
PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,
PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE|PIPE_WAIT,
2,
MAX_TRANSFER_SIZE,
MAX_TRANSFER_SIZE,
1000,
NULL);
if (m_WriteHandle == INVALID_HANDLE_VALUE) {
DWORD err = GetLastError();
hr = HRESULT_FROM_WIN32(err);
}
//
// Obtain the IWDFFileHandleTargetFactory interface
// by calling IWDFDevice::QueryInterface.
//
if (SUCCEEDED(hr)) {
hr = m_FxDevice->QueryInterface(IID_PPV_ARGS(&pFileHandleTargetFactory));
}
//
// Create a file handle target.
//
if (SUCCEEDED(hr)) {
hr = pFileHandleTargetFactory->CreateFileHandleTarget(m_WriteHandle,
&m_WriteTarget);
}
必要条件
要件 | 価値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
ターゲット プラットフォーム の |
デスクトップ |
UMDF の最小バージョン を |
1.5 |
ヘッダー | wudfddi.h (Wudfusb.h を含む) |
DLL | WUDFx.dll |
関連項目
IWDFFileHandleTargetFactory の
IWDFIoTarget の