MMCFreeNotifyHandle 関数 (mmc.h)
MMCFreeNotifyHandle 関数は、プロパティ シートによって行われた MMCPropertyChangeNotify 呼び出しに応答して、MMC によってスナップインに送信されたMMCN_PROPERTY_CHANGE通知メッセージへのハンドルを解放するために、スナップインによって呼び出されます。
構文
HRESULT MMCFreeNotifyHandle(
[in] LONG_PTR lNotifyHandle
);
パラメーター
[in] lNotifyHandle
IExtendPropertySheet2::CreatePropertyPages 呼び出し中にコンソールによって提供されるハンドルを指定する値。
戻り値
このコールバック関数は、これらの値のいずれかを返すことができます。
注釈
通知のハンドルは、 IExtendPropertySheet2::CreatePropertyPages メソッドの呼び出しによってスナップインに渡されます。 スナップインがこのメソッドから成功コード (S_OK、S_FALSE) を返す場合、スナップインは MMCFreeNotifyHandle を呼び出す必要があります。 スナップインからエラー コードが返された場合、MMC はすぐにハンドルを解放します。
スナップインは、スナップインに渡された後に MMC によってハンドルが使用されないため、いつでもハンドルを解放できます。 スナップインは MMCFreeNotifyHandle を 1 回だけ呼び出す必要があり、解放後に MMCPropertyChangeNotify 呼び出しでハンドルを使用することはできません。
スナップインは、IExtendPropertySheet2::CreatePropertyPages メソッドが呼び出された場合にのみ MMCFreeNotifyHandle を呼び出す必要があることに注意してください。 スナップインで IPropertySheetCallback を使用してプロパティ ページを追加し、NULL の最初のパラメーターを指定して IPropertySheetProvider::AddPrimaryPages を呼び出す場合、MMC は IExtendPropertySheet2::CreatePropertyPages を呼び出しません。 この方法で AddPrimaryPages を呼び出すと、ページが既に追加されていることを MMC に通知するため、スナップインの IExtendPropertySheet2::CreatePropertyPages メソッドを呼び出す必要はありません。 詳細については、「 ウィザード ページの追加: 実装の詳細」を参照してください。
次の一覧には、スナップインが MMCFreeNotifyHandle を呼び出すことができる状況を示すシナリオが含まれています。
- IExtendPropertySheet2::CreatePropertyPages では、スナップインはプロパティ ページを追加しません。 CreatePropertyPages がエラー結果を返さない場合、スナップインは MMCFreeNotifyHandle を呼び出してから返すことができます。 それ以外の場合、MMC はハンドルを解放します。
- IExtendPropertySheet2::CreatePropertyPages では、スナップインはプロパティ ページを追加しますが、ハンドルをページに渡しません。 ここでも、CreatePropertyPages がエラー結果を返さない場合、スナップインは MMCFreeNotifyHandle を呼び出してからを返すことができます。
- IExtendPropertySheet2::CreatePropertyPages では、スナップインによってプロパティ ページが追加され、ハンドルもページに渡されます。 ただし、プロパティ ページでは MMCPropertyChangeNotify は呼び出されません。 この場合、スナップインは、プロパティ ページのデストラクターで MMCFreeNotifyHandle を呼び出すか、CreatePropertyPages から (エラー結果なしで) 返すことができます。
- IExtendPropertySheet2::CreatePropertyPages では、スナップインによってプロパティ ページが追加され、ハンドルもページに渡されます。 プロパティ ページは MMCPropertyChangeNotify を呼び出します。 この場合、スナップインはプロパティ ページのデストラクターで MMCFreeNotifyHandle を呼び出す必要があります。 スナップインのMMCN_PROPERTY_CHANGE通知ハンドラーで MMCFreeNotifyHandle を呼び出すことは推奨されないことに注意してください。これは、複数のページが通知を送信する場合や、同じページが複数の通知を送信する可能性があるためです (ユーザーが [適用] ボタンをクリックするたびに 1 つずつ)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | mmc.h |