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 CreateFile의 FileName 매개 변수를 참조하세요.
[in] DesiredAccess
파일에 대한 호출자의 원하는 액세스를 지정하는 비트 마스크입니다. 이 멤버에 대한 자세한 내용은 Windows SDK CreateFile의 dwDesiredAccess 매개 변수를 참조하세요.
[in, optional] pOpenParams
추가 매개 변수를 포함하는 호출자가 할당한 UMDF_IO_TARGET_OPEN_PARAMS 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
OpenFileByName 은 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 메서드는 다음 값을 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
프레임워크의 메모리 할당 시도가 실패했습니다. |
이 메서드는 Winerror.h에 포함된 다른 값 중 하나를 반환할 수 있습니다.
프레임워크가 파일을 열 수 없는 경우 프레임워크의 검증 도구 가 오류를 보고합니다.
설명
드라이버가 속한 드라이버 스택이 파일의 디바이스를 지원하지 않는 경우 드라이버는 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 |
머리글 | wudfddi.h(Wudfddi.h 포함) |
DLL | WUDFx.dll |