1
新しいVistaのAPIのドキュメントがPowerEnumerate機能は、電源設定、スキームの設定、および豊富な情報を列挙するために使用することができることを述べていない、最後の2つのパラメータバッファおよびたBufferSizeは何の構造/データ、何APIによってバッファに返されるデータに、構造やデータのレイアウト/形式がどのように使用されているかは不明です。PowerEnumerate関数の戻り
新しいVistaのAPIのドキュメントがPowerEnumerate機能は、電源設定、スキームの設定、および豊富な情報を列挙するために使用することができることを述べていない、最後の2つのパラメータバッファおよびたBufferSizeは何の構造/データ、何APIによってバッファに返されるデータに、構造やデータのレイアウト/形式がどのように使用されているかは不明です。PowerEnumerate関数の戻り
出力バッファはGUIDです。このguidを使用して、Power *関数(ツリーを再帰的に歩く、クエリ設定の名前と値など)を追加呼び出しすることができます。次のコードは、現在の電源方式でディスクの電源設定からいくつかの設定の名前を列挙例えば
:あなたが手順を見ることができるように
GUID *scheme; if(ERROR_SUCCESS == PowerGetActiveScheme(NULL, &scheme)) { GUID buffer; DWORD bufferSize = sizeof(buffer); for(int index = 0; ; index++) { if(ERROR_SUCCESS == PowerEnumerate( NULL, scheme, &GUID_DISK_SUBGROUP, ACCESS_INDIVIDUAL_SETTING, index, (UCHAR*)&buffer, &bufferSize)) { UCHAR displayBuffer[1024]; DWORD displayBufferSize = sizeof(displayBuffer); if(ERROR_SUCCESS == PowerReadFriendlyName( NULL, scheme, &GUID_DISK_SUBGROUP, &buffer, displayBuffer, &displayBufferSize)) { wprintf(L"%s\n", (wchar_t*)displayBuffer); } } } }
は以下のとおりです。
出力:
Turn off hard disk after Hard disk burst ignore time
がうまくいけば、これはあなたが正しい方向に向け得ることができます。
これは、堅牢性の上に小さなサイズと楽観的なバッファサイズを優先する生産品質のコードではありません。
マン、+1これは私が今までMSDNで見てきた醜いAPIドキュメントなければならないので。私は私の人生のために多分、時計でそれを調べて、それが文字列またはGUIDまたは何かかどうしよう除いて、そのバッファを使用する方法を見つけることができません。 –