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 파일 핸들 기반 I/O 대상 개체를 만들었습니다. |
|
CreateFileHandleTarget 할당 오류가 발생했습니다. |
CreateFileHandleTarget Winerror.h에 정의된 다른 HRESULT 값도 반환할 수 있습니다.
발언
드라이버가 파일 핸들 기반 I/O 대상을 사용하는 경우 드라이버 INF 파일의
드라이버가 파일 핸들 기반 I/O 대상 개체를 만든 후 I/O 요청의 형식을 지정하고 I/O 대상으로 보낼 수 있습니다. 일반적으로 드라이버가
드라이버가 IWDFIoRequest::Send 호출하여 I/O 요청을 I/O 대상으로 보내는 경우 드라이버는 Flags 매개 변수에서 WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET 값을 설정해서는 안됩니다.
드라이버가 CreateFileHandleTarget
드라이버가 CreateFileHandleTarget 제공하는
CreateFileHandleTarget 및 I/O 대상에 대한 자세한 내용은 UMDF일반 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