MFLockSharedWorkQueue 함수(mfapi.h)
공유 작업 큐를 가져오고 잠가줍니다.
구문
HRESULT MFLockSharedWorkQueue(
[in] PCWSTR wszClass,
[in] LONG BasePriority,
[in, out] DWORD *pdwTaskId,
[out] DWORD *pID
);
매개 변수
[in] wszClass
MMCSS 작업의 이름입니다.
[in] BasePriority
작업 큐 스레드의 기본 우선 순위입니다.
일반 우선 순위 큐(wszClass="")를 사용하는 경우 값 0을 전달해야 합니다.
[in, out] pdwTaskId
MMCSS 작업 식별자입니다. 입력에서 기존 MCCSS 작업 그룹 ID 를 지정하거나 값 0을 사용하여 새 작업 그룹을 만듭니다. 일반 우선 순위 큐(wszClass="")를 사용하는 경우 NULL 을 전달해야 합니다. 출력에서 는 실제 작업 그룹 ID를 받습니다.
[out] pID
새 작업 큐에 대한 식별자를 받습니다. 작업 항목을 큐에 대기할 때 이 식별자를 사용합니다.
반환 값
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
다중 스레드 작업 큐는 스레드 풀을 사용하여 작업 항목을 디스패치합니다. 스레드를 사용할 수 있게 될 때마다 큐에서 다음 작업 항목을 큐에서 제거합니다. 작업 항목은 첫 번째 순서로 큐에서 제외되지만 작업 항목은 직렬화되지 않습니다. 즉, 작업 큐는 다음 작업 항목을 시작하기 전에 작업 항목이 완료되기를 기다리지 않습니다.
단일 프로세스 내에서 Microsoft Media Foundation 플랫폼은 각 MMCSS(멀티미디어 클래스 스케줄러 서비스) 작업에 대해 최대 하나의 다중 스레드 큐를 만듭니다. MFLockSharedWorkQueue 함수는 일치하는 작업 큐가 이미 있는지 확인합니다. 그렇지 않은 경우 함수는 새 작업 큐를 만들고 MMCSS에 작업 큐를 등록합니다. 함수는 MMCSS 작업 식별자(pdwTaskId) 및 pID(작업 큐 식별자)를 반환합니다. 작업 항목을 큐에 추가하려면 작업 큐 식별자를 다음 함수에 전달합니다.
MFLockSharedWorkQueue 함수도 큐를 잠근다. 프로세스가 종료되기 전에 MFUnlockWorkQueue 를 호출하여 작업 큐의 잠금을 해제합니다.일반 우선 순위 큐(wszClass="")를 사용하는 경우 NULL을 pdwTaskId 에 전달해야 하며 값 0은 BasePriority로 전달되어야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfapi.h |
라이브러리 | Mfplat.lib |
DLL | Mfplat.dll |