WDF_SYNCHRONIZATION_SCOPE 열거형(wdfobject.h)

[KMDF 및 UMDF에 적용]

WDF_SYNCHRONIZATION_SCOPE 열거형 형식은 프레임워크가 개체의 이벤트 콜백 함수 실행을 동기화하는 방법을 지정합니다.

Syntax

typedef enum _WDF_SYNCHRONIZATION_SCOPE {
  WdfSynchronizationScopeInvalid = 0x00,
  WdfSynchronizationScopeInheritFromParent,
  WdfSynchronizationScopeDevice,
  WdfSynchronizationScopeQueue,
  WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;

상수

 
WdfSynchronizationScopeInvalid
값: 0x00
시스템에서 사용하도록 예약되었습니다.
WdfSynchronizationScopeInheritFromParent
프레임워크는 개체의 부모 개체에 대해 지정된 동기화 scope 값을 사용합니다. 드라이버가 WDF_SYNCHRONIZATION_SCOPE 형식의 값을 지정하지 않는 경우 이 값은 기본값입니다.
WdfSynchronizationScopeDevice
프레임워크는 드라이버의 개체 계층에서 디바이스 개체 아래에 있는 모든 큐 및 파일 개체의 이벤트 콜백 함수 실행을 동기화합니다.

또한 드라이버가 동일한 디바이스 개체 아래에 있는 인터럽트, DPC, 작업 항목 또는 타이머 개체의 구성 구조에서 AutomaticSerialization 멤버를 TRUE 로 설정하는 경우 프레임워크는 해당 개체의 콜백 함수도 동기화합니다.

프레임워크는 콜백 함수를 호출하기 전에 디바이스 개체의 동기화 잠금을 가져옵니다. 따라서 이러한 콜백 함수는 한 번에 하나씩 실행됩니다. 그러나 드라이버가 동일한 형식의 여러 개체를 만들지만 다른 디바이스 개체에서 이벤트 콜백 함수가 다중 프로세서 시스템에서 동시에 실행될 수 있습니다.
WdfSynchronizationScopeQueue
이 값은 큐 개체에만 영향을 줍니다. 프레임워크는 한 번에 하나만 실행되도록 큐 개체의 이벤트 콜백 함수를 동기화합니다.

또한 드라이버가 큐 개체 또는 부모 디바이스 개체 아래에 있는 인터럽트, DPC, 작업 항목 또는 타이머 개체의 구성 구조에서 AutomaticSerializationTRUE 로 설정하는 경우 프레임워크는 해당 개체의 콜백 함수도 동기화합니다.

프레임워크는 개체에 속한 콜백 함수를 호출하기 전에 큐 개체의 동기화 잠금을 가져옵니다.

드라이버가 여러 큐 개체를 만드는 경우 해당 이벤트 콜백 함수는 다중 프로세서 시스템에서 동시에 실행될 수 있습니다.

프레임워크 버전 1.9 이상의 경우 드라이버는 개별 큐 개체 에 대해 WdfSynchronizationScopeQueue 를 설정해야 합니다. 이전 버전의 프레임워크에서 이 scope 사용하려면 드라이버는 부모 디바이스 개체에 대해 WdfSynchronizationScopeQueue를 설정하고 큐 개체에 대해 WdfSynchronizationScopeInheritFromParent를 설정해야 합니다.
WdfSynchronizationScopeNone
프레임워크는 개체의 이벤트 콜백 함수를 동기화하지 않으므로 콜백 함수가 다중 프로세서 시스템에서 동시에 실행될 수 있습니다.

설명

드라이버는 WDF_SYNCHRONIZATION_SCOPE 열거형 형식을 사용하여 개체의 WDF_OBJECT_ATTRIBUTES 구조체의 SynchronizationScope 멤버를 지정합니다.

다음 개체에 대해서만 SynchronizationScope 값을 지정할 수 있습니다.

  • 프레임워크 드라이버 개체
  • 프레임워크 디바이스 개체
  • 프레임워크 큐 개체
프레임워크는 프레임워크 드라이버 개체의 SynchronizationScope 값을 WdfSynchronizationScopeNone으로 설정합니다. 프레임워크 디바이스 개체 및 프레임워크 큐 개체의 SynchronizationScope 값을 WdfSynchronizationScopeInheritFromParent로 설정합니다.

드라이버의 이벤트 콜백 함수 동기화에 대한 자세한 내용은 Framework-Based 드라이버용 동기화 기술을 참조하세요.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfobject.h(Wdf.h 포함)

추가 정보

WDF_OBJECT_ATTRIBUTES