[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 값입니다.
[in] pszCategory
만든 함수 instance 범주입니다. 범주 정의를 참조하세요.
[in] pszSubCategory
만든 함수의 하위 범주가 instance. 하위 범주 정의를 참조하세요. 이 문자열의 최대 길이는 MAX_PATH.
[in] pszCategoryIdentity
공급자 instance 식별자 문자열입니다. 이 문자열은 GetProviderInstanceID에서 반환됩니다.
[out] ppIFunctionInstance
함수 instance 수신하는 IFunctionInstance 인터페이스 포인터에 대한 포인터입니다.
반환 값
가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.
| 반환 코드/값 | Description |
|---|---|
|
메서드가 완료되었습니다. |
|
enumSystemVisibility, pszCategory 또는 pszCategoryIdentity 값이 잘못되었습니다. |
|
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다. |
|
사용자에게 요청된 작업을 수행할 수 있는 액세스 권한이 부족합니다. |
|
공급자는 AddInstance 메서드를 사용하여 함수 인스턴스를 직접 추가하는 것을 지원하지 않습니다. |
|
pszCategory 또는 pszSubCategory 값을 알 수 없습니다. |
|
잘못된 매개 변수가 지정되었습니다. 이 오류는 pszSubCategory 문자열의 길이가 MAX_PATH 초과할 때 반환됩니다. |
설명
이 메서드는 지정된 범주 및 하위 범주에 대한 instance 새 함수를 일시적으로 만듭니다. 범주를 구현하는 공급자는 IFunctionDiscoveryProviderFactory::CreateInstance 메서드를 사용하여 새로 만든 함수 instance 연결된 메타데이터를 유지합니다.
연결된 속성 저장소에 값이 없는 경우 instance 함수가 레지스트리에 기록되지 않습니다. IFunctionInstance::OpenPropertyStore 메서드를 사용하여 속성 저장소 값을 검사.
지정된 범주 및 하위 범주에 대한 함수 instance 이미 있는 경우 기존 레지스트리 항목을 덮어씁니다. AddInstance 메서드는 S_OK 반환합니다. 함수 검색 변경 알림 프로세스는 enumQueryUpdateAction이 QUA_CHANGE 설정된 호출 애플리케이션의 IFunctionDiscoveryNotification::OnUpdate 메서드를 호출합니다.
레지스트리 공급자(관리자 또는 Power User 액세스)를 사용하여 함수 인스턴스를 추가하거나 제거하려면 HKEY_LOCAL_MACHINE\SYSTEM 레지스트리 키를 변경할 수 있는 액세스 권한이 필요합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
| 대상 플랫폼 | Windows |
| 헤더 | functiondiscoveryapi.h |
| DLL | FunDisc.dll |