[KMDF에만 적용]
WdfPdoInitAssignRawDevice 메서드는 호출 드라이버가 원시 모드에서 지정된 디바이스를 지원할 수 있음을 나타냅니다.
구문론
NTSTATUS WdfPdoInitAssignRawDevice(
[in] PWDFDEVICE_INIT DeviceInit,
[in] const GUID *DeviceClassGuid
);
매개 변수
[in] DeviceInit
WDFDEVICE_INIT 구조체에 대한 포인터입니다.
[in] DeviceClassGuid
디바이스 설정 클래스식별하는 GUID에 대한 포인터입니다.
참고 항상 사용자 지정 클래스 GUID를 지정해야 합니다. 기존 클래스 GUID를 지정해서는 안 됩니다. 기존 클래스 GUID를 지정하는 경우 기존 클래스 GUID를 지정하려고 하는 다른 드라이버가 설치되지 않거나 잘못된 보안 설정으로 설치될 수 있습니다.
자세한 내용은 다음 설명 섹션을 참조하세요.
반환 값
작업이 성공하면 메서드는 STATUS_SUCCESS 반환합니다. 그렇지 않으면 STATUS_INVALID_PARAMETER 반환합니다.
비고
WdfDeviceCreate호출하기 전에 드라이버는 WdfPdoInitAssignRawDevice 호출해야 합니다. WdfDeviceCreate호출하는 방법에 대한 자세한 내용은 프레임워크 디바이스 개체 만들기참조하세요.
레지스트리에는 WdfDeviceInitAssignSDDLString 호출할 때 드라이버가 지정하는 값을 재정의하는 값이 포함될 수 WdfDeviceInitSetDeviceType, WdfDeviceInitSetCharacteristics WdfDeviceInitSetExclusive . WdfPdoInitAssignRawDevice 메서드의 DeviceClassGuid 매개 변수는 재정의 값을 포함하는 레지스트리의 섹션을 식별하는 GUID를 지정합니다. DeviceClassGuid 매개 변수는 레지스트리의 섹션만 식별하며 실제로 디바이스에 대한 디바이스 설정 클래스 설정하지 않습니다. INF 버전 섹션은 디바이스에 드라이버의 INF 파일은 디바이스 설정 클래스를 설정합니다. 일반적으로 DeviceClassGuid 매개 변수의 GUID는 INF 버전 섹션에서 지정하는 GUID와 일치해야.
레지스트리 사용에 대한 자세한 내용은 설치 후 디바이스 개체 레지스트리 속성 설정참조하세요.
예시
kmdf_enumswitches 드라이버 샘플의 다음 코드 조각은 드라이버가 원시 모드에서 지정된 디바이스를 지원할 수 있음을 나타냅니다.
NTSTATUS status;
DEFINE_GUID(GUID_DEVCLASS_MYUNIQUEID,
0xf149fe88, 0x f6cc, 0x47e3, 0x85, 0x94, 0xe2, 0xaa, 0xb6, 0xe0, 0x3b, 0xdf);
status = WdfPdoInitAssignRawDevice(
pDeviceInit,
&GUID_DEVCLASS_MYUNIQUEID
);
요구 사항
요구 사항 | 가치 |
---|---|
대상 플랫폼 | 보편적 |
최소 KMDF 버전 | 1.0 |
헤더 | wdfpdo.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조) |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrq() kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |