다음을 통해 공유


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

파일 작업을 제어하는 플래그입니다. 하나 이상의 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: 이동이 성공했고 ppvItemppvResources 는 모두 유효한 개체를 가리킵니다.
  • COPYENGINE_S_USER_IGNORED: 대상 항목이 이미 있고 덮어쓰지 않았습니다. ppvItemppvResources에서 가리키는 값은 NULL입니다. 호출자가 복사 및 삭제 작업으로 이동을 구현하는 경우 호출자는 원본 항목을 삭제하여 이동을 완료해야 합니다.

설명

이 메서드는 복사 또는 이동 작업의 대상 폴더를 나타내는 Shell 항목 개체를 만드는 데 사용할 수 있습니다. ITransferSource 인터페이스는 IShellItem의 개체를 대상으로 실제로 이동하는 메서드를 제공합니다.

처리기가 발생할 수 있는 오류에 대해 콜백할 수 있도록 다른 ITransferDestination 메서드를 호출하기 전에 ITransferDestination::Advise를 호출합니다. 설정되지 않은 경우 처리기는 피드백을 사용할 수 없다는 표시로 간주하고 "기본" 작업을 수행해야 합니다.

Objbase.h에 정의된 IID_PPV_ARGS 매크로를 사용하여 riidResourcesppvResources 매개 변수를 패키지하는 것이 좋습니다. 이 매크로는 ppvResources의 값이 가리키는 인터페이스를 기반으로 올바른 IID를 제공하므로 코딩 오류가 발생할 가능성이 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)