다음을 통해 공유


IID_PPV_ARGS 매크로(combaseapi.h)

사용된 인터페이스 포인터의 형식에 따라 요청된 인터페이스의 IID 값을 자동으로 제공하여 인터페이스 포인터를 검색하는 데 사용됩니다. 이렇게 하면 컴파일 시간에 전달된 값의 형식을 확인하여 일반적인 코딩 오류가 발생하지 않습니다.

구문

void IID_PPV_ARGS(
   ppType
);

매개 변수

ppType

요청되는 개체의 형식을 결정하는 데 T 형식을 사용하는 인터페이스 포인터의 주소입니다. 매크로는 이 매개 변수를 통해 인터페이스 포인터를 반환합니다.

반환 값

없음

설명

인터페이스 포인터(특히 QueryInterfaceCoCreateInstance)를 검색하는 메서드의 일반적인 구문에는 다음 두 가지 매개 변수가 포함됩니다.

  • 검색할 인터페이스의 IID를 지정하는 일반적으로 REFIID 형식의 [in] 매개 변수입니다.
  • 인터페이스 포인터를 수신하기 위한 일반적으로 void**형식의 [out] 매개 변수입니다.
이 매크로는 인터페이스 포인터의 형식에 따라 IID를 계산하므로 IID 및 인터페이스 포인터 형식이 일치하지 않는 코딩 오류를 방지합니다. Windows 개발자는 항상 별도의 IID 및 인터페이스 포인터 매개 변수가 필요한 메서드와 함께 이 매크로를 사용해야 합니다.

Windows 7은 이 매크로를 퍼블릭 헤더에 처음 포함하지만 프로젝트 헤더 또는 소스 코드에서 수동으로 정의하여 이전 시스템에서 사용할 수 있습니다.

다음 예제에서는 IID_PPV_ARGS 사용하여 IPropertyStore를 사용하여 메모리 속성 저장소 개체를 만드는 방법을 보여줍니다.

IPropertyStore *pPropertyStore;

CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 combaseapi.h