다음을 통해 공유


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호출하여 데이터를 보낼 때까지 디바이스에서 개체가 만들어지지 않습니다.>커밋. 진행 중인 데이터 전송을 중단하려면 ppData ->되돌리기를 호출할 수 있습니다. 호출자는 이 인터페이스가 완료되면 이 인터페이스를 해제해야 합니다. 기본 개체는 IStreamIPortableDeviceDataStream모두 확장합니다.

[in, out] pdwOptimalWriteBufferSize

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

[in, out] ppszCookie

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

반환 값

이 메서드는 HRESULT반환합니다. 가능한 값은 다음 표에 있는 값을 포함하지만 제한되지는 않습니다.

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

발언

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

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

Commit 호출하여 개체를 만든 후 IPortableDeviceDataStream대한 ppDataQueryInterface 호출한 다음, IPortableDeviceDataStream::GetObjectID 호출하여 새로 만든 개체의 ID를 가져옵니다.

예제

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

요구 사항

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

참고 항목

IPortableDeviceContent 인터페이스

IPortableDeviceDataStream 인터페이스

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