IsValidDevmode 함수

IsValidDevmode 함수는 DEVMODE 구조체의 내용이 유효한지 확인합니다.

구문

BOOL IsValidDevmode(
  _In_ PDEVMODE pDevmode,
       size_t   DevmodeSize
);

매개 변수

pDevmode [in]

유효성을 검사할 DEVMODE 에 대한 포인터입니다.

DevmodeSize

입력 바이트 버퍼의 크기(바이트)입니다.

반환 값

DEVMODE가 구조적으로 유효한 경우 TRUE입니다. 사소한 오류가 발견되면 함수는 오류를 수정하고 TRUE를 반환 합니다.

FALSE입니다. DEVMODE 에 하나 이상의 심각한 구조적 문제가 있는 경우입니다. 예를 들어 dmSize 멤버가 잘못 정렬되었거나 너무 작은 버퍼를 지정합니다. 또한 pDevmodeNULL이면 FALSE입니다.

설명

DEVMODE의 프라이빗 프린터 드라이버 필드가 선택되지 않고 공용 필드만 검사됩니다.

호출자는 입력 버퍼 크기가 적어도 큰 경우에만 DevmodeSize에 dmSize+dmDriverExtra를 사용해야 합니다. DEVMODE는 일반적으로 신뢰할 수 없는 데이터이므로 dmSizedmDriverExtra 오프셋의 입력 버퍼에 있는 값도 신뢰할 수 없습니다.

이 함수는 Least-Privileged LUA(사용자 계정) 컨텍스트에서 실행 가능합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Winspool.h
라이브러리
Winspool.lib
DLL
Winspool.drv
유니코드 및 ANSI 이름
IsValidDevmodeW (유니코드) 및 IsValidDevmodeA (ANSI)

추가 정보

인쇄

인쇄 스풀러 API 함수

Devmode