다음을 통해 공유


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

참고 항목

미디어 파운데이션 함수

작업 큐 및 스레딩 개선 사항

작업 큐