다음을 통해 공유


__uuidof 연산자

Microsoft 전용

식에 연결된 GUID를 검색합니다.

구문

__uuidof ( expression )

설명

expression은 형식 이름, 포인터, 참조 또는 해당 형식의 배열, 이러한 형식에 특화된 템플릿 또는 이러한 형식의 변수가 될 수 있습니다. 컴파일러에서 인수를 사용하여 연결된 GUID를 찾을 수 있으면 해당 인수는 유효합니다.

특징은 0 또는 NULL이 인수로 제공된다는 점입니다. 이 경우 __uuidof는 0으로 구성된 GUID를 반환합니다.

이 키워드를 사용하여 연결된 GUID를 다음으로 추출합니다.

  • uuid 확장 특성에 의한 개체입니다.

  • module 특성으로 만들어진 라이브러리 블록입니다.

참고 항목

디버그 빌드에서 __uuidof는 항상 동적으로(런타임으로) 개체를 초기화합니다. 릴리스 빌드에서 __uuidof는 정적으로(컴파일 시) 개체를 초기화할 수 있습니다.

이전 버전과의 호환성을 위해 _uuidof__uuidof의 동의어입니다. 단 컴파일러 옵션 /Za(언어 확장 사용 안 함)가 지정된 경우는 예외입니다.

예시

ole32.lib를 사용하여 컴파일된 다음 코드는 module 특성을 사용하여 만든 라이브러리 블록의 uuid를 표시합니다.

// expre_uuidof.cpp
// compile with: ole32.lib
#include "stdio.h"
#include "windows.h"

[emitidl];
[module(name="MyLib")];
[export]
struct stuff {
   int i;
};

int main() {
   LPOLESTR lpolestr;
   StringFromCLSID(__uuidof(MyLib), &lpolestr);
   wprintf_s(L"%s", lpolestr);
   CoTaskMemFree(lpolestr);
}

설명

라이브러리 이름이 더 이상 범위에 포함되지 않는 경우 __uuidof 대신 __LIBID_를 사용할 수 있습니다. 예시:

StringFromCLSID(__LIBID_, &lpolestr);

Microsoft 전용 종료

참고 항목

단항 연산자가 있는 식
키워드