WDF_SYNCHRONIZATION_SCOPE 열거형(wdfobject.h)
[KMDF 및 UMDF에 적용]
WDF_SYNCHRONIZATION_SCOPE 열거형 형식은 프레임워크가 개체의 이벤트 콜백 함수 실행을 동기화하는 방법을 지정합니다.
구문론
typedef enum _WDF_SYNCHRONIZATION_SCOPE {
WdfSynchronizationScopeInvalid = 0x00,
WdfSynchronizationScopeInheritFromParent,
WdfSynchronizationScopeDevice,
WdfSynchronizationScopeQueue,
WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;
상수
WdfSynchronizationScopeInvalid 값: 0x00 시스템 사용 전용입니다. |
WdfSynchronizationScopeInheritFromParent 프레임워크는 개체의 부모 개체에 대해 지정된 동기화 범위 값을 사용합니다. 드라이버가 WDF_SYNCHRONIZATION_SCOPE 형식 값을 지정하지 않는 경우 이 값은 기본값입니다. |
WdfSynchronizationScopeDevice 프레임워크는 드라이버의 개체 계층 구조에서 디바이스 개체 아래에 있는 모든 큐 및 파일 개체의 이벤트 콜백 함수 실행을 동기화합니다. 또한 드라이버가 AutomaticSerialization 멤버를 동일한 디바이스 개체 아래에 있는 인터럽트, DPC, 작업 항목 또는 타이머 개체의 구성 구조에서 TRUE 경우 프레임워크는 해당 개체의 콜백 함수도 동기화합니다. 프레임워크는 콜백 함수를 호출하기 전에 디바이스 개체의 동기화 잠금을 가져옵니다. 따라서 이러한 콜백 함수는 한 번에 하나씩 실행됩니다. 그러나 드라이버가 동일한 형식의 여러 개체를 만들지만 다른 디바이스 개체에서 이벤트 콜백 함수가 다중 프로세서 시스템에서 동시에 실행될 수 있습니다. |
WdfSynchronizationScopeQueue 이 값은 큐 개체에만 영향을 줍니다. 프레임워크는 한 번에 하나만 실행되도록 큐 개체의 이벤트 콜백 함수를 동기화합니다. 또한 드라이버가 AutomaticSerialization 설정하여 큐 개체 또는 부모 디바이스 개체 아래에 있는 인터럽트, DPC, 작업 항목 또는 타이머 개체의 구성 구조에서 TRUE 경우 프레임워크는 해당 개체의 콜백 함수도 동기화합니다. 프레임워크는 개체에 속한 콜백 함수를 호출하기 전에 큐 개체의 동기화 잠금을 가져옵니다. 드라이버가 여러 큐 개체를 만드는 경우 해당 이벤트 콜백 함수는 다중 프로세서 시스템에서 동시에 실행될 수 있습니다. 프레임워크 버전 1.9 이상의 경우 드라이버는 개별 큐 개체에 대해 WdfSynchronizationScopeQueue 설정해야 합니다. 이전 버전의 프레임워크에서 이 범위를 사용하려면 드라이버는 부모 디바이스 개체에 대해 WdfSynchronizationScopeQueue 설정하고 큐 개체에 대해 WdfSynchronizationScopeInheritFromParent 설정해야 합니다. |
WdfSynchronizationScopeNone 프레임워크는 개체의 이벤트 콜백 함수를 동기화하지 않으므로 콜백 함수는 다중 프로세서 시스템에서 동시에 실행될 수 있습니다. |
비고
드라이버는 WDF_SYNCHRONIZATION_SCOPE 열거형 형식을 사용하여 개체의 WDF_OBJECT_ATTRIBUTES 구조체의 SynchronizationScope 멤버를 지정합니다.
다음 개체에 대해서만 SynchronizationScope 값을 지정할 수 있습니다.
- 프레임워크 드라이버 개체
- 프레임워크 디바이스 개체
- 프레임워크 큐 개체
드라이버의 이벤트 콜백 함수 동기화에 대한 자세한 내용은 Framework-Based 드라이버 대한동기화 기술을 참조하세요.
요구 사항
요구 사항 | 가치 |
---|---|
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
헤더 | wdfobject.h(Wdf.h 포함) |