D3DDDI_LOCKASYNCFLAGS 구조체(d3dumddi.h)
D3DDDI_LOCKASYNCFLAGS 구조체는 리소스를 잠그는 방법을 식별합니다.
구문
typedef struct _D3DDDI_LOCKASYNCFLAGS {
union {
struct {
UINT NoOverwrite : 1;
UINT Discard : 1;
UINT RangeValid : 1;
UINT AreaValid : 1;
UINT BoxValid : 1;
UINT NoExistingReferences : 1;
UINT NotifyOnly : 1;
UINT Reserved : 25;
};
UINT Value;
};
} D3DDDI_LOCKASYNCFLAGS;
멤버
NoOverwrite
잠긴 리소스에 데이터를 추가할 수 있지만 리소스의 기존 데이터를 수정할 수 없는지 여부를 지정하는 UINT 값입니다. 이 멤버는 Microsoft Direct3D 꼭짓점 버퍼 잠금에서만 사용됩니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.
Discard
잠긴 리소스 전체를 수정할지 여부를 지정하는 UINT 값입니다. 이 값을 설정하면 기존 콘텐츠를 삭제할 수 있으므로 콘텐츠에 예비 처리가 필요하지 않습니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000002)의 두 번째 비트를 설정하는 것과 같습니다.
RangeValid
잠긴 리소스가 선형인지 여부를 지정하는 UINT 값입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000004)의 세 번째 비트를 설정하는 것과 같습니다.
AreaValid
잠긴 리소스가 표면인지 여부를 지정하는 UINT 값입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000008)의 네 번째 비트를 설정하는 것과 같습니다.
BoxValid
잠긴 리소스가 볼륨인지 여부를 지정하는 UINT 값입니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000010)의 다섯 번째 비트를 설정하는 것과 같습니다.
NoExistingReferences
Microsoft Direct3D 런타임에 잠글 리소스에 대한 대기 중인 참조가 있는지 여부를 지정하는 UINT 값입니다. NoExistingReferences가 설정된 경우 드라이버는 리소스에 대한 내부적으로 큐에 대기된 참조를 사용할 수 없음을 결정합니다. 그런 다음 드라이버가 pfnLockCb 함수를 호출하여 잠금 취소 작업을 수행할 때 드라이버는 D3DDDICB_LOCK 구조체의 NoExistingReferences 비트 필드 플래그를 설정할 수 있습니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000020)의 여섯 번째 비트를 설정하는 것과 같습니다.
NotifyOnly
잠금 호출이 알림 전용인지 여부를 지정하는 UINT 값입니다. Direct3D 런타임은 런타임 할당 시스템 메모리 표면을 잠급니다. 이 경우 런타임은 드라이버가 D3DDDIARG_LOCKASYNC 구조체의 pSurfData 멤버에서 반환하는 포인터를 무시합니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000040)의 일곱 번째 비트를 설정하는 것과 같습니다.
Reserved
이 멤버는 예약되어 있으며 0으로 설정해야 합니다. 이 멤버를 0으로 설정하는 것은 32비트 Value 멤버의 나머지 25비트(0xFFFFFF80)를 0으로 설정하는 것과 같습니다.
Value
리소스를 잠그는 방법을 식별하는 하나의 32비트 값을 보유할 수 있는 D3DDDI_LOCKASYNCFLAGS 포함된 공용 구조체의 멤버입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
머리글 | d3dumddi.h(D3dumddi.h 포함) |