ITransferDestination::CreateItem 메서드(shobjidl_core.h)
지정된 파일을 만듭니다.
구문
HRESULT CreateItem(
[in] LPCWSTR pszName,
[in] DWORD dwAttributes,
[in] ULONGLONG ullSize,
[in] TRANSFER_SOURCE_FLAGS flags,
[out] REFIID riidItem,
[out] void **ppvItem,
[in] REFIID riidResources,
[out] void **ppvResources
);
매개 변수
[in] pszName
형식: LPCWSTR
현재 디렉터리를 기준으로 파일 이름을 포함하는 null로 끝나는 버퍼에 대한 포인터입니다.
[in] dwAttributes
형식:DWORD
BY_HANDLE_FILE_INFORMATION 구조에 정의된 하나 이상의 FILE_ATTRIBUTE 플래그입니다. 가장 중요한 값은 폴더를 만들어야 했음을 나타내는 FILE_ATTRIBUTE_DIRECTORY.
[in] ullSize
형식: ULONGLONG
만들 파일의 크기(바이트)입니다. 크기를 알 수 없는 경우 이 값은 0일 수 있습니다.
[in] flags
파일 작업을 제어하는 플래그입니다. 하나 이상의 TRANSFER_SOURCE_FLAGS 플래그입니다.
[out] riidItem
형식: REFIID
ppvItem을 통해 검색할 인터페이스의 IID에 대한 참조로, 일반적으로 IID_IShellItem 또는 해당 인터페이스에서 파생되는 다른 인터페이스입니다.
[out] ppvItem
형식: void**
이 메서드가 반환되면 는 riidItem에서 요청된 인터페이스 포인터를 포함합니다. 일반적으로 IShellItem 또는 파생 인터페이스입니다.
[in] riidResources
형식: REFIID
ppvResources를 통해 검색할 인터페이스의 IID(일반적으로 IID_IShellItemResources 또는 해당 인터페이스에서 파생되는 다른 인터페이스)에 대한 참조입니다.
[out] ppvResources
형식: void**
이 메서드가 반환되면 는 riidResources에서 요청된 인터페이스 포인터를 포함합니다. 일반적으로 IShellItemResources 또는 파생 인터페이스입니다.
반환 값
형식: HRESULT
성공하면 성공 코드를 반환하고, 그렇지 않으면 오류 값을 반환합니다. 성공 코드는 다음과 같습니다.
- S_OK: 이동이 성공했고 ppvItem 및 ppvResources 는 모두 유효한 개체를 가리킵니다.
- COPYENGINE_S_USER_IGNORED: 대상 항목이 이미 있고 덮어쓰지 않았습니다. ppvItem 및 ppvResources에서 가리키는 값은 NULL입니다. 호출자가 복사 및 삭제 작업으로 이동을 구현하는 경우 호출자는 원본 항목을 삭제하여 이동을 완료해야 합니다.
설명
이 메서드는 복사 또는 이동 작업의 대상 폴더를 나타내는 Shell 항목 개체를 만드는 데 사용할 수 있습니다. ITransferSource 인터페이스는 IShellItem의 개체를 대상으로 실제로 이동하는 메서드를 제공합니다.
처리기가 발생할 수 있는 오류에 대해 콜백할 수 있도록 다른 ITransferDestination 메서드를 호출하기 전에 ITransferDestination::Advise를 호출합니다. 설정되지 않은 경우 처리기는 피드백을 사용할 수 없다는 표시로 간주하고 "기본" 작업을 수행해야 합니다.
Objbase.h에 정의된 IID_PPV_ARGS 매크로를 사용하여 riidResources 및 ppvResources 매개 변수를 패키지하는 것이 좋습니다. 이 매크로는 ppvResources의 값이 가리키는 인터페이스를 기반으로 올바른 IID를 제공하므로 코딩 오류가 발생할 가능성이 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |