다음을 통해 공유


SetupScanFileQueueA 함수(setupapi.h)

[이 함수는 요구 사항 섹션에 표시된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. SetupAPI는 더 이상 애플리케이션 설치에 사용되지 않아야 합니다. 대신 Windows Installer를 사용하여 애플리케이션 설치 관리자를 개발합니다. SetupAPI는 디바이스 드라이버를 설치하는 데 계속 사용됩니다.]

SetupScanFileQueue 함수는 설치 파일 큐를 검사하여 복사 목록의 각 노드에서 작업을 수행합니다. 작업은 플래그 집합으로 지정됩니다. 이 함수는 큐가 커밋되기 전이나 후에 호출할 수 있습니다.

구문

WINSETUPAPI BOOL SetupScanFileQueueA(
  [in]  HSPFILEQ            FileQueue,
  [in]  DWORD               Flags,
  [in]  HWND                Window,
  [in]  PSP_FILE_CALLBACK_A CallbackRoutine,
  [in]  PVOID               CallbackContext,
  [out] PDWORD              Result
);

매개 변수

[in] FileQueue

복사 목록을 검사하거나 반복할 설치 파일 큐에 대한 핸들입니다.

[in] Flags

결합할 플래그를 사용하여 파일 큐 검색 작업을 제어합니다. SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX 또는 SPQ_SCAN_FILE_VALIDITY 지정해야 합니다.

플래그 의미
SPQ_SCAN_FILE_PRESENCE
복사 큐의 대상 파일이 이미 대상에 있습니다.
SPQ_SCAN_FILE_VALIDITY
복사 큐의 대상 파일은 유효한 서명이 있는 대상에 이미 있습니다. Windows 2000 이상 버전에서 사용할 수 있습니다.
SPQ_SCAN_USE_CALLBACK
큐의 각 노드에 대한 콜백 루틴입니다. 콜백 루틴이 0이 아닌 값을 반환하면 큐 처리가 중지되고 SetupScanFileQueue 가 0을 반환합니다. SPFILENOTIFY_QUEUESCAN 알림 코드를 실행하고 대상 경로에 대한 포인터를 Param1로 전달합니다.
SPQ_SCAN_USE_CALLBACKEX
큐의 각 노드에 대한 콜백 루틴입니다. 콜백 루틴이 0이 아닌 값을 반환하면 큐 처리가 중지되고 SetupScanFileQueue 가 0을 반환합니다. SPFILENOTIFY_QUEUESCAN_EX 알림을 실행하고 FILEPATHS 구조체에 대한 포인터를 Param1로 전달합니다. 또한 SPQ_SCAN_USE_CALLBACKEX 파일에 유효한 서명이 있는지 확인합니다. Windows 2000부터 사용할 수 있습니다. Windows XP에서만 이 플래그를 SPQ_SCAN_FILE_PRESENCE 결합하여 서명 확인을 끌 수 있습니다.
SPQ_SCAN_INFORM_USER
큐의 모든 파일이 유효한 서명에 대한 검사 전달할 때 지정된 플래그입니다. SetupScanFileQueue 는 작업에 대상에 이미 있는 파일이 필요하다는 것을 사용자에게 알릴 수 있습니다. SPQ_SCAN_FILE_PRESENCE 또는 SPQ_SCAN_FILE_VALIDITY 지정하지 않으면 이 플래그는 무시됩니다. 이 플래그는 SPQ_SCAN_PRUNE_COPY_QUEUE 또는 SPQ_SCAN_PRUNE_DELREN 사용할 수 없습니다.
SPQ_SCAN_PRUNE_COPY_QUEUE
SPQ_SCAN_FILE_PRESENCE 결합하면 복사 큐에서 현재 항목이 제거됩니다. SPQ_SCAN_FILE_VALIDITY 결합하면 복사 큐에서 서명된 항목을 제거합니다. Windows 2000부터 사용할 수 있습니다. Windows XP에서만 삭제 큐 또는 이름 바꾸기 큐에 지정된 파일은 SPQ_SCAN_PRUNE_DELREN 지정하지 않는 한 정리되지 않습니다.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Windows XP부터 사용할 수 있습니다. SPFILENOTIFY_QUEUESCAN_SIGNERINFO 알림을 실행하고 FILEPATHS_SIGNERINFO 구조에 대한 포인터를 Param1로 전달합니다. 각 파일에서 유효한 서명을 확인하고 콜백 함수를 통해 서명 정보를 보고합니다.
SPQ_SCAN_PRUNE_DELREN
SPQ_SCAN_FILE_PRESENCE 또는 SPQ_SCAN_FILE_VALIDITY 결합하면 복사 큐에도 있는 삭제 또는 이름 바꾸기 큐의 항목이 제거됩니다. SPQ_SCAN_PRUNE_COPY_QUEUE 함께 사용하면 복사 큐에서 제거된 파일을 삭제 또는 이름 바꾸기 큐에 없는 파일로 제한합니다. Windows XP부터 사용할 수 있습니다.

[in] Window

표시되는 대화 상자를 소유하기 위한 창에 대한 선택적 핸들입니다. Flags 매개 변수에 SPQ_SCAN_FILE_PRESENCE 포함되어 있지 않거나 Flags에 SPQ_SCAN_INFORM_USER 포함되어 있지 않은 경우에는 이 매개 변수가 사용되지 않습니다.

[in] CallbackRoutine

복사 큐의 각 노드에서 호출할 FileCallback 콜백 함수에 대한 선택적 포인터입니다. 콜백 함수에 전달된 알림 코드가 SPFILENOTIFY_QUEUESCAN. Flags에 SPQ_SCAN_USE_CALLBACK 포함된 경우 이 매개 변수가 필요합니다.

참고CallbackRoutine에서 지정한 콜백 루틴을 제공해야 합니다. 기본 큐 콜백 루틴은 SetupScanFileQueue를 지원하지 않습니다.
 

[in] CallbackContext

CallbackRoutine이 가리키는 콜백 루틴에 전달된 호출자 정의 데이터를 포함하는 컨텍스트에 대한 선택적 포인터입니다.

[out] Result

스캔 작업의 결과를 수신하는 변수에 대한 포인터입니다.

반환 값

큐의 모든 노드가 처리된 경우 함수는 0이 아닌 값을 반환합니다.

SPQ_SCAN_USE_CALLBACK 플래그를 설정한 경우 Result 의 값은 0입니다. CallbackRoutine에서 지정한 콜백 루틴은 알림 SPFILENOTIFY_QUEUESCAN 전송됩니다. CallbackRoutine.Param1 은 대상 경로 정보를 포함하는 배열에 대한 포인터를 지정합니다. 포인터가 부호 없는 정수로 캐스팅되었으며 콜백 루틴이 정보에 액세스하려면 먼저 MAX_PATH 요소의 TCHAR 배열로 다시 캐스팅해야 합니다. CallbackRoutine.Param2 는 현재 큐 노드가 사용 중이고 시스템을 다시 시작할 때까지 복사할 수 없는 경우 SPQ_DELAYED_COPY 설정됩니다. 그렇지 않으면 CallbackRoutine.Param2 는 값 0을 사용합니다.

SPQ_SCAN_USE_CALLBACK 설정되지 않은 경우 결과는 다음 표와 같이 큐가 현재 상태 또는 유효성 검사 전달했는지 여부를 나타냅니다.

반환 코드 설명
0
큐가 검사 실패했거나 검사 전달했지만 SPQ_SCAN_INFORM_USER 지정되어 사용자가 파일의 새 복사본을 원합니다.
1
큐가 검사 전달했으며 SPQ_SCAN_INFORM_USER 지정된 경우 사용자가 복사가 필요하지 않다고 표시했습니다. 복사 큐가 비어 있고 큐 삭제 또는 이름 바꾸기에 요소가 없으므로 호출자가 큐 커밋을 건너뛸 수 있습니다.
2
큐가 검사 전달했으며 SPQ_SCAN_INFORM_USER 지정된 경우 사용자가 복사가 필요하지 않다고 표시했습니다. 복사 큐는 비어 있지만 큐 삭제 또는 이름 바꾸기에 요소가 있으므로 호출자는 큐 커밋을 건너뛸 수 없습니다.
 

오류가 발생하거나 콜백 함수가 0이 아닌 값을 반환하면 함수가 0을 반환합니다. Result가 0이 아닌 경우 큐 처리를 중지한 콜백 함수에서 반환되는 값입니다. Result가 0이면 GetLastError를 호출하여 확장 오류 정보를 검색할 수 있습니다.

설명

참고

setupapi.h 헤더는 SETUPScanFileQueue를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 setupapi.h
라이브러리 Setupapi.lib
DLL Setupapi.dll

추가 정보

FileCallback

함수

개요

SetupCommitFileQueue

SetupDefaultQueueCallback