KSEVENTDATA 구조체(ks.h)
커널 스트리밍 클라이언트는 KSEVENTDATA 구조를 클래스 드라이버로 보내 알림 방법을 지정합니다.
구문
typedef struct {
ULONG NotificationType;
union {
struct {
HANDLE Event;
ULONG_PTR Reserved[2];
} EventHandle;
struct {
HANDLE Semaphore;
ULONG Reserved;
LONG Adjustment;
} SemaphoreHandle;
struct {
PVOID Event;
KPRIORITY Increment;
ULONG_PTR Reserved;
} EventObject;
struct {
PVOID Semaphore;
KPRIORITY Increment;
LONG Adjustment;
} SemaphoreObject;
struct {
PKDPC Dpc;
ULONG ReferenceCount;
ULONG_PTR Reserved;
} Dpc;
struct {
PWORK_QUEUE_ITEM WorkQueueItem;
WORK_QUEUE_TYPE WorkQueueType;
ULONG_PTR Reserved;
} WorkItem;
struct {
PWORK_QUEUE_ITEM WorkQueueItem;
PKSWORKER KsWorkerObject;
ULONG_PTR Reserved;
} KsWorkItem;
struct {
PVOID Unused;
LONG_PTR Alignment[2];
} Alignment;
};
} KSEVENTDATA, *PKSEVENTDATA;
멤버
NotificationType
수행해야 하는 알림 유형을 나타내는 플래그를 포함합니다. 다음 표에서는 NotificationType 멤버에 대해 가능한 모든 값을 나열합니다.
| NotificationType 플래그 | Description |
|---|---|
| KSEVENTF_EVENT_HANDLE | Win32 동기화 또는 알림 개체 핸들이 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. EventHandle.Event 요소에는 핸들이 포함됩니다. |
| KSEVENTF_SEMAPHORE_HANDLE | Win32 세마포 핸들이 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. SemaphoreHandle.Semaphore 요소에는 핸들이 포함됩니다. |
| KSEVENTF_EVENT_OBJECT | 커널 동기화 또는 알림 개체에 대한 포인터가 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. EventObject.Event 요소에는 이 개체에 대한 포인터가 포함되어 있습니다. 커널 모드 클라이언트에서만 사용할 수 있습니다. |
| KSEVENTF_SEMAPHORE_OBJECT | 커널 세마포 개체에 대한 포인터가 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. SemaphoreObject.Semaphore 요소는 이 개체에 대한 포인터를 포함합니다. 커널 모드 클라이언트에서만 사용할 수 있습니다. |
| KSEVENTF_DPC | 커널 DPC 구조체에 대한 포인터가 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. Dpc.Dpc 요소에는 DPC에 대한 포인터가 포함되어 있습니다. 커널 모드 클라이언트에서만 사용할 수 있습니다. |
| KSEVENTF_WORKITEM | 커널 작업 항목 구조에 대한 포인터가 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. WorkItem.WorkQueueItem에는 작업 항목에 대한 포인터가 포함되어 있습니다. 커널 모드 클라이언트에서만 사용할 수 있습니다. |
| KSEVENTF_KSWORKITEM | 커널 스트리밍 작업 항목 구조에 대한 포인터가 전달되고 있음을 나타냅니다. KSEVENTDATA입니다. KsWorkItem.WorkQueueItem은 작업 항목에 대한 포인터를 포함하며 이전에 등록된 커널 스트리밍 작업 항목에 큐에 대기합니다. 커널 모드 클라이언트에서만 사용할 수 있습니다. |
EventHandle
EventHandle.Event
KSEVENT_EVENT_HANDLE 플래그가 설정된 경우 동기화 이벤트에 대한 핸들을 포함합니다.
EventHandle.Reserved
예약되고 0으로 설정됩니다.
SemaphoreHandle
SemaphoreHandle.Semaphore
KSEVENT_SEMAPHORE_HANDLE 플래그가 설정된 경우 세마포에 대한 핸들을 포함합니다.
SemaphoreHandle.Reserved
예약되고 0으로 설정됩니다.
SemaphoreHandle.Adjustment
세마포가 해제될 때의 조정을 포함합니다.
EventObject
EventObject.Event
EventObject.Increment
EventObject.Reserved
SemaphoreObject
SemaphoreObject.Semaphore
SemaphoreObject.Increment
SemaphoreObject.Adjustment
Dpc
Dpc.Dpc
Dpc.ReferenceCount
Dpc.Reserved
WorkItem
WorkItem.WorkQueueItem
WorkItem.WorkQueueType
WorkItem.Reserved
KsWorkItem
KsWorkItem.WorkQueueItem
KsWorkItem.KsWorkerObject
KsWorkItem.Reserved
Alignment
Alignment.Unused
사용되지 않습니다.
Alignment.Alignment
AVStream에서 내부용으로 예약됩니다. 미니 드라이버는 이 멤버를 조작하면 안 됩니다.
설명
자세한 내용은 KS 이벤트를 참조하세요.
요구 사항
| 헤더 | ks.h(Ks.h 포함) |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기