GenerateCopyFilePaths 함수(winsplp.h)
Point 및 Print DLL의 GenerateCopyFilePaths 함수는 인쇄 대기열에 연결된 파일을 인쇄 클라이언트에 복사할 때 인쇄 스풀러에서 사용하는 원본 및 대상 경로를 수정하는 데 사용됩니다.
구문
DWORD GenerateCopyFilePaths(
[in] LPCWSTR pszPrinterName,
[in] LPCWSTR pszDirectory,
[in] LPBYTE pSplClientInfo,
[in] DWORD dwLevel,
[in, out] LPWSTR pszSourceDir,
[in, out] LPDWORD pcchSourceDirSize,
[in, out] LPWSTR pszTargetDir,
[in, out] LPDWORD pcchTargetDirSize,
[in] DWORD dwFlags
);
매개 변수
[in] pszPrinterName
인쇄 큐의 이름을 나타내는 문자열에 대한 호출자 제공 포인터입니다.
[in] pszDirectory
레지스트리에서 서버의 디렉터리 항목에 제공된 값을 나타내는 문자열에 대한 호출자 제공 포인터입니다. 자세한 내용은 프린터 설치 중 지원 지점 및 인쇄를 참조하세요.
[in] pSplClientInfo
SPLCLIENT_INFO_1 구조체에 대한 호출자 제공 포인터입니다.
[in] dwLevel
pSplClientInfo가 가리키는 구조체의 수준 번호를 나타내는 호출자 제공 값입니다. 1이어야 합니다.
[in, out] pszSourceDir
입력의 경우 는 파일을 복사할 전체 서버 디렉터리 경로(서버 이름 포함)를 나타내는 문자열에 대한 호출자 제공 포인터를 받습니다.
출력의 경우 함수는 이 문자열을 수정할 수 있습니다.
[in, out] pcchSourceDirSize
pszSourceDir에서 가리키는 버퍼의 길이를 포함하는 호출자 제공 주소입니다. (문자열 길이가 아닌 버퍼 길이입니다.)
[in, out] pszTargetDir
입력의 경우 는 파일을 복사할 클라이언트 디렉터리 경로를 나타내는 문자열에 대한 호출자 제공 포인터를 받습니다. 다음 규칙이 적용됩니다.
- 서버에서 함수가 호출되면 이 경로는 PRINT$를 기준으로 합니다.
- 클라이언트에서 함수가 호출되면 문자열에 전체 경로가 포함됩니다.
[in, out] pcchTargetDirSize
pszTargetDir이 가리키는 버퍼의 길이를 포함하는 호출자 제공 주소입니다. (문자열 길이가 아닌 버퍼 길이입니다.)
[in] dwFlags
호출자가 제공한 플래그입니다. 다음 중 하나일 수 있습니다.
COPYFILE_FLAG_CLIENT_SPOOLER
클라이언트의 스풀러에서 함수가 호출되고 있음을 나타냅니다.
COPYFILE_FLAG_SERVER_SPOOLER
서버의 스풀러에서 함수를 호출하고 있음을 나타냅니다.
반환 값
작업이 성공하면 함수는 ERROR_SUCCESS 반환해야 합니다. 그렇지 않으면 winerror.h에 정의된 오류 코드를 반환해야 합니다.
설명
모든 Point 및 Print DLL 은 인쇄 스풀러에서 호출하는 GenerateCopyFilePaths 함수를 내보내야 합니다. 그 목적은 인쇄 스풀러가 서버에서 클라이언트로 큐에 연결된 인쇄 파일을 복사하기 전에 Point 및 Print DLL이 원본 또는 대상 디렉터리 경로 또는 둘 다를 수정하도록 허용하는 것입니다. (클라이언트가 인쇄 서버에 연결할 때 파일이 복사됩니다. 점 및 인쇄 연결을 만드는 단계의 전체 설명은 지원 지점 및 인쇄를 참조하세요.)
Point 및 Print DLL은 서버와 클라이언트 모두에서 실행됩니다. GenerateCopyFilePaths 함수는 dwFlags 인수를 검사 실행 위치를 결정해야 합니다.
일반적으로 이 함수는 다른 버전의 운영 체제가 클라이언트와 서버에서 실행되는 경우 호환성을 제공하는 데 사용됩니다. 예를 들어 서버에서 실행할 때 해당 운영 체제가 클라이언트보다 최신이라는 SPLCLIENT_INFO_1 구조를 읽는 경우 클라이언트의 이전 OS와 호환되도록 원본 및 대상 경로를 수정할 수 있습니다. 반면, 함수가 클라이언트의 운영 체제가 클라이언트보다 최신이라고 판단하는 경우 서버에서 아무 작업도 수행하지 않고 필요한 경우 클라이언트에서 실행할 때 수정을 수행해야 합니다.
pszSourceDir 및 pszTargetDir 매개 변수에 대한 인수는 현재 원본 및 대상 디렉터리 경로를 나타내는 문자열이 포함된 버퍼를 가리킵니다. 이러한 문자열 중 하나를 수정해야 하는 경우 함수는 제공된 버퍼에서 수정해야 합니다. 허용되는 최대 문자열 길이는 pcchSourceDirSize 및 pcchTargetDirSize 인수로 가리깁니다.
원본 또는 대상 디렉터리를 수정할 필요가 없는 경우 함수는 ERROR_SUCCESS 반환해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | winsplp.h(Winsplp.h 포함) |
라이브러리 | Mscms.lib |
DLL | Mscms.dll |