IWDFRemoteInterfaceInitialize::RetrieveSymbolicLink メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDFの概要」を参照してください。
RetrieveSymbolicLink メソッドは、オペレーティング システムが デバイス インターフェイスに割り当てたシンボリック リンク名取得します。
構文
HRESULT RetrieveSymbolicLink(
[out, optional] PWSTR pSymbolicLink,
[in, out] DWORD *pdwSymbolicLinkLengthInChars
);
パラメーター
[out, optional] pSymbolicLink
シンボリック リンク名を表す -terminated Unicode 文字列 null を受け取るバッファーへのポインター。 必要なバッファー サイズを取得するには、このポインター NULL に設定します。
[in, out] pdwSymbolicLinkLengthInChars
呼び出し元によって割り当てられた場所へのポインター。 入力時に、この場所には、pSymbolicLink が指 バッファーの呼び出し元指定の長さが含まれている必要があります。 出力時に、ロケーションはシンボリック・リンク名の長さ (NULL 終了文字を含む) を文字単位で受け取ります。
戻り値
RetrieveSymbolicLink は、操作が成功した場合にS_OKを返します。 それ以外の場合、メソッドは次の値を返す可能性があります。
リターン コード | 形容 |
---|---|
|
pSymbolicLink が指 バッファーが小さすぎます。 この場合、フレームワークは pdwSymbolicLinkLengthInChars が指 場所に必要なバッファー サイズを格納します。 |
このメソッドは、Winerror.h に含まれる他の値の 1 つを返す場合があります。
備考
シンボリック リンク名には、追加された円記号 () 文字の後にインスタンス固有の参照文字列を含めることができます。
通常、ドライバーは次のように RetrieveSymbolicLink を 2 回呼び出す必要があります。
- pSymbolicLink パラメーターを NULL を し、RetrieveSymbolicLink 呼び出します。 pdwSymbolicLinkLengthInChars ポイントする場所は、シンボリック リンク名に含まれる文字数を受け取ります。
- シンボリック リンク名を受け取るのに十分な大きさのバッファーを割り当てます。
- RetrieveSymbolicLink をもう一度呼び出し、pSymbolicLink パラメーターを割り当てたバッファーのアドレスに設定します。
例
次のコード例は、ドライバーの IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival コールバック関数がデバイス インターフェイスのシンボリック リンク名の長さを決定し、名前のバッファーを割り当ててから名前を取得する方法を示しています。
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize *FxRemoteInterfaceInit
)
{
HRESULT hr;
INT BufferSize;
hr= FxRemoteInterfaceInit->RetrieveSymbolicLink(NULL,
&BufferSize);
if (FAILED(hr)) goto Error;
hr = FxDriver->CreateWdfMemory(BufferSize,
NULL,
FxRemoteInterface,
&FxSymLinkBuffer);
if (FAILED(hr)) goto Error;
hr= FxRemoteInterfaceInit->RetrieveSymbolicLink(FxSymLinkBuffer->GetDataBuffer(NULL),
&BufferSize);
if (FAILED(hr)) goto Error;
...
Error:
...
}
必要条件
要件 | 価値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
ターゲット プラットフォーム の | デスクトップ |
UMDF の最小バージョン を する | 1.9 |
ヘッダー | wudfddi.h (Wudfddi.h を含む) |
DLL | WUDFx.dll |
関連項目
IWDFRemoteInterfaceInitialize の