IPort::GetDeviceProperty 方法 (portcls.h)
GetDeviceProperty 方法提供裝置屬性的簡化存取,這些屬性包含在 隨插即用 裝置的登錄中。
語法
NTSTATUS GetDeviceProperty(
DEVICE_REGISTRY_PROPERTY DeviceProperty,
ULONG BufferLength,
PVOID PropertyBuffer,
PULONG ResultLength
);
參數
DeviceProperty
識別呼叫端所要求的特定裝置屬性。 此參數的有效值與針對IoGetDeviceProperty呼叫的DeviceProperty參數所定義的值相同。
BufferLength
指定緩衝區的長度,以位元組為單位來接收要求的資訊。
PropertyBuffer
屬性緩衝區的指標。 此參數指向呼叫端配置的緩衝區,該方法會將要求的屬性資訊寫入其中。 緩衝區必須夠大,才能包含 BufferLength 中指定的位元元組數目。
ResultLength
傳回數據的長度輸出指標。 這個參數指向呼叫端配置的 ULONG 變數,該方法會將計數寫入其中,以指定實際寫入 PropertyBuffer 緩衝區的位元元組數目。 不過,如果緩衝區太小而無法包含資訊,方法會改為輸出所需的緩衝區大小。
傳回值
如果呼叫成功,這個方法會傳回NTSTATUS,其中包含STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。 如果呼叫端所提供的屬性緩衝區太小,方法會傳回STATUS_BUFFER_TOO_SMALL,並在 ReturnLength 中輸出所需的大小。
備註
這個方法會擷取音訊配接器的裝置屬性。 其運作方式類似於PcGetDeviceProperty函式,不同之處在於它會自動擷取音頻配接器的裝置屬性,而不需要裝置對象明確指定目標裝置。
規格需求
需求 | 值 |
---|---|
標頭 | portcls.h |
IRQL | PASSIVE_LEVEL |