다음을 통해 공유


IFunctionDiscovery::AddInstance 메서드(functiondiscoveryapi.h)

[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]

함수 instance 만들거나 수정합니다.

구문

HRESULT AddInstance(
  [in]  SystemVisibilityFlags enumSystemVisibility,
  [in]  const WCHAR           *pszCategory,
  [in]  const WCHAR           *pszSubCategory,
  [in]  const WCHAR           *pszCategoryIdentity,
  [out] IFunctionInstance     **ppIFunctionInstance
);

매개 변수

[in] enumSystemVisibility

생성된 함수 instance 시스템 전체에 표시되는지 아니면 현재 사용자에게만 표시되는지 여부를 지정하는 SystemVisibilityFlags 값입니다.

참고 instance 함수는 enumSystemVisibility 값에 관계없이 HKEY_LOCAL_MACHINE 저장됩니다. 사용자에게 함수 instance 추가하려면 관리자 액세스 권한이 있어야 합니다.
 

[in] pszCategory

만든 함수 instance 범주입니다. 범주 정의를 참조하세요.

[in] pszSubCategory

만든 함수의 하위 범주가 instance. 하위 범주 정의를 참조하세요. 이 문자열의 최대 길이는 MAX_PATH.

[in] pszCategoryIdentity

공급자 instance 식별자 문자열입니다. 이 문자열은 GetProviderInstanceID에서 반환됩니다.

[out] ppIFunctionInstance

함수 instance 수신하는 IFunctionInstance 인터페이스 포인터에 대한 포인터입니다.

반환 값

가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드/값 Description
S_OK
메서드가 완료되었습니다.
E_INVALIDARG
enumSystemVisibility, pszCategory 또는 pszCategoryIdentity 값이 잘못되었습니다.
E_OUTOFMEMORY
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다.
E_ACCESSDENIED
사용자에게 요청된 작업을 수행할 수 있는 액세스 권한이 부족합니다.
E_FAIL
공급자는 AddInstance 메서드를 사용하여 함수 인스턴스를 직접 추가하는 것을 지원하지 않습니다.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
pszCategory 또는 pszSubCategory 값을 알 수 없습니다.
STRSAFE_E_INVALID_PARAMETER
잘못된 매개 변수가 지정되었습니다. 이 오류는 pszSubCategory 문자열의 길이가 MAX_PATH 초과할 때 반환됩니다.

설명

이 메서드는 지정된 범주 및 하위 범주에 대한 instance 새 함수를 일시적으로 만듭니다. 범주를 구현하는 공급자는 IFunctionDiscoveryProviderFactory::CreateInstance 메서드를 사용하여 새로 만든 함수 instance 연결된 메타데이터를 유지합니다.

연결된 속성 저장소에 값이 없는 경우 instance 함수가 레지스트리에 기록되지 않습니다. IFunctionInstance::OpenPropertyStore 메서드를 사용하여 속성 저장소 값을 검사.

지정된 범주 및 하위 범주에 대한 함수 instance 이미 있는 경우 기존 레지스트리 항목을 덮어씁니다. AddInstance 메서드는 S_OK 반환합니다. 함수 검색 변경 알림 프로세스는 enumQueryUpdateActionQUA_CHANGE 설정된 호출 애플리케이션의 IFunctionDiscoveryNotification::OnUpdate 메서드를 호출합니다.

참고IFunctionDiscoveryNotification::OnUpdate 메서드는 현재 공급자에서 지원되지 않습니다.
 
instance 새 함수가 시스템 전체에서 표시될 수 있는지 아니면 사용자에게만 표시될 수 있는지 여부는 공급자에 따라 달라집니다. 레지스트리 공급자는 처음에 시스템 전체의 표시 유형에 instance 기본 함수를 설정합니다.

레지스트리 공급자(관리자 또는 Power User 액세스)를 사용하여 함수 인스턴스를 추가하거나 제거하려면 HKEY_LOCAL_MACHINE\SYSTEM 레지스트리 키를 변경할 수 있는 액세스 권한이 필요합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 functiondiscoveryapi.h
DLL FunDisc.dll

추가 정보

IFunctionDiscovery