Exemple d’interface pour les unités d’extension UVC
Important
Le contenu et l’exemple de code de cette rubrique sont obsolètes et actuellement non pris en charge. Il se peut que cela ne fonctionne pas avec la chaîne d’outils de développement de pilotes actuelle.
Cette rubrique contient le code d’un exemple interface.idl que vous pouvez utiliser pour prendre en charge les unités d’extension.
// IExtensionUnit interface
import "unknwn.idl";
[
object,
local,
uuid(yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy),
pointer_default(unique)
]
interface IExtensionUnit : IUnknown
{
HRESULT get_InfoSize(
[out] ULONG *pulSize);
HRESULT get_Info(
[in] ULONG ulSize,
[in, out, size_is(ulSize)] BYTE pInfo[]);
HRESULT get_PropertySize(
[in] ULONG PropertyId,
[out] ULONG *pulSize);
HRESULT get_Property(
[in] ULONG PropertyId,
[in] ULONG ulSize,
[in, out, size_is(ulSize)] BYTE pValue[]);
HRESULT put_Property(
[in] ULONG PropertyId,
[in] ULONG ulSize,
[in, out, size_is(ulSize)] BYTE pValue[]);
HRESULT get_PropertyRange(
[in] ULONG PropertyId,
[in] ULONG ulSize,
[in, out, size_is(ulSize)] BYTE pMin[],
[in, out, size_is(ulSize)] BYTE pMax[],
[in, out, size_is(ulSize)] BYTE pSteppingDelta[],
[in, out, size_is(ulSize)] BYTE pDefault[]);
};