IPortableDeviceContent::CreateObjectWithPropertiesAndData 메서드(portabledeviceapi.h)

CreateObjectWithPropertiesAndData 메서드는 디바이스의 속성과 데이터를 모두 사용하여 개체를 만듭니다.

구문

HRESULT CreateObjectWithPropertiesAndData(
            IPortableDeviceValues *pValues,
  [out]     IStream               **ppData,
  [in, out] DWORD                 *pdwOptimalWriteBufferSize,
  [in, out] LPWSTR                *ppszCookie
);

매개 변수

pValues

개체에 할당할 속성의 IPortableDeviceValues 컬렉션입니다. 개체에 대한 필수 및 선택적 속성 목록은 개체에 대한 요구 사항을 참조하세요.

[out] ppData

애플리케이션이 디바이스에 개체 데이터를 보내는 데 사용하는 IStream 인터페이스에 대한 포인터를 수신하는 변수의 주소입니다. 애플리케이션이 ppData-Commit>을 호출하여 데이터를 보낼 때까지 개체가 디바이스에 만들어지지 않습니다. 진행 중인 데이터 전송을 중단하려면 ppData ->Revert를 호출할 수 있습니다. 호출자는 이 인터페이스가 완료되면 이 인터페이스를 해제해야 합니다. 기본 개체는 IStreamIPortableDeviceDataStream을 모두 확장합니다.

[in, out] pdwOptimalWriteBufferSize

데이터를 ppData에 쓸 때 사용할 애플리케이션의 최적 버퍼 크기를 지정하는 선택적 DWORD 포인터입니다. 애플리케이션은 TRUE 를 지정하여 이를 무시할 수 있습니다.

[in, out] ppszCookie

애플리케이션의 IPortableDeviceEventCallback 구현에서 이 만들기 요청을 식별하는 데 사용되는 null로 끝나는 선택적 문자열 ID입니다(구현된 경우). 디바이스가 개체 만들기를 마치면 이 식별자를 콜백 함수로 보냅니다. 이 식별자를 사용하면 애플리케이션이 CreateObjectWithPropertiesOnly라는 스레드와 다른 스레드에서 개체 생성을 모니터링할 수 있습니다. SDK는 이 메모리를 할당하고 호출자는 CoTaskMemFree를 사용하여 해제해야 합니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
E_POINTER
필요한 인수 중 하나 이상이 NULL 포인터였습니다.

설명

일부 개체는 다른 개체에 대한 포인터 컬렉션일 뿐인 폴더와 같은 속성 컬렉션일 뿐이며, 다른 개체는 모든 속성과 실제 음악 비트를 포함하는 오디오 파일과 같은 속성과 데이터입니다. 이 메서드는 속성과 데이터가 모두 필요한 개체를 만드는 데 사용됩니다. 속성 전용 개체를 만들려면 CreateObjectWithPropertiesOnly를 호출합니다.

애플리케이션이 검색된 IStreamppData에서 Commit을 호출할 때까지 개체가 만들어지지 않으므로 Commit이 호출될 때까지 개체에는 ID가 없습니다. 커밋 은 동기식이므로 해당 메서드가 성공적으로 반환되면 개체가 디바이스에 존재합니다.

Commit을 호출하여 개체를 만든 후 ppData for IPortableDeviceDataStream에서 QueryInterface를 호출한 다음, IPortableDeviceDataStream::GetObjectID를 호출하여 새로 만든 개체의 ID를 가져옵니다.

예제

이 메서드를 사용하는 방법의 예는 디바이스에 이미지 또는 음악 파일 전송을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 portabledeviceapi.h
라이브러리 PortableDeviceGUIDs.lib

추가 정보

IPortableDeviceContent 인터페이스

IPortableDeviceDataStream 인터페이스

이미지 또는 음악 파일을 디바이스로 전송