다음을 통해 공유


WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 함수(wdfiotarget.h)

[KMDF 및 UMDF에 적용]

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 함수는 드라이버의 WDF_IO_TARGET_OPEN_PARAMS 구조를 초기화하므로 드라이버는 디바이스, 파일 또는 디바이스 인터페이스의 이름을 지정하여 I/O 대상을 열 수 있습니다. 제공된 이름이 없으면 운영 체제에서 해당 이름을 만들려고 합니다.

구문

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 함수는 지정된 WDF_IO_TARGET_OPEN_PARAMS 구조체의 Size, Type, TargetDeviceName, DesiredAccessCreateOptions 멤버를 초기화합니다.

Umdf WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 함수는 지정된 WDF_IO_TARGET_OPEN_PARAMS 구조체의 Size, Type, DesiredAccessTargetDeviceName 멤버를 초기화합니다. 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