WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 함수(wdfiotarget.h)
[KMDF에만 적용]
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 함수는 드라이버가 WDM(Windows 드라이버 모델) 디바이스 개체를 지정하여 원격 I/O 대상을 열 수 있도록 드라이버의 WDF_IO_TARGET_OPEN_PARAMS 구조를 초기화합니다.
구문
void WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in] PDEVICE_OBJECT DeviceObject
);
매개 변수
[out] Params
함수가 초기화하는 드라이버 할당 WDF_IO_TARGET_OPEN_PARAMS 구조체에 대한 포인터입니다.
[in] DeviceObject
WDF_IO_TARGET_OPEN_PARAMS 구조체의 DeviceObject 멤버 값으로 사용되는 DEVICE_OBJECT 구조체에 대한 포인터입니다.
반환 값
없음
설명
WDF_IO_TARGET_OPEN_PARAMS 구조체는 WdfIoTargetOpen 메서드에 대한 입력으로 사용됩니다.
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 함수는 지정된 WDF_IO_TARGET_OPEN_PARAMS 구조체의 Size, Type 및 TargetDeviceObject 멤버를 초기화합니다.
일반적으로 드라이버는 드라이버가 WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 호출한 후 WDF_IO_TARGET_OPEN_PARAMS 구조체의 TargetFileObject 멤버를 설정합니다.
I/O 대상에 대한 자세한 내용은 I/O 대상 사용을 참조하세요.
예제
다음 코드 예제에서는 I/O 대상 개체를 만들고 DEVICE_OBJECT 구조를 지정하여 대상을 엽니다. 샘플 드라이버는 NdisMGetDeviceProperty (표시되지 않음)를 호출하여 DEVICE_OBJECT 구조를 가져옵니다.
WDF_IO_TARGET_OPEN_PARAMS openParams;
NTSTATUS ntStatus;
ntStatus = WdfIoTargetCreate(
Adapter->WdfDevice,
WDF_NO_OBJECT_ATTRIBUTES,
&Adapter->IoTarget
);
if (!NT_SUCCESS(ntStatus)) {
DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", ntStatus));
break;
}
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
&openParams,
Adapter->NextDeviceObject
);
ntStatus = WdfIoTargetOpen(Adapter->IoTarget,
&openParams);
if (!NT_SUCCESS(ntStatus)) {
DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", ntStatus));
break;
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
머리글 | wdfiotarget.h(Wdf.h 포함) |
IRQL | 모든 수준 |
추가 정보
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME