DOCUMENTPROPERTYHEADER 구조체(winddiui.h)
DOCUMENTPROPERTYHEADER 구조체는 프린터 인터페이스 DLL의 DrvDocumentPropertySheets 함수에 대한 입력 매개 변수로 사용됩니다.
통사론
typedef struct _DOCUMENTPROPERTYHEADER {
WORD cbSize;
WORD Reserved;
HANDLE hPrinter;
LPTSTR pszPrinterName;
PDEVMODE pdmIn;
PDEVMODE pdmOut;
DWORD cbOut;
DWORD fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;
회원
cbSize
DOCUMENTPROPERTYHEADER 구조체의 크기(바이트)입니다.
Reserved
예약. 0이어야 합니다.
hPrinter
프린터 핸들입니다.
pszPrinterName
프린터 이름을 나타내는 NULL로 끝나는 문자열에 대한 포인터입니다.
pdmIn
DrvDocumentPropertySheets 함수가 프린터 인터페이스 DLL의 내부 DEVMODEW 구조로 복사해야 하는 입력 DEVMODEW 구조체에 대한 포인터입니다(해당하는 경우 속성 시트가 표시되기 전). fModeDM_IN_BUFFER 또는 DM_MODIFY 설정되지 않은 경우 이 포인터는 NULL .
pdmOut
DrvDocumentPropertySheets 함수가 프린터 인터페이스 DLL의 내부 DEVMODEW 내용을 복사해야 하는 출력 DEVMODEW 구조체에 대한 포인터입니다(해당하는 경우 속성 시트가 표시된 후). fModeDM_OUT_BUFFER 또는 DM_COPY 설정되지 않은 경우 이 포인터는 NULL .
cbOut
pdmOut을 버퍼의 크기(바이트)를 지정합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
fMode
다음 표에 나열된 비트 플래그 중 하나 이상입니다. 플래그는 Wingdi.h 및 Winddiui.h 헤더 파일에 정의됩니다.
기 | 정의 |
---|---|
플래그가 설정되지 않았습니다(즉, fMode 0임). | DrvDocumentPropertySheets 함수는 cbOut 멤버에서 모든 public 및 private 멤버를 포함하여 DEVMODEW 구조의 크기를 바이트 단위로 반환해야 합니다. |
DM_ADVANCED | 설정된 경우 DrvDocumentPropertySheets 함수는 고급 문서 페이지만 만들어야 합니다. 설정하지 않으면 DrvDocumentPropertySheets 함수는 PageSetup 및 고급 문서 페이지를 모두 만들어야 합니다. (COMPROPSHEETUI 구조체의 pDlgPage 멤버에 대한 설명을 참조하세요.) |
DM_IN_BUFFER 또는 DM_MODIFY | 호출자는 pdmInDEVMODEW 구조 포인터를 제공했으며, DrvDocumentPropertySheets 함수는 제공된 DEVMODEW의 내용을 반영하도록 내부 DEVMODEW 구조를 업데이트해야 합니다. |
DM_IN_PROMPT 또는 DM_PROMPT | DrvDocumentPropertySheets 함수는 해당 속성 시트 페이지를 만들어야 합니다. (이 플래그는 DrvDocumentPropertySheets 함수의 pPSUIInfo 매개 변수가 NULL 경우 설정되지 않습니다. |
DM_NOPERMISSION | 프린터 인터페이스 DLL의 _CPSUICALLBACK형식화된 콜백은 사용자가 표시된 속성 시트 페이지에서 속성을 수정할 수 없도록 허용해서는 안 됩니다. |
DM_OUT_BUFFER 또는 DM_COPY | 호출자는 pdmOutDEVMODEW 구조 포인터를 제공했으며 DrvDocumentPropertySheets 함수는 내부 DEVMODEW 구조체의 내용을 제공된 DEVMODEW로 복사해야 합니다. |
DM_PROMPT_NON_MODAL | DrvDocumentPropertySheets 함수는 속성 시트 페이지를 만들고 모달이 아닌 UI를 시작해야 합니다. (이 플래그는 DrvDocumentPropertySheets 함수의 pPSUIInfo 매개 변수가 NULL 경우 설정되지 않습니다. |
DM_USER_DEFAULT | 사용되지 않습니다. |
DM_OUT_DEFAULT 또는 DM_UPDATE | 사용되지 않습니다. |
발언
cbOut 멤버의 입력 값이 반드시 pdmOut 멤버가 가리키는 버퍼의 크기와 같지는 않습니다. 예를 들어 DrvDocumentPropertySheets 함수의 pPSUInfo 매개 변수가 NULL 경우와 DOCUMENTPROPERTYHEADER 구조체의 fMode 멤버가 0인 경우 또는 동일한 구조의 pdmOut 멤버가 NULL 드라이버가 cbOut 멤버에 프린터의 DEVMODEW 구조체(공용 및 개인 구조체 멤버 포함)의 총 크기를 작성해야 합니다. 이 경우 드라이버는 cbOut 멤버를 "쓰기 전용" 멤버로 처리해야 합니다. 따라서 drvDocumentPropertySheets 함수가 호출된 경우 드라이버는 pdmOut 멤버가 가리키는 버퍼의 크기로 cbOut 멤버를 사용하지 않아야 합니다. WDK(Windows 드라이버 키트)와 함께 제공되는 "플로터" 샘플은 cbOut 멤버를 올바르게 사용하는 방법을 보여 줍니다.
요구 사항
요구 | 값 |
---|---|
헤더 | winddiui.h(Winddiui.h 포함) |